CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Event handling


Compounds

class  csBaseEventHandler
 Base implementation of a generic event handler. More...

struct  iEvent
 This interface describes any system event. More...

struct  csEventCommandData
 Command event data in iEvent. More...

struct  iEventCord
 The iEventCord is an interface provided by an event queue to any event handlers wanting to receive some subclasses of events ASAP in a specified priority, bypassing the queue itself. More...

struct  iEventHandler
 This interface describes an entity that can receive events. More...

struct  csEventJoystickData
 Joystick event data in iEvent. More...

struct  csEventKeyData
 Key event data in iEvent. More...

struct  csEventMouseData
 Mouse event data in iEvent. More...

struct  csEventNetworkData
 Network event data in iEvent. More...

struct  iEventOutlet
 The iEventOutlet is the interface to an object that is provided by an event queue to every event plug when it registers itself. More...

struct  iEventPlug
 Event plug interface, also referred as "event source". More...

struct  iEventQueue
 This interface represents a general event queue. More...

struct  iJoystickDriver
 Generic Joystick driver. More...

struct  iKeyboardDriver
 Generic Keyboard Driver. More...

struct  iMouseDriver
 Generic Mouse Driver. More...


Event masks

The event masks can be used by plugins to tell an event queue, via iEventQueue::RegisterListener, which kinds of events they want to receive at their HandleEvent() entry.

If a plugin registers to receive CSMASK_Nothing events it is always called once per frame, so that plugin can do some per-frame processing.

#define CSMASK_Nothing   (1 << csevNothing)
 Event mask: Empty event. More...

#define CSMASK_FrameProcess   CSMASK_Nothing
 The plugin will be called at the start of every frame and at the end of every frame with an csevBroadcast event with the Event.Command.Code equal to cscmdPreProcess, csProcess, cscmdPostProcess, or cscmdFinalProcess. More...

#define CSMASK_KeyDown   (1 << csevKeyDown)
 Key down events. More...

#define CSMASK_KeyUp   (1 << csevKeyUp)
 Key up events. More...

#define CSMASK_MouseMove   (1 << csevMouseMove)
 Mouse move events. More...

#define CSMASK_MouseDown   (1 << csevMouseDown)
 Mouse down events. More...

#define CSMASK_MouseUp   (1 << csevMouseUp)
 Mouse up events. More...

#define CSMASK_MouseClick   (1 << csevMouseClick)
 Mouse click events. More...

#define CSMASK_MouseDoubleClick   (1 << csevMouseDoubleClick)
 Mouse double click events. More...

#define CSMASK_JoystickMove   (1 << csevJoystickMove)
 Joystick movement events. More...

#define CSMASK_JoystickDown   (1 << csevJoystickDown)
 Joystick button down events. More...

#define CSMASK_JoystickUp   (1 << csevJoystickUp)
 Joystick button up events. More...

#define CSMASK_Command   (1 << csevCommand)
 Command message events. More...

#define CSMASK_Broadcast   (1 << csevBroadcast)
 Broadcast message events. More...

#define CSMASK_Network   (1 << csevNetwork)
 Network message events. More...

#define CSMASK_Keyboard   (CSMASK_KeyDown | CSMASK_KeyUp)
 This mask identifies any keyboard event. More...

#define CSMASK_Mouse
 This mask identifies any mouse event. More...

#define CSMASK_Joystick   (CSMASK_JoystickMove | CSMASK_JoystickDown | CSMASK_JoystickUp)
 This mask identifies any joystick event. More...

#define CSMASK_Input   (CSMASK_Keyboard | CSMASK_Mouse | CSMASK_Joystick)
 This mask identifies any input evemt. More...

#define CS_IS_KEYBOARD_EVENT(e)   ((1 << (e).Type) & CSMASK_Keyboard)
 Check if a event is a keyboard event. More...

#define CS_IS_MOUSE_EVENT(e)   ((1 << (e).Type) & CSMASK_Mouse)
 Check if a event is a mouse event. More...

#define CS_IS_JOYSTICK_EVENT(e)   ((1 << (e).Type) & CSMASK_Joystick)
 Check if a event is a joystick event. More...

#define CS_IS_INPUT_EVENT(e)   ((1 << (e).Type) & CSMASK_Input)
 Check if a event is any input event. More...

