summaryrefslogtreecommitdiff
path: root/lib/engine.cc
diff options
context:
space:
mode:
authorpixel <pixel>2004-07-04 11:56:18 +0000
committerpixel <pixel>2004-07-04 11:56:18 +0000
commit5cc874802b0b8c4462e7e873654e6daa54be00de (patch)
treed97bfbfe26998b1ee9cf01d830ba446e61094a86 /lib/engine.cc
parentbf452e7f6a3fa0e41964fc8e2c57e1e577cd1682 (diff)
SOL Demo
Diffstat (limited to 'lib/engine.cc')
-rw-r--r--lib/engine.cc15
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();