blob: 6dbd990a573abd3bd1a6b87dcba93e43028ad777 (
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
#ifndef __ENGINE_H__
#define __ENGINE_H__
#include <SDL.h>
#include <Handle.h>
#include <Exceptions.h>
#include <base.h>
#include <glbase.h>
#include <widgets.h>
namespace mogltk {
class engine : public Base {
public:
class keyevent : public Base {
public:
keyevent();
virtual ~keyevent();
virtual void down(SDL_keysym) = 0;
virtual void up(SDL_keysym) = 0;
protected:
keyevent * old_handler, * new_handler;
};
class mouseevent : public Base {
public:
mouseevent();
virtual ~mouseevent();
virtual void move(SDL_MouseMotionEvent) = 0;
virtual void action(SDL_MouseButtonEvent) = 0;
protected:
mouseevent * old_handler, * new_handler;
};
static int setup() throw(GeneralException);
static int postsetup() throw(GeneralException);
static int GetInited();
static SDL_RWops * RWFromHandle(Handle *) throw (GeneralException);
static void pollevents() throw (GeneralException);
static void setappactive(bool);
static bool getappactive();
static void setcursorvisible(bool);
static bool getcursorvisible();
static void quit();
static bool quitrequested();
static int mouseX();
static int mouseY();
static int mouseZ();
static void setmouseX(int);
static void setmouseY(int);
static void setmouseZ(int);
static int mousebuttons();
static double FPS();
static void lockmouse();
static void unlockmouse();
static void setkeyevent(keyevent *);
static void setmouseevent(mouseevent *);
static keyevent * getkeyevent();
static mouseevent * getmouseevent();
static glbase * glbase_o;
static base * base_o;
static widget * root;
private:
static bool inited;
static bool postsetuped;
static bool appactive;
static bool cursorvisible;
static bool quitrequest;
static int mx;
static int my;
static int mz;
static int mbuttons;
static int frames;
static double curfps;
static Uint32 curticks;
static int locked;
static keyevent * keyevent_h;
static mouseevent * mouseevent_h;
static void updatemouse();
};
};
#endif
|