#define CS_IS_NETWORK_EVENT(e)   ((1 << (e).Type) & CSMASK_Network)
 Check if the event is a network event. More...


Event flags masks

Every event has a `flags' field which describes miscelaneous aspects of the event.

The following constants describes every used bit of the `flags' field.

#define CSEF_BROADCAST   0x00000001
 Event flag: Ignore `true' returned from HandleEvent which says that event has been processed and should not be processed anymore. More...


Modifier key masks

Every input event (keyboard, mouse and joystick) contains a Modifiers field which is a bitfield consisting of any combination of the masks below.

Having one in one of the bits means that the corresponding modifier was pressed at the time when event happened.

#define CSMASK_SHIFT   0x00000001
 "Shift" key mask. More...

#define CSMASK_CTRL   0x00000002
 "Ctrl" key mask. More...

#define CSMASK_ALT   0x00000004
 "Alt" key mask. More...

#define CSMASK_ALLSHIFTS   (CSMASK_SHIFT | CSMASK_CTRL | CSMASK_ALT)
 All shift keys. More...

#define CSMASK_FIRST   0x80000000
 Key is pressed for first time or it is an autorepeat? More...


Control key codes

Not every existing key on any existing platform is supported by Crystal Space.

Instead, we tried to list here all the keys that are common among all platforms on which Crystal Space runs.

#define CSKEY_ESC   27
 ESCape key. More...

#define CSKEY_ENTER   '\n'
 Enter key. More...

#define CSKEY_TAB   '\t'
 Tab key. More...

#define CSKEY_BACKSPACE   '\b'
 Back-space key. More...

#define CSKEY_SPACE   ' '
 Space key. More...

#define CSKEY_UP   1000
 Up arrow key. More...

#define CSKEY_DOWN   1001
 Down arrow key. More...

#define CSKEY_LEFT   1002
 Left arrow key. More...

#define CSKEY_RIGHT   1003
 Right arrow key. More...

#define CSKEY_PGUP   1004
 PageUp key. More...

#define CSKEY_PGDN   1005
 PageDown key. More...

#define CSKEY_HOME   1006
 Home key. More...

#define CSKEY_END   1007
 End key. More...

#define CSKEY_INS   1008
 Insert key. More...

#define CSKEY_DEL   1009
 Delete key. More...

#define CSKEY_CTRL   1010
 Control key. More...

#define CSKEY_ALT   1011
 Alternative shift key. More...

#define CSKEY_SHIFT   1012
 Shift key. More...

#define CSKEY_F1   1013
 Function key F1. More...

#define CSKEY_F2   1014
 Function key F2. More...

#define CSKEY_F3   1015
 Function key F3. More...

#define CSKEY_F4   1016
 Function key F4. More...

#define CSKEY_F5   1017
 Function key F5. More...

#define CSKEY_F6   1018
 Function key F6. More...

#define CSKEY_F7   1019
 Function key F7. More...

#define CSKEY_F8   1020
 Function key F8. More...

#define CSKEY_F9   1021
 Function key F9. More...

#define CSKEY_F10   1022
 Function key F10. More...

#define CSKEY_F11   1023
 Function key F11. More...

#define CSKEY_F12   1024
 Function key F12. More...

#define CSKEY_CENTER   1025
 The "center" key ("5" on numeric keypad). More...

#define CSKEY_PADPLUS   1026
 Numeric keypad '+'. More...

#define CSKEY_PADMINUS   1027
 Numeric keypad '-'. More...

#define CSKEY_PADMULT   1028
 Numeric keypad '*'. More...

#define CSKEY_PADDIV   1029
 Numeric keypad '/'. More...

#define CSKEY_FIRST   1000
 First control key code. More...

#define CSKEY_LAST   1029
 Last control key code. More...


Event class masks

Every event plug should provide information about which event types that may conflict with other event plugs it is able to generate.

The system driver checks it and if several event plugs generates conflicting types events, one of them (the one with lower priority) is disabled.

#define CSEVTYPE_Keyboard   0x00000001
 Keyboard events. More...

#define CSEVTYPE_Mouse   0x00000002
 Mouse events. More...

#define CSEVTYPE_Joystick   0x00000004
 Joystick events. More...


Defines

#define CS_MAX_MOUSE_BUTTONS   10
 Maximal number of mouse buttons supported. More...

#define CS_MAX_JOYSTICK_COUNT   2
 Maximal number of joysticks supported. More...

#define CS_MAX_JOYSTICK_BUTTONS   10
 Maximal number of joystick buttons supported. More...


Enumerations

enum  {
  csevNothing = 0, csevKeyDown, csevKeyUp, csevMouseMove,
  csevMouseDown, csevMouseUp, csevMouseClick, csevMouseDoubleClick,
  csevJoystickMove, csevJoystickDown, csevJoystickUp, csevCommand,
  csevBroadcast, csevNetwork, csevMouseEnter, csevMouseExit,
  csevLostFocus, csevGainFocus, csevGroupOff, csevFrameStart
}
 System Events. More...

enum  {
  cscmdNothing = 0, cscmdQuit, cscmdFocusChanged, cscmdSystemOpen,
  cscmdSystemClose, cscmdContextResize, cscmdContextClose, cscmdCommandLineHelp,
  cscmdPreProcess, cscmdProcess, cscmdPostProcess, cscmdFinalProcess,
  cscmdCanvasHidden, cscmdCanvasExposed
}
 General Command Codes. More...

Overall structure of the basic event flow in Crystal Space

   ......................
   .User application    .
   . +----------------+ .
 +-->+ Event consumer | .
 | . +----------------+ .
 | ......................
 |
 | .....................................
 | .System driver plugin               .
 | .                          +------+ .   +-----+
 | .                       +<-|event +-<<--+event|
 | .   +---------------+   |  |outlet| .   |plug |
 +-----+  event queue  +<--+  +------+ .   +-----+
 | .   +---------------+   |  +------+ .   +-----+
 | .                       +<-|event +-<<--+event|
 | .   +---------------+   |  |outlet| .   |plug |
 +-----+ event cord    +<--|  +------+ .   +-----+
   .   +---------------+   |  +------+ .   +-----+
   .                       +<-|event +-<<--+event|
   .                          |outlet| .   |plug |
   .                          +------+ .   +-----+
   .                            ....   .     ...
   .....................................
 
The events are generated by 'event plugs' which are plugged into 'event outlets'. The event outlets are reponsible for filtering the possibly duplicate messages that are coming from different event plugs (for example two different plugs may both intercept the keyboard and generate duplicate keydown events).

Events are put into the event queue, from where they are sent to applications and plugins. Event cords bypass the queue for specific command event categories and deliver events immediately in a prioritizied chain to specific plugins which request the categories.


Define Documentation

#define CS_IS_INPUT_EVENT      ((1 << (e).Type) & CSMASK_Input)
 

Check if a event is any input event.

Definition at line 157 of file evdefs.h.

#define CS_IS_JOYSTICK_EVENT      ((1 << (e).Type) & CSMASK_Joystick)
 

Check if a event is a joystick event.

Definition at line 155 of file evdefs.h.

#define CS_IS_KEYBOARD_EVENT      ((1 << (e).Type) & CSMASK_Keyboard)
 

Check if a event is a keyboard event.

Definition at line 151 of file evdefs.h.

#define CS_IS_MOUSE_EVENT      ((1 << (e).Type) & CSMASK_Mouse)
 

Check if a event is a mouse event.

Definition at line 153 of file evdefs.h.

#define CS_IS_NETWORK_EVENT      ((1 << (e).Type) & CSMASK_Network)
 

Check if the event is a network event.

Definition at line 159 of file evdefs.h.

#define CS_MAX_JOYSTICK_BUTTONS   10
 

Maximal number of joystick buttons supported.

Definition at line 43 of file iutil/csinput.h.

Referenced by csJoystickDriver::GetLastButton.

#define CS_MAX_JOYSTICK_COUNT   2
 

Maximal number of joysticks supported.

Definition at line 41 of file iutil/csinput.h.

Referenced by csJoystickDriver::GetLastButton.

#define CS_MAX_MOUSE_BUTTONS   10
 

Maximal number of mouse buttons supported.

Definition at line 39 of file iutil/csinput.h.

Referenced by csMouseDriver::GetLastButton.

#define CSEF_BROADCAST   0x00000001
 

Event flag: Ignore `true' returned from HandleEvent which says that event has been processed and should not be processed anymore.

