blob: 6d016cf9725cdd5f0366495e9326a2c306ad0793 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#ifndef __lib_gdi_sdl_h
#define __lib_gdi_sdl_h
#include <lib/base/thread.h>
#include <lib/gdi/gmaindc.h>
#include <SDL.h>
class gSDLDC: public gMainDC, public eThread, public Object
{
private:
SDL_Surface *m_screen;
void exec(const gOpcode *opcode);
gSurface m_surface;
eFixedMessagePump<SDL_Event> 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();
int islocked() { return 0; }
};
#endif
|