diff options
author | pixel <pixel> | 2003-05-20 01:53:24 +0000 |
---|---|---|
committer | pixel <pixel> | 2003-05-20 01:53:24 +0000 |
commit | e0f0cfd81fbec4fc20a591409f1bef67e16d62e7 (patch) | |
tree | 141b2742806249e1746d92b79b392022c95cfb2a /lib/engine.cc | |
parent | e7595adabac15fd3a523327bf8c42655f989f9c2 (diff) |
Bugfixes
Diffstat (limited to 'lib/engine.cc')
-rw-r--r-- | lib/engine.cc | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/engine.cc b/lib/engine.cc index 036aa25..6792706 100644 --- a/lib/engine.cc +++ b/lib/engine.cc @@ -18,8 +18,18 @@ Uint32 mogltk::engine::curticks; mogltk::glbase * mogltk::engine::glbase_o = 0; mogltk::base * mogltk::engine::base_o = 0; +mogltk::engine::keyevent * mogltk::engine::keyevent_h = 0; + #define UPDATERATE 1000 +void mogltk::engine::keyevent::up(SDL_keysym) { + printm(M_INFO, "Generic keyevent::up called\n"); +} + +void mogltk::engine::keyevent::down(SDL_keysym) { + printm(M_INFO, "Generic keyevent::down called\n"); +} + int mogltk::engine::setup() throw(GeneralException) { if (inited) { printm(M_WARNING, _("mogltk::engine::setup() called twice, ignoring second call.\n")); @@ -175,6 +185,13 @@ void mogltk::engine::pollevents() { printm(M_INFO, "SDL keysym: %i - Unicode: %04x = `%c`- modifiers: %04x\n", event.key.keysym.sym, event.key.keysym.unicode, event.key.keysym.unicode, event.key.keysym.mod); if (event.key.keysym.sym == 27) hastoreturn = quitrequest = true; + if (keyevent_h) { + if (event.key.state == SDL_PRESSED) { + keyevent_h->down(event.key.keysym); + } else { + keyevent_h->up(event.key.keysym); + } + } break; case SDL_MOUSEMOTION: printm(M_INFO, "Mouse slept over the screen - (%i, %i)\n", event.motion.x, event.motion.y); @@ -186,6 +203,10 @@ void mogltk::engine::pollevents() { if (cursorvisible) hastoreturn = true; break; + case SDL_MOUSEBUTTONDOWN: + case SDL_MOUSEBUTTONUP: + printm(M_INFO, String("Mouse button %02x ") + (event.button.state == SDL_PRESSED ? "pressed" : "released") + " at (%i, %i)\n", event.button.button, event.button.x, event.button.y); + break; case SDL_QUIT: printm(M_INFO, "Quit requested\n"); hastoreturn = quitrequest = true; @@ -249,3 +270,7 @@ void mogltk::engine::unlockmouse() { locked = 0; } +void mogltk::engine::setkeyevent(keyevent * k) { + printm(M_INFO, "Setting up a new keyevent\n"); + keyevent_h = k; +} |