From 90ab05d11d5394c500c58e835603a6ba47d62893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C4=B0nan?= Date: Sun, 23 Oct 2011 21:54:32 +0200 Subject: [PATCH] exit programme when ESC, q or ctrl-c when using sdl --- sdl.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/sdl.c b/sdl.c index 6f44f9a..fbaf41b 100644 --- a/sdl.c +++ b/sdl.c @@ -22,12 +22,40 @@ typedef struct { int quit; } sdl_t; +void handle_events() +{ + SDL_Event event; + while (SDL_PollEvent(&event)) { + switch (event.type) { + case SDL_KEYDOWN: + switch (event.key.keysym.sym) { + case SDLK_q: + exit(0); + break; + case SDLK_ESCAPE: + exit(0); + break; + default: + break; + } + break; + case SDL_QUIT: + exit(0); + break; + default: + break; + } + } + +} + int update_sdl(void *data) { sdl_t *sdl = (sdl_t *)data; while (!sdl->quit) { SDL_Flip(sdl->screen); SDL_Delay(100); + handle_events(); } return 0; }