From 5cc874802b0b8c4462e7e873654e6daa54be00de Mon Sep 17 00:00:00 2001 From: pixel Date: Sun, 4 Jul 2004 11:56:18 +0000 Subject: SOL Demo --- lib/engine.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lib/engine.cc') 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(); -- cgit v1.2.3