ca1247c50bc0a2c1459ae6eba6b1186d6e0b96a6
[rocksndiamonds.git] / src / libgame / x11.h
1 /***********************************************************
2 *  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
3 *----------------------------------------------------------*
4 *  ©1995 Artsoft Development                               *
5 *        Holger Schemel                                    *
6 *        33659 Bielefeld-Senne                             *
7 *        Telefon: (0521) 493245                            *
8 *        eMail: aeglos@valinor.owl.de                      *
9 *               aeglos@uni-paderborn.de                    *
10 *               q99492@pbhrzx.uni-paderborn.de             *
11 *----------------------------------------------------------*
12 *  x11.h                                                   *
13 ***********************************************************/
14
15 #ifndef X11_H
16 #define X11_H
17
18 #if !defined(PLATFORM_MSDOS)
19 #define XK_MISCELLANY
20 #define XK_LATIN1
21
22 #include <X11/Xlib.h>
23 #include <X11/Xutil.h>
24 #include <X11/Xatom.h>
25 #include <X11/Xos.h>
26 #include <X11/Intrinsic.h>
27 #include <X11/keysymdef.h>
28 #endif
29
30
31 /* system dependent definitions */
32
33 /* MS-DOS header file also defines "TARGET_STRING" */
34 #ifndef TARGET_STRING
35 #define TARGET_STRING           "X11"
36 #endif
37
38 #define FULLSCREEN_STATUS       FULLSCREEN_NOT_AVAILABLE
39
40
41 /* X11 type definitions */
42
43 typedef Pixmap                  Bitmap;
44 typedef Window                  DrawWindow;
45 typedef Drawable                DrawBuffer;
46
47 typedef KeySym                  Key;
48
49 typedef XEvent                  Event;
50 typedef XButtonEvent            ButtonEvent;
51 typedef XMotionEvent            MotionEvent;
52 typedef XKeyEvent               KeyEvent;
53 typedef XExposeEvent            ExposeEvent;
54 typedef XFocusChangeEvent       FocusChangeEvent;
55 typedef XClientMessageEvent     ClientMessageEvent;
56
57
58 /* X11 symbol definitions */
59
60 #define EVENT_BUTTONPRESS       ButtonPress
61 #define EVENT_BUTTONRELEASE     ButtonRelease
62 #define EVENT_MOTIONNOTIFY      MotionNotify
63 #define EVENT_KEYPRESS          KeyPress
64 #define EVENT_KEYRELEASE        KeyRelease
65 #define EVENT_EXPOSE            Expose
66 #define EVENT_FOCUSIN           FocusIn
67 #define EVENT_FOCUSOUT          FocusOut
68 #define EVENT_CLIENTMESSAGE     ClientMessage
69 #define EVENT_MAPNOTIFY         MapNotify
70 #define EVENT_UNMAPNOTIFY       UnmapNotify
71
72 #define KSYM_UNDEFINED          XK_VoidSymbol
73
74 #define KSYM_Return             XK_Return
75 #define KSYM_Escape             XK_Escape
76
77 #define KSYM_Left               XK_Left
78 #define KSYM_Right              XK_Right
79 #define KSYM_Up                 XK_Up
80 #define KSYM_Down               XK_Down
81
82 #ifdef XK_KP_Left
83 #define KSYM_KP_Left            XK_KP_Left
84 #define KSYM_KP_Right           XK_KP_Right
85 #define KSYM_KP_Up              XK_KP_Up
86 #define KSYM_KP_Down            XK_KP_Down
87 #endif
88
89 #ifdef XK_KP_Enter
90 #define KSYM_KP_Enter           XK_KP_Enter
91 #define KSYM_KP_Add             XK_KP_Add
92 #define KSYM_KP_Subtract        XK_KP_Subtract
93 #define KSYM_KP_Multiply        XK_KP_Multiply
94 #define KSYM_KP_Divide          XK_KP_Divide
95 #define KSYM_KP_Separator       XK_KP_Separator
96 #endif
97
98 #define KSYM_Shift_L            XK_Shift_L
99 #define KSYM_Shift_R            XK_Shift_R
100 #define KSYM_Control_L          XK_Control_L
101 #define KSYM_Control_R          XK_Control_R
102 #define KSYM_Meta_L             XK_Meta_L
103 #define KSYM_Meta_R             XK_Meta_R
104 #define KSYM_Alt_L              XK_Alt_L
105 #define KSYM_Alt_R              XK_Alt_R
106 #define KSYM_Super_L            XK_Super_L
107 #define KSYM_Super_R            XK_Super_R
108 #define KSYM_Mode_switch        XK_Mode_switch
109 #define KSYM_Multi_key          XK_Multi_key
110
111 #define KSYM_BackSpace          XK_BackSpace
112 #define KSYM_Delete             XK_Delete
113 #define KSYM_Insert             XK_Insert
114 #define KSYM_Tab                XK_Tab
115 #define KSYM_Home               XK_Home
116 #define KSYM_End                XK_End
117 #define KSYM_Page_Up            XK_Page_Up
118 #define KSYM_Page_Down          XK_Page_Down
119 #define KSYM_Menu               XK_Menu
120
121 #define KSYM_space              XK_space
122 #define KSYM_exclam             XK_exclam
123 #define KSYM_quotedbl           XK_quotedbl
124 #define KSYM_numbersign         XK_numbersign
125 #define KSYM_dollar             XK_dollar
126 #define KSYM_percent            XK_percent
127 #define KSYM_ampersand          XK_ampersand
128 #define KSYM_apostrophe         XK_apostrophe
129 #define KSYM_parenleft          XK_parenleft
130 #define KSYM_parenright         XK_parenright
131 #define KSYM_asterisk           XK_asterisk
132 #define KSYM_plus               XK_plus
133 #define KSYM_comma              XK_comma
134 #define KSYM_minus              XK_minus
135 #define KSYM_period             XK_period
136 #define KSYM_slash              XK_slash
137
138 #define KSYM_colon              XK_colon
139 #define KSYM_semicolon          XK_semicolon
140 #define KSYM_less               XK_less
141 #define KSYM_equal              XK_equal
142 #define KSYM_greater            XK_greater
143 #define KSYM_question           XK_question
144 #define KSYM_at                 XK_at
145
146 #define KSYM_bracketleft        XK_bracketleft
147 #define KSYM_backslash          XK_backslash
148 #define KSYM_bracketright       XK_bracketright
149 #define KSYM_asciicircum        XK_asciicircum
150 #define KSYM_underscore         XK_underscore
151 #define KSYM_grave              XK_grave
152
153 #define KSYM_quoteleft          XK_quoteleft
154 #define KSYM_braceleft          XK_braceleft
155 #define KSYM_bar                XK_bar
156 #define KSYM_braceright         XK_braceright
157 #define KSYM_asciitilde         XK_asciitilde
158
159 #define KSYM_Adiaeresis         XK_Adiaeresis
160 #define KSYM_Odiaeresis         XK_Odiaeresis
161 #define KSYM_Udiaeresis         XK_Udiaeresis
162 #define KSYM_adiaeresis         XK_adiaeresis
163 #define KSYM_odiaeresis         XK_odiaeresis
164 #define KSYM_udiaeresis         XK_udiaeresis
165 #define KSYM_ssharp             XK_ssharp
166
167 #define KSYM_A                  XK_A
168 #define KSYM_B                  XK_B
169 #define KSYM_C                  XK_C
170 #define KSYM_D                  XK_D
171 #define KSYM_E                  XK_E
172 #define KSYM_F                  XK_F
173 #define KSYM_G                  XK_G
174 #define KSYM_H                  XK_H
175 #define KSYM_I                  XK_I
176 #define KSYM_J                  XK_J
177 #define KSYM_K                  XK_K
178 #define KSYM_L                  XK_L
179 #define KSYM_M                  XK_M
180 #define KSYM_N                  XK_N
181 #define KSYM_O                  XK_O
182 #define KSYM_P                  XK_P
183 #define KSYM_Q                  XK_Q
184 #define KSYM_R                  XK_R
185 #define KSYM_S                  XK_S
186 #define KSYM_T                  XK_T
187 #define KSYM_U                  XK_U
188 #define KSYM_V                  XK_V
189 #define KSYM_W                  XK_W
190 #define KSYM_X                  XK_X
191 #define KSYM_Y                  XK_Y
192 #define KSYM_Z                  XK_Z
193
194 #define KSYM_a                  XK_a
195 #define KSYM_b                  XK_b
196 #define KSYM_c                  XK_c
197 #define KSYM_d                  XK_d
198 #define KSYM_e                  XK_e
199 #define KSYM_f                  XK_f
200 #define KSYM_g                  XK_g
201 #define KSYM_h                  XK_h
202 #define KSYM_i                  XK_i
203 #define KSYM_j                  XK_j
204 #define KSYM_k                  XK_k
205 #define KSYM_l                  XK_l
206 #define KSYM_m                  XK_m
207 #define KSYM_n                  XK_n
208 #define KSYM_o                  XK_o
209 #define KSYM_p                  XK_p
210 #define KSYM_q                  XK_q
211 #define KSYM_r                  XK_r
212 #define KSYM_s                  XK_s
213 #define KSYM_t                  XK_t
214 #define KSYM_u                  XK_u
215 #define KSYM_v                  XK_v
216 #define KSYM_w                  XK_w
217 #define KSYM_x                  XK_x
218 #define KSYM_y                  XK_y
219 #define KSYM_z                  XK_z
220
221 #define KSYM_0                  XK_0
222 #define KSYM_1                  XK_1
223 #define KSYM_2                  XK_2
224 #define KSYM_3                  XK_3
225 #define KSYM_4                  XK_4
226 #define KSYM_5                  XK_5
227 #define KSYM_6                  XK_6
228 #define KSYM_7                  XK_7
229 #define KSYM_8                  XK_8
230 #define KSYM_9                  XK_9
231
232 #define KSYM_KP_0               XK_KP_0
233 #define KSYM_KP_1               XK_KP_1
234 #define KSYM_KP_2               XK_KP_2
235 #define KSYM_KP_3               XK_KP_3
236 #define KSYM_KP_4               XK_KP_4
237 #define KSYM_KP_5               XK_KP_5
238 #define KSYM_KP_6               XK_KP_6
239 #define KSYM_KP_7               XK_KP_7
240 #define KSYM_KP_8               XK_KP_8
241 #define KSYM_KP_9               XK_KP_9
242
243 #define KSYM_F1                 XK_F1
244 #define KSYM_F2                 XK_F2
245 #define KSYM_F3                 XK_F3
246 #define KSYM_F4                 XK_F4
247 #define KSYM_F5                 XK_F5
248 #define KSYM_F6                 XK_F6
249 #define KSYM_F7                 XK_F7
250 #define KSYM_F8                 XK_F8
251 #define KSYM_F9                 XK_F9
252 #define KSYM_F10                XK_F10
253 #define KSYM_F11                XK_F11
254 #define KSYM_F12                XK_F12
255 #define KSYM_F13                XK_F13
256 #define KSYM_F14                XK_F14
257 #define KSYM_F15                XK_F15
258 #define KSYM_F16                XK_F16
259 #define KSYM_F17                XK_F17
260 #define KSYM_F18                XK_F18
261 #define KSYM_F19                XK_F19
262 #define KSYM_F20                XK_F20
263 #define KSYM_F21                XK_F21
264 #define KSYM_F22                XK_F22
265 #define KSYM_F23                XK_F23
266 #define KSYM_F24                XK_F24
267
268
269 /* X11 function definitions */
270
271 inline void X11InitBufferedDisplay(DrawBuffer *, DrawWindow *);
272
273 #endif /* X11_H */