Extracting parts of the formatting method into configuration and an options helper...
[cslatevm.git] / src / plugins / old / slate-windows.h
blobd6d81c61017a4c1b7568f1c47f7e7f0ca51dccc2
1 // Definitions common to multiple window backends.
2 // Windows.slate can use any plugin that conforms to this
3 // and is named "slate-windows".
5 #ifndef EXPORT
6 # ifdef WIN32
7 # define EXPORT __declspec(dllexport)
8 # else
9 # define EXPORT
10 # endif
11 #endif
13 #include <stdint.h>
14 typedef intptr_t slate_int_t;
16 enum MessageType
18 repaintWindowMessageType = 0,
19 positionWindowMessageType = 1,
20 closeWindowMessageType = 2,
21 quitMessageType = 3,
23 leftDownMessageType = 100,
24 leftUpMessageType = 101,
25 leftDoubleClickMessageType = 102,
27 rightDownMessageType = 110,
28 rightUpMessageType = 111,
29 rightDoubleClickMessageType = 112,
31 middleDownMessageType = 120,
32 middleUpMessageType = 121,
33 middleDoubleClickMessageType = 122,
35 x1DownMessageType = 130,
36 x1UpMessageType = 131,
37 x1DoubleClickMessageType = 132,
39 x2DownMessageType = 140,
40 x2UpMessageType = 141,
41 x2DoubleClickMessageType = 142,
43 mouseMoveMessageType = 150,
44 mouseEnterMessageType = 151,
45 mouseLeaveMessageType = 152,
47 keyDownMessageType = 160,
48 keyUpMessageType = 161,
49 charMessageType = 162,
52 enum ButtonStates
54 leftShiftKeyDown = 0x00000001,
55 rightShiftKeyDown = 0x00000002,
56 leftCtrlKeyDown = 0x00000004,
57 rightCtrlKeyDown = 0x00000008,
58 leftAltKeyDown = 0x00000010,
59 rightAltKeyDown = 0x00000020,
60 /*fixme.. i changed this because ISO C restricts enum to int values*/
61 leftButtonDown = 0x01000000,
62 middleButtonDown = 0x02000000,
63 rightButtonDown = 0x04000000,
64 x1ButtonDown = 0x08000000,
65 x2ButtonDown = 0x09000000,
68 EXPORT void init();
69 EXPORT void shutdown();
70 EXPORT Window *createWindow(slate_int_t width, slate_int_t height);
71 EXPORT slate_int_t haveEvent();
72 EXPORT slate_int_t waitForEvent();
73 EXPORT void popEvent();
74 EXPORT slate_int_t getEventType();
75 EXPORT Window *getEventWindow();
76 EXPORT slate_int_t getEventMouseMotionX();
77 EXPORT slate_int_t getEventMouseMotionY();
78 EXPORT slate_int_t getEventMouseButtonX();
79 EXPORT slate_int_t getEventMouseButtonY();
80 EXPORT slate_int_t getKeyboardKey();
81 EXPORT slate_int_t getKeyboardMod();
82 EXPORT void blit(
83 Window *dest, slate_int_t destX, slate_int_t destY, slate_int_t destWidth, slate_int_t destHeight,
84 void *src, slate_int_t srcX, slate_int_t srcY, slate_int_t srcWidth, slate_int_t srcHeight, slate_int_t srcStride);