void dbg( LPSTR lpFormat, ... ) /***********************************************************************/ { LPTR lpArguments; lpArguments = (LPTR)&lpFormat + sizeof(lpFormat); dbgv(lpFormat, lpArguments); }
CHEETAH_EXPORT unsigned int getEventType(void) { /* skip unneeded events */ while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_QUIT: dbg("Quit"); return EVENT_QUIT; case SDL_KEYUP: dbgv("Key up"); return EVENT_KEYUP; case SDL_KEYDOWN: dbgv("Key down"); return EVENT_KEYDOWN; case SDL_MOUSEBUTTONUP: dbgv("Mouse up"); return EVENT_MOUSEUP; case SDL_MOUSEBUTTONDOWN: dbgv("Mouse down"); return EVENT_MOUSEDOWN; case SDL_MOUSEWHEEL: dbgv("Mouse wheel"); return EVENT_MOUSEWHEEL; case SDL_JOYAXISMOTION: case SDL_JOYBALLMOTION: case SDL_JOYHATMOTION: case SDL_JOYBUTTONDOWN: case SDL_JOYBUTTONUP: dbgv("Joystick"); return EVENT_JOY; case SDL_WINDOWEVENT: switch(event.window.event) { int w, h; case SDL_WINDOWEVENT_RESIZED: dbgv("Resize"); w = event.window.data1; h = event.window.data2; if(w < 1) { w = 1; } if(h < 1) { h = 1; } recomputeScreenScale((float)w, (float)h); globalTimers.rescaleTime = globalTimers.time + globalTimers.resizeDelay; setWindowSize(w, h); return EVENT_RESIZED; case SDL_WINDOWEVENT_EXPOSED: dbgv("Window expose"); return EVENT_EXPOSED; case SDL_WINDOWEVENT_SHOWN: dbgv("Window shown"); return EVENT_SHOWN; case SDL_WINDOWEVENT_HIDDEN: dbgv("Window hidden"); return EVENT_HIDDEN; case SDL_WINDOWEVENT_MOVED: dbgv("Window moved"); return EVENT_MOVED; case SDL_WINDOWEVENT_MINIMIZED: dbgv("Window minimized"); return EVENT_MINIMIZED; case SDL_WINDOWEVENT_MAXIMIZED: dbgv("Window maximized"); return EVENT_MAXIMIZED; case SDL_WINDOWEVENT_RESTORED: dbgv("Window restored"); return EVENT_RESTORED; case SDL_WINDOWEVENT_ENTER: dbgv("Window enter"); return EVENT_ENTER; case SDL_WINDOWEVENT_LEAVE: dbgv("Window leave"); return EVENT_LEAVE; case SDL_WINDOWEVENT_FOCUS_GAINED: dbgv("Window focus gained"); return EVENT_FOCUS_GAINED; case SDL_WINDOWEVENT_FOCUS_LOST: dbgv("Window focus lost"); return EVENT_FOCUS_LOST; case SDL_WINDOWEVENT_CLOSE: dbgv("Window closed"); return EVENT_CLOSE; } break; default: dbgv("Some event #%d", event.type); } } return 0; }