#include <sdlmm_eventhandler.h>
Public Methods | |
virtual | ~EventHandler () |
virtual bool | HandleEvent (const SDL_Event &event) |
Catch-all event handler. More... | |
Keyboard Events | |
virtual bool | HandleKeyboardEvent (const SDL_keysym &keysym, bool pressed) |
Keyboard event callback. More... | |
virtual bool | HandleKeyPressEvent (const SDL_keysym &keysym) |
Keyboard press event callback. More... | |
virtual bool | HandleKeyReleaseEvent (const SDL_keysym &keysym) |
Keyboard release event callback. More... | |
Mouse Events | |
virtual bool | HandleMouseMotionEvent (Uint8 state, Uint16 x, Uint16 y, Sint16 xrel, Sint16 yrel) |
Mouse motion event callback. More... | |
virtual bool | HandleMouseButtonEvent (Uint8 button, Uint16 x, Uint16 y, bool pressed) |
Mouse button event callback. More... | |
virtual bool | HandleMouseButtonPressEvent (Uint8 button, Uint16 x, Uint16 y) |
Mouse button press event callback. More... | |
virtual bool | HandleMouseButtonReleaseEvent (Uint8 button, Uint16 x, Uint16 y) |
Mouse button release event callback. More... | |
Joystick Events | |
virtual bool | HandleJoyAxisEvent (Uint8 joystick, Uint8 axis, Sint16 value) |
Joystick axis motion event callback. More... | |
virtual bool | HandleJoyButtonEvent (Uint8 joystick, Uint8 button, bool pressed) |
Joystick button event callback. More... | |
virtual bool | HandleJoyButtonPressEvent (Uint8 joystick, Uint8 button) |
Joystick button press event callback. More... | |
virtual bool | HandleJoyButtonReleaseEvent (Uint8 joystick, Uint8 button) |
Joystick button release event callback. More... | |
virtual bool | HandleJoyHatEvent (Uint8 joystick, Uint8 hat, Uint8 value) |
Joystick hat position change event callback. More... | |
virtual bool | HandleJoyBallEvent (Uint8 joystick, Uint8 ball, Sint16 xrel, Sint16 yrel) |
Joystick trackball motion event callback. More... | |
Window / Display Events | |
virtual bool | HandleActiveEvent (bool gain, Uint8 state) |
Application visibility event callback. More... | |
virtual bool | HandleResizeEvent (int w, int h) |
Window resize event callback. More... | |
virtual bool | HandleSysWMEvent () |
Platform-dependent window manager event callback. More... | |
Other Events | |
virtual bool | HandleUserEvent (Uint8 type, int code, void *data1, void *data2) |
virtual bool | HandleQuitEvent () |
Quit requested event callback. More... |
The event handling in SDLmm is rather different to that of SDL in that it uses classes derived from the EventHandler. This allows for clean, type-safe code much closer to the spirit of C++ than the use of a union with a type field. To handle one or more events, you simply build a class derived from this, reimplementing the only functions for the events you need to handle.
Definition at line 35 of file sdlmm_eventhandler.h.
|
Definition at line 37 of file sdlmm_eventhandler.h. |
|
Application visibility event callback. This callback is called when an event of type SDL_ACTIVEEVENT is reported. When the mouse leaves or enters the window area a SDL_APPMOUSEFOCUS type activation event occurs, if the mouse entered the window then gain will be true, otherwise gain will be false. A SDL_APPINPUTFOCUS type activation event occurs when the application loses or gains keyboard focus. This usually occurs when another application is made active. Finally, a SDL_APPACTIVE type event occurs when the application is either minimised/iconified (gain=false) or restored.
Definition at line 404 of file sdlmm_eventhandler.h. |
|
Catch-all event handler. This method is called if none of the event specific callbacks handled event (i.e they returned false).
Definition at line 519 of file sdlmm_eventhandler.h. |
|
Joystick axis motion event callback. This is used when an event of type SDL_JOYAXISMOTION is reported. A SDL_JOYAXISMOTION event occurs when ever a user moves an axis on the joystick.
Definition at line 232 of file sdlmm_eventhandler.h. |
|
Joystick trackball motion event callback. Thyis is used when an event of type SDL_JOYBALLMOTION is reported. A SDL_JOYBALLMOTION event occurs when a user moves a trackball on the joystick. The field joystick is the index of the joystick that reported the event and ball is the index of the trackball (for a more detailed explaination see the Joystick section in the SDL documentation). Trackballs only return relative motion, this is the change in position on the ball since it was last polled (last cycle of the event loop) and it is stored in xrel and yrel.
Definition at line 371 of file sdlmm_eventhandler.h. |
|
Joystick button event callback. This is used when an event of type SDL_JOYBUTTONDOWN or SDL_JOYBUTTONUP is reported. These events occurs when ever a user presses or releases a button on a joystick.
Definition at line 259 of file sdlmm_eventhandler.h. Referenced by HandleJoyButtonPressEvent(), and HandleJoyButtonReleaseEvent().
|
|
Joystick button press event callback. This is used when an event of type SDL_JOYBUTTONDOWN is reported. A SDL_JOYBUTTONDOWN event occurs when ever a user presses a button on a joystick.
Definition at line 285 of file sdlmm_eventhandler.h. |
|
Joystick button release event callback. This is used when an event of type SDL_JOYBUTTONUP is reported. A SDL_JOYBUTTONUP event occurs when ever a user releases a button on a joystick.
Definition at line 310 of file sdlmm_eventhandler.h. |
|
Joystick hat position change event callback. This is used when an event of type SDL_JOYHATMOTION is reported. A SDL_JOYHATMOTION event occurs when ever a user moves a hat on the joystick. The field joystick is the index of the joystick that reported the event and hat is the index of the hat (for a more detailed exlaination see the Joystick section in the SDL documentation). value is the current position of the hat. It is a logically OR'd combination of the following values (whose meanings should be pretty obvious):
Definition at line 346 of file sdlmm_eventhandler.h. |
|
Keyboard press event callback. This callback is used when an event of type SDL_KEYDOWN is reported. A keyboard press event occurs when a key is pressed.
Definition at line 78 of file sdlmm_eventhandler.h. |
|
Keyboard release event callback. This callback is used when an event of type SDL_KEYUP is reported. A keyboard press event occurs when a key is released.
Definition at line 97 of file sdlmm_eventhandler.h. |
|
Keyboard event callback. This callback is used when an event of type SDL_KEYDOWN or SDL_KEYUP is reported. These occur when keys are pressed or released.
Definition at line 57 of file sdlmm_eventhandler.h. Referenced by HandleKeyPressEvent(), and HandleKeyReleaseEvent().
|
|
Mouse button event callback. This is used when an event of type SDL_MOUSEBUTTONDOWN or SDL_MOUSEBUTTONUP is reported. When a mouse button press is detected the number of the button pressed (from 1 to 255, with 1 usually being the left button and 2 the right) is placed into button. The position of the mouse when this event occured is stored in x and y.
Definition at line 157 of file sdlmm_eventhandler.h. Referenced by HandleMouseButtonPressEvent(), and HandleMouseButtonReleaseEvent().
|
|
Mouse button press event callback. This is used when an event of type SDL_MOUSEBUTTONDOWN is reported. When a mouse button press is detected the number of the button pressed (from 1 to 255, with 1 usually being the left button and 2 the right) is placed into button. The position of the mouse when this event occured is stored in x and y.
Definition at line 183 of file sdlmm_eventhandler.h. |
|
Mouse button release event callback. This is used when an event of type SDL_MOUSEBUTTONUP is reported. When a mouse button release is detected the number of the button release (from 1 to 255, with 1 usually being the left button and 2 the right) is placed into button. The position of the mouse when this event occured is stored in x and y.
Definition at line 209 of file sdlmm_eventhandler.h. |
|
Mouse motion event callback. This is used when an event of type SDL_MOUSEMOTION is reported. Simply put, a SDL_MOUSEMOTION type event occurs when a user moves the mouse within the application window or when SDL_WarpMouse is called. Both the absolute (x and y) and relative (xrel and yrel) coordinates are reported along with the current button states (state). The button state can be interpreted using the SDL_BUTTON macro (see GetMouseState()). If the cursor is hidden (Display::HideCursor()) and the input is grabbed (Display::GrabInput(SDL_GRAB_ON)) then the mouse will give relative motion events even when the cursor reaches the edge of the screen. This is currently only implemented on Windows and Linux/Unix-a-likes.
Definition at line 129 of file sdlmm_eventhandler.h. |
|
Quit requested event callback. This is used whan an event of type SDL_QUIT is reported. The SDL_QUIT event is very important. If you filter out or ignore a quit event it is impossible for the user to close the window. On the other hand, if you do accept a quit event, the application window will be closed, and screen updates will still report success, even though the application will no longer be visible.
Definition at line 501 of file sdlmm_eventhandler.h. |
|
Window resize event callback. This is used when an event of type SDL_VIDEORESIZE is reported. When SDL_RESIZABLE is passed as a flag to Display::SetVideoMode() the user is allowed to resize the applications window. When the window is resized an SDL_VIDEORESIZE is reported, with the new window width and height values stored in w and h, respectively. When an SDL_VIDEORESIZE is recieved the window should be resized to the new dimensions using Display::SetVideoMode();
Definition at line 426 of file sdlmm_eventhandler.h. |
|
Platform-dependent window manager event callback. The system window manager event contains a pointer to system-specific information about unknown window manager events. If you enable this event using Event::EventState(), it will be generated whenever unhandled events are received from the window manager. This can be used, for example, to implement cut-and-paste in your application. If you want to obtain system-specific information about the window manager, you can fill the version member of a SDL_SysWMinfo structure (details can be found in SDL_syswm.h, which must be included) using the SDL_VERSION() macro found in SDL_version.h, and pass it to the function:
int SDL_GetWMInfo(SDL_SysWMinfo *info);
Definition at line 453 of file sdlmm_eventhandler.h. |
|
This event is unique - it is never created by SDL but only by the user. The event can be pushed onto the event queue using Event::Push(). The contents of data1 and data2 are completely up to the programmer. The only requirement is that type is a value from SDL_USEREVENT to SDL_NUMEVENTS-1 (inclusive).
Definition at line 478 of file sdlmm_eventhandler.h. |
Documentation automatically generated by written by Dimitri van Heesch. | Project hosted at |