Normally this is set only for csevBroadcast events.

Definition at line 172 of file evdefs.h.

#define CSEVTYPE_Joystick   0x00000004
 

Joystick events.

Definition at line 287 of file evdefs.h.

#define CSEVTYPE_Keyboard   0x00000001
 

Keyboard events.

Definition at line 283 of file evdefs.h.

#define CSEVTYPE_Mouse   0x00000002
 

Mouse events.

Definition at line 285 of file evdefs.h.

#define CSKEY_ALT   1011
 

Alternative shift key.

Definition at line 231 of file evdefs.h.

#define CSKEY_BACKSPACE   '\b'
 

Back-space key.

Definition at line 205 of file evdefs.h.

#define CSKEY_CENTER   1025
 

The "center" key ("5" on numeric keypad).

Definition at line 259 of file evdefs.h.

#define CSKEY_CTRL   1010
 

Control key.

Definition at line 229 of file evdefs.h.

#define CSKEY_DEL   1009
 

Delete key.

Definition at line 227 of file evdefs.h.

#define CSKEY_DOWN   1001
 

Down arrow key.

Definition at line 211 of file evdefs.h.

#define CSKEY_END   1007
 

End key.

Definition at line 223 of file evdefs.h.

#define CSKEY_ENTER   '\n'
 

