treewars/mainevent.h

60 lines
1.9 KiB
C
Raw Normal View History

/*
The core class for event handling - sets up the logic for calling those
handlers as needed via handle_event (which
should be called by the class using us, which is likely a subclass).
the actual handlers are all virtual - please define the ones you need
It is a mystery to me why this class doesn't already exist in SDL...
*/
#ifndef _MAINEVENT_H_
#define _MAINEVENT_H_
#include <SDL/SDL.h>
class MainEvent
{
public:
MainEvent() {}
virtual ~MainEvent() {}
protected:
virtual void handle_event(SDL_Event* event);
virtual void on_input_focus() {}
virtual void on_input_blur() {}
virtual void on_key_down(SDLKey sym, SDLMod mod, Uint16 unicode) {}
virtual void on_key_up(SDLKey sym, SDLMod mod, Uint16 unicode) {}
virtual void on_mouse_focus() {}
virtual void on_mouse_blur() {}
virtual void on_mouse_move(int mX, int mY, int relX, int relY, bool left, bool right, bool middle) {}
virtual void on_mouse_wheel(bool up, bool down) {}
virtual void on_lbutton_down(int mX, int mY) {}
virtual void on_lbutton_up(int mX, int mY) {}
virtual void on_mbutton_down(int mX, int mY) {}
virtual void on_mbutton_up(int mX, int mY) {}
virtual void on_rbutton_down(int mX, int mY) {}
virtual void on_rbutton_up(int mX, int mY) {}
virtual void on_joy_axis(Uint8 which, Uint8 axis, Sint16 value) {}
virtual void on_joy_button_down(Uint8 which, Uint8 button) {}
virtual void on_joy_button_up(Uint8 which, Uint8 button) {}
virtual void on_joy_hat(Uint8 which, Uint8 hat, Uint8 value) {}
virtual void on_joy_ball(Uint8 which, Uint8 ball, Sint16 xrel,
Sint16 yrel) {}
virtual void on_minimize() {}
virtual void on_restore() {}
virtual void on_resize(int w,int h) {}
virtual void on_expose() {}
virtual void on_exit() {}
virtual void on_user(Uint8 type, int code, void* data1, void* data2) {}
};
#endif