CrystalSpace

Public API Reference

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

evdefs.h File Reference

Event system related interfaces. More...

Go to the source code of this file.

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...


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...


Detailed Description

Event system related interfaces.

Definition in file evdefs.h.


Generated for Crystal Space by doxygen 1.2.14