Enter key.

Definition at line 201 of file evdefs.h.

#define CSKEY_ESC   27
 

ESCape key.

Definition at line 199 of file evdefs.h.

#define CSKEY_F1   1013
 

Function key F1.

Definition at line 235 of file evdefs.h.

#define CSKEY_F10   1022
 

Function key F10.

Definition at line 253 of file evdefs.h.

#define CSKEY_F11   1023
 

Function key F11.

Definition at line 255 of file evdefs.h.

#define CSKEY_F12   1024
 

Function key F12.

Definition at line 257 of file evdefs.h.

#define CSKEY_F2   1014
 

Function key F2.

Definition at line 237 of file evdefs.h.

#define CSKEY_F3   1015
 

Function key F3.

Definition at line 239 of file evdefs.h.

#define CSKEY_F4   1016
 

Function key F4.

Definition at line 241 of file evdefs.h.

#define CSKEY_F5   1017
 

Function key F5.

Definition at line 243 of file evdefs.h.

#define CSKEY_F6   1018
 

Function key F6.

Definition at line 245 of file evdefs.h.

#define CSKEY_F7   1019
 

Function key F7.

Definition at line 247 of file evdefs.h.

#define CSKEY_F8   1020
 

Function key F8.

Definition at line 249 of file evdefs.h.

#define CSKEY_F9   1021
 

Function key F9.

Definition at line 251 of file evdefs.h.

#define CSKEY_FIRST   1000
 

First control key code.

Definition at line 270 of file evdefs.h.

#define CSKEY_HOME   1006
 

Home key.

Definition at line 221 of file evdefs.h.

#define CSKEY_INS   1008
 

Insert key.

Definition at line 225 of file evdefs.h.

#define CSKEY_LAST   1029
 

Last control key code.

Definition at line 272 of file evdefs.h.

#define CSKEY_LEFT   1002
 

Left arrow key.

Definition at line 213 of file evdefs.h.

#define CSKEY_PADDIV   1029
 

Numeric keypad '/'.

Definition at line 267 of file evdefs.h.

#define CSKEY_PADMINUS   1027
 

Numeric keypad '-'.

Definition at line 263 of file evdefs.h.

#define CSKEY_PADMULT   1028
 

Numeric keypad '*'.

Definition at line 265 of file evdefs.h.

#define CSKEY_PADPLUS   1026
 

Numeric keypad '+'.

Definition at line 261 of file evdefs.h.

#define CSKEY_PGDN   1005
 

PageDown key.

Definition at line 219 of file evdefs.h.

#define CSKEY_PGUP   1004
 

PageUp key.

Definition at line 217 of file evdefs.h.

#define CSKEY_RIGHT   1003
 

Right arrow key.

Definition at line 215 of file evdefs.h.

#define CSKEY_SHIFT   1012
 

Shift key.

Definition at line 233 of file evdefs.h.

#define CSKEY_SPACE   ' '
 

Space key.

Definition at line 207 of file evdefs.h.

#define CSKEY_TAB   '\t'
 

