X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/b3889b17eab3ec5ae518c958a0f7ac49847b506b..e028581fabb68f8f28489bce7b570026c02e8df8:/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();