X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/059c9a03c8cc02b0c595e3a5599be04dc157f725..0b019e9dd85ac88917984e90a9e27ae4cb496b0b:/lib/gdi/sdl.h diff --git a/lib/gdi/sdl.h b/lib/gdi/sdl.h index 9f86cbbd..6d016cf9 100644 --- a/lib/gdi/sdl.h +++ b/lib/gdi/sdl.h @@ -1,21 +1,35 @@ #ifndef __lib_gdi_sdl_h #define __lib_gdi_sdl_h -#include "fb.h" -#include "gpixmap.h" -#include "gmaindc.h" +#include +#include #include -class gSDLDC: public gMainDC +class gSDLDC: public gMainDC, public eThread, public Object { +private: SDL_Surface *m_screen; void exec(const gOpcode *opcode); - void setPalette(); gSurface m_surface; + + eFixedMessagePump m_pump; + void keyEvent(const SDL_Event &event); + void pumpEvent(const SDL_Event &event); + virtual void thread(); + + enum event { + EV_SET_VIDEO_MODE, + EV_FLIP, + EV_QUIT, + }; + + void pushEvent(enum event code, void *data1 = 0, void *data2 = 0); + void evSetVideoMode(unsigned long xres, unsigned long yres); + void evFlip(); + public: - void setResolution(int xres, int yres); gSDLDC(); virtual ~gSDLDC();