Tab key.

Definition at line 203 of file evdefs.h.

#define CSKEY_UP   1000
 

Up arrow key.

Definition at line 209 of file evdefs.h.

#define CSMASK_ALLSHIFTS   (CSMASK_SHIFT | CSMASK_CTRL | CSMASK_ALT)
 

All shift keys.

Definition at line 188 of file evdefs.h.

#define CSMASK_ALT   0x00000004
 

"Alt" key mask.

Definition at line 186 of file evdefs.h.

#define CSMASK_Broadcast   (1 << csevBroadcast)
 

Broadcast message events.

Definition at line 131 of file evdefs.h.

#define CSMASK_Command   (1 << csevCommand)
 

Command message events.

Definition at line 129 of file evdefs.h.

#define CSMASK_CTRL   0x00000002
 

"Ctrl" key mask.

Definition at line 184 of file evdefs.h.

#define CSMASK_FIRST   0x80000000
 

Key is pressed for first time or it is an autorepeat?

Definition at line 190 of file evdefs.h.

#define CSMASK_FrameProcess   CSMASK_Nothing
 

The plugin will be called at the start of every frame and at the end of every frame with an csevBroadcast event with the Event.Command.Code equal to cscmdPreProcess, csProcess, cscmdPostProcess, or cscmdFinalProcess.

Definition at line 107 of file evdefs.h.

#define CSMASK_Input   (CSMASK_Keyboard | CSMASK_Mouse | CSMASK_Joystick)
 

This mask identifies any input evemt.

Definition at line 146 of file evdefs.h.

#define CSMASK_Joystick   (CSMASK_JoystickMove | CSMASK_JoystickDown | CSMASK_JoystickUp)
 

This mask identifies any joystick event.

Definition at line 143 of file evdefs.h.

#define CSMASK_JoystickDown   (1 << csevJoystickDown)
 

Joystick button down events.

Definition at line 125 of file evdefs.h.

#define CSMASK_JoystickMove   (1 << csevJoystickMove)
 

Joystick movement events.

Definition at line 123 of file evdefs.h.

#define CSMASK_JoystickUp   (1 << csevJoystickUp)
 

Joystick button up events.

Definition at line 127 of file evdefs.h.

#define CSMASK_Keyboard   (CSMASK_KeyDown | CSMASK_KeyUp)
 

This mask identifies any keyboard event.

Definition at line 136 of file evdefs.h.

#define CSMASK_KeyDown   (1 << csevKeyDown)
 

Key down events.

Definition at line 109 of file evdefs.h.

#define CSMASK_KeyUp   (1 << csevKeyUp)
 

Key up events.

Definition at line 111 of file evdefs.h.

#define CSMASK_Mouse
 

Value:

This mask identifies any mouse event.

Definition at line 139 of file evdefs.h.

#define CSMASK_MouseClick   (1 << csevMouseClick)
 

Mouse click events.

Definition at line 119 of file evdefs.h.

#define CSMASK_MouseDoubleClick   (1 << csevMouseDoubleClick)
 

Mouse double click events.

Definition at line 121 of file evdefs.h.

#define CSMASK_MouseDown   (1 << csevMouseDown)
 

Mouse down events.

Definition at line 115 of file evdefs.h.

#define CSMASK_MouseMove   (1 << csevMouseMove)
 

Mouse move events.

Definition at line 113 of file evdefs.h.

#define CSMASK_MouseUp   (1 << csevMouseUp)
 

Mouse up events.

Definition at line 117 of file evdefs.h.

#define CSMASK_Network   (1 << csevNetwork)
 

Network message events.

Definition at line 133 of file evdefs.h.

#define CSMASK_Nothing   (1 << csevNothing)
 

Event mask: Empty event.

If a plugin registers to receive this kind of events via iEventQueue::RegisterListener(plugin, CSMASK_Nothing) this has a special meaning: the plugin will be called at the start of every frame and at the end of every frame with an csevBroadcast event with the Event.Command.Code equal to either cscmdPreProcess or cscmdPostProcess.

Definition at line 101 of file evdefs.h.

#define CSMASK_SHIFT   0x00000001
 

"Shift" key mask.

Definition at line 182 of file evdefs.h.


Enumeration Type Documentation

anonymous enum
 

System Events.

