diff options
author | pixel <pixel> | 2004-07-04 11:56:18 +0000 |
---|---|---|
committer | pixel <pixel> | 2004-07-04 11:56:18 +0000 |
commit | 5cc874802b0b8c4462e7e873654e6daa54be00de (patch) | |
tree | d97bfbfe26998b1ee9cf01d830ba446e61094a86 /lib/engine.cc | |
parent | bf452e7f6a3fa0e41964fc8e2c57e1e577cd1682 (diff) |
SOL Demo
Diffstat (limited to 'lib/engine.cc')
-rw-r--r-- | lib/engine.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/engine.cc b/lib/engine.cc index 3a2aaa0..34317b1 100644 --- a/lib/engine.cc +++ b/lib/engine.cc @@ -49,6 +49,21 @@ void mogltk::engine::keyevent::down(SDL_keysym) { printm(M_INFO, "Generic keyevent::down called\n"); } +class keyhandler_t : public mogltk::engine::keyevent { + virtual void down(SDL_keysym keysym) { + if (keysym.sym == SDLK_ESCAPE) + mogltk::engine::quit(); + else if ((keysym.sym == SDLK_RETURN) && (keysym.mod & KMOD_ALT)) + mogltk::engine::base_o->ToggleFullscreen(); + else if (old_handler) + old_handler->down(keysym); + } + virtual void up(SDL_keysym keysym) { + if (old_handler) + old_handler->up(keysym); + } +} basic_keyhandler; + mogltk::engine::mouseevent::mouseevent() { new_handler = 0; old_handler = getmouseevent(); |