aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Input/Event.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Input/Event.h')
-rw-r--r--src/libjin/Input/Event.h60
1 files changed, 50 insertions, 10 deletions
diff --git a/src/libjin/Input/Event.h b/src/libjin/Input/Event.h
index 4d7230a..83db070 100644
--- a/src/libjin/Input/Event.h
+++ b/src/libjin/Input/Event.h
@@ -9,22 +9,62 @@ namespace input
{
#if JIN_INPUT_SDL
#include "SDL.h"
- typedef SDL_Event Event;
+ typedef SDL_Event Event;
+ typedef SDL_Keycode Key;
+ typedef SDL_MouseWheelEvent Wheel;
+
+ enum EventType {
+ QUIT = SDL_QUIT,
+ KEYDOWN = SDL_KEYDOWN,
+ KEYUP = SDL_KEYUP,
+ MOUSEMOTION = SDL_MOUSEMOTION,
+ MOUSEBUTTONDOWN = SDL_MOUSEBUTTONDOWN,
+ MOUSEBUTTONUP = SDL_MOUSEBUTTONUP,
+ MOUSEWHEEL = SDL_MOUSEWHEEL
+ };
+
inline int pollEvent(Event* e)
{
return SDL_PollEvent(e);
}
- enum EventType{
- QUIT = SDL_QUIT,
- KEYDOWN = SDL_KEYDOWN ,
- KEYUP = SDL_KEYUP,
- MOUSEMOTION = SDL_MOUSEMOTION,
- MOUSEBUTTONDOWN = SDL_MOUSEBUTTONDOWN,
- MOUSEBUTTONUP = SDL_MOUSEBUTTONUP,
- MOUSEWHEEL = SDL_MOUSEWHEEL
- };
+ inline const char* getKeyName(Key key)
+ {
+ return SDL_GetKeyName(key);
+ }
+
+ inline const char* getButtonName(int button)
+ {
+ switch (button)
+ {
+ case 1: return "left";
+ case 2: return "middle";
+ case 3: return "right";
+ case 4: return "wheelup";
+ case 5: return "wheeldown";
+ default: return "?";
+ }
+ }
+
+/*
+ inline const char* getWheelName(Wheel wheel)
+ {
+ if (wheel.x == -1)
+ return "left";
+ else if (wheel.x == 1)
+ return "right";
+ else if (wheel.y == -1)
+ return "near";
+ else if (wheel.y == 1)
+ return "far";
+ else
+ return "none";
+ }
+*/
+
+
+
#endif // JIN_INPUT_SDL
}
}