Enumeration values:
csevNothing  Nothing happened.
csevKeyDown  A key has been pressed.
csevKeyUp  A key has been released.
csevMouseMove  Mouse has been moved.
csevMouseDown  A mouse button has been pressed.
csevMouseUp  A mouse button has been released.
csevMouseClick  A mouse button has been clicked.
csevMouseDoubleClick  A mouse button has been clicked twice.
csevJoystickMove  A joystick axis has been moved.
csevJoystickDown  A joystick button has been pressed.
csevJoystickUp  A joystick button has been released.
csevCommand  Somebody(-thing) sent a command.
csevBroadcast  Somebody(-thing) sent a broadcast command.
csevNetwork  Something has arrived on network.
csevMouseEnter  The mouse has entered a component.
csevMouseExit  The mouse has exited a component.
csevLostFocus  The component has lost keyboard focus.
csevGainFocus  The component has gained keyboard focus.
csevGroupOff  A component in a group has been selected, everyone else should go to their off state.
csevFrameStart  The frame is about to draw.

Definition at line 40 of file evdefs.h.

anonymous enum
 

General Command Codes.

The list below does not contain all defined command codes; these are only the most general ones. Crystal Space Windowing System has a broad range of predefined commands; look in CSWS header files for more info.

Basically CSWS uses command codes below 0x80000000; user applications should use command codes above this number, for example:

 enum
 {
   cscmdMyCommand1 = 0xdeadf00d,
   cscmdMyCommand2,
   cscmdMyCommand3
   ...
 }
 *
Enumeration values:
cscmdNothing  No command.

Dunno really why it is needed but traditionally 0 stands for nothing.

cscmdQuit  The event below causes system driver to quit the event loop, even if the event loop has been entered multiple times.

The quit condition is never reset thus even if you call Loop again, the system driver will quit immediately. Such broadcasts are posted for irreversible finalization of the application such as when user closes the application window.

cscmdFocusChanged  Application has changed its "focused" status.

This command is posted (or is not posted) by system-dependent driver. This event is generated whenever user application receives/loses focus. Upon this event application may react correspondingly - stop music, hide software mouse cursor and so on. iEnable = true in the event application receives focus and false if it loses focus.

 IN: false -> window lose focus, true -> window got focus
 
cscmdSystemOpen  This event is broadcasted to all event listeners just after all modules have been initialized.
cscmdSystemClose  This event is broadcasted to all event listeners just before modules are about to be shutdown and unloaded (that is, the system is shutting down).
cscmdContextResize  This event is generated when user resizes the application window.

The argument points to the graphics context that has been resized.

 IN: (iGraphics2D *) The context that has been resized
 
cscmdContextClose  This event is sent when a graphics context is being destroyed.

Usually this event is accompanyed by a shutdown but there is one exception: when a dynamic texture is closed (a dynamic texture is a graphics context as well).

 IN: (iGraphics2D *) The context that has been closed
 
cscmdCommandLineHelp  This event is broadcasted when system driver displays the help text for all supported command-line switches.

Upon reception of such event every plugin should display a short help for any of the command-line switches it supports. The general format is:

 <2 spaces><switch - 18 positions><space><switch description>{default value}
   *
The help should be displayed to standard output.
cscmdPreProcess  Broadcasted before cscmdProcess -- on every frame -- as Event.Command.Code of a broadcast event.

Use the event mask CSMASK_FrameProcess to receive this pseudo-event.

cscmdProcess  Broadcasted every frame as Event.Command.Code of a broadcast event.

Use the event mask CSMASK_FrameProcess to receive this pseudo-event.

cscmdPostProcess  Broadcasted after cscmdProcess -- on every frame -- as Event.Command.Code of a broadcast event.

Use the event mask CSMASK_FrameProcess to receive this pseudo-event.

cscmdFinalProcess  Broadcasted after cscmdPostProcess -- on every frame -- as Event.Command.Code of a broadcast event.

Use the event mask CSMASK_FrameProcess to receive this pseudo-event.

cscmdCanvasHidden  Broadcast indicating that the display canvas is not currently visible to the user (such as being iconified).
cscmdCanvasExposed  Broadcast indicating that the display canvas has just become visible (such as being uniconified).

Definition at line 308 of file evdefs.h.


Generated for Crystal Space by doxygen 1.2.14