47c8b4f14a3b38ae1bc9669c4003f1378b5e26fe
[rocksndiamonds.git] / src / 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 #ifndef 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 /* !MSDOS */
29
30
31 /* system dependent definitions */
32
33 /* DOS version 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 KEY_UNDEFINED           XK_VoidSymbol
73
74 #define KEY_Return              XK_Return
75 #define KEY_Escape              XK_Escape
76
77 #define KEY_Left                XK_Left
78 #define KEY_Right               XK_Right
79 #define KEY_Up                  XK_Up
80 #define KEY_Down                XK_Down
81
82 #ifdef XK_KP_Left
83 #define KEY_KP_Left             XK_KP_Left
84 #define KEY_KP_Right            XK_KP_Right
85 #define KEY_KP_Up               XK_KP_Up
86 #define KEY_KP_Down             XK_KP_Down
87 #endif
88
89 #ifdef XK_KP_Enter
90 #define KEY_KP_Enter            XK_KP_Enter
91 #define KEY_KP_Add              XK_KP_Add
92 #define KEY_KP_Subtract         XK_KP_Subtract
93 #define KEY_KP_Multiply         XK_KP_Multiply
94 #define KEY_KP_Divide           XK_KP_Divide
95 #define KEY_KP_Separator        XK_KP_Separator
96 #endif
97
98 #define KEY_Shift_L             XK_Shift_L
99 #define KEY_Shift_R             XK_Shift_R
100 #define KEY_Control_L           XK_Control_L
101 #define KEY_Control_R           XK_Control_R
102 #define KEY_Meta_L              XK_Meta_L
103 #define KEY_Meta_R              XK_Meta_R
104 #define KEY_Alt_L               XK_Alt_L
105 #define KEY_Alt_R               XK_Alt_R
106 #define KEY_Super_L             XK_Super_L
107 #define KEY_Super_R             XK_Super_R
108 #define KEY_Mode_switch         XK_Mode_switch
109 #define KEY_Multi_key           XK_Multi_key
110
111 #define KEY_BackSpace           XK_BackSpace
112 #define KEY_Delete              XK_Delete
113 #define KEY_Insert              XK_Insert
114 #define KEY_Tab                 XK_Tab
115 #define KEY_Home                XK_Home
116 #define KEY_End                 XK_End
117 #define KEY_Page_Up             XK_Page_Up
118 #define KEY_Page_Down           XK_Page_Down
119 #define KEY_Menu                XK_Menu
120
121 #define KEY_space               XK_space
122 #define KEY_exclam              XK_exclam
123 #define KEY_quotedbl            XK_quotedbl
124 #define KEY_numbersign          XK_numbersign
125 #define KEY_dollar              XK_dollar
126 #define KEY_percent             XK_percent
127 #define KEY_ampersand           XK_ampersand
128 #define KEY_apostrophe          XK_apostrophe
129 #define KEY_parenleft           XK_parenleft
130 #define KEY_parenright          XK_parenright
131 #define KEY_asterisk            XK_asterisk
132 #define KEY_plus                XK_plus
133 #define KEY_comma               XK_comma
134 #define KEY_minus               XK_minus
135 #define KEY_period              XK_period
136 #define KEY_slash               XK_slash
137
138 #define KEY_colon               XK_colon
139 #define KEY_semicolon           XK_semicolon
140 #define KEY_less                XK_less
141 #define KEY_equal               XK_equal
142 #define KEY_greater             XK_greater
143 #define KEY_question            XK_question
144 #define KEY_at                  XK_at
145
146 #define KEY_bracketleft         XK_bracketleft
147 #define KEY_backslash           XK_backslash
148 #define KEY_bracketright        XK_bracketright
149 #define KEY_asciicircum         XK_asciicircum
150 #define KEY_underscore          XK_underscore
151 #define KEY_grave               XK_grave
152
153 #define KEY_quoteleft           XK_quoteleft
154 #define KEY_braceleft           XK_braceleft
155 #define KEY_bar                 XK_bar
156 #define KEY_braceright          XK_braceright
157 #define KEY_asciitilde          XK_asciitilde
158
159 #define KEY_Adiaeresis          XK_Adiaeresis
160 #define KEY_Odiaeresis          XK_Odiaeresis
161 #define KEY_Udiaeresis          XK_Udiaeresis
162 #define KEY_adiaeresis          XK_adiaeresis
163 #define KEY_odiaeresis          XK_odiaeresis
164 #define KEY_udiaeresis          XK_udiaeresis
165 #define KEY_ssharp              XK_ssharp
166
167 #define KEY_A                   XK_A
168 #define KEY_B                   XK_B
169 #define KEY_C                   XK_C
170 #define KEY_D                   XK_D
171 #define KEY_E                   XK_E
172 #define KEY_F                   XK_F
173 #define KEY_G                   XK_G
174 #define KEY_H                   XK_H
175 #define KEY_I                   XK_I
176 #define KEY_J                   XK_J
177 #define KEY_K                   XK_K
178 #define KEY_L                   XK_L
179 #define KEY_M                   XK_M
180 #define KEY_N                   XK_N
181 #define KEY_O                   XK_O
182 #define KEY_P                   XK_P
183 #define KEY_Q                   XK_Q
184 #define KEY_R                   XK_R
185 #define KEY_S                   XK_S
186 #define KEY_T                   XK_T
187 #define KEY_U                   XK_U
188 #define KEY_V                   XK_V
189 #define KEY_W                   XK_W
190 #define KEY_X                   XK_X
191 #define KEY_Y                   XK_Y
192 #define KEY_Z                   XK_Z
193
194 #define KEY_a                   XK_a
195 #define KEY_b                   XK_b
196 #define KEY_c                   XK_c
197 #define KEY_d                   XK_d
198 #define KEY_e                   XK_e
199 #define KEY_f                   XK_f
200 #define KEY_g                   XK_g
201 #define KEY_h                   XK_h
202 #define KEY_i                   XK_i
203 #define KEY_j                   XK_j
204 #define KEY_k                   XK_k
205 #define KEY_l                   XK_l
206 #define KEY_m                   XK_m
207 #define KEY_n                   XK_n
208 #define KEY_o                   XK_o
209 #define KEY_p                   XK_p
210 #define KEY_q                   XK_q
211 #define KEY_r                   XK_r
212 #define KEY_s                   XK_s
213 #define KEY_t                   XK_t
214 #define KEY_u                   XK_u
215 #define KEY_v                   XK_v
216 #define KEY_w                   XK_w
217 #define KEY_x                   XK_x
218 #define KEY_y                   XK_y
219 #define KEY_z                   XK_z
220
221 #define KEY_0                   XK_0
222 #define KEY_1                   XK_1
223 #define KEY_2                   XK_2
224 #define KEY_3                   XK_3
225 #define KEY_4                   XK_4
226 #define KEY_5                   XK_5
227 #define KEY_6                   XK_6
228 #define KEY_7                   XK_7
229 #define KEY_8                   XK_8
230 #define KEY_9                   XK_9
231
232 #define KEY_KP_0                XK_KP_0
233 #define KEY_KP_1                XK_KP_1
234 #define KEY_KP_2                XK_KP_2
235 #define KEY_KP_3                XK_KP_3
236 #define KEY_KP_4                XK_KP_4
237 #define KEY_KP_5                XK_KP_5
238 #define KEY_KP_6                XK_KP_6
239 #define KEY_KP_7                XK_KP_7
240 #define KEY_KP_8                XK_KP_8
241 #define KEY_KP_9                XK_KP_9
242
243 #define KEY_F1                  XK_F1
244 #define KEY_F2                  XK_F2
245 #define KEY_F3                  XK_F3
246 #define KEY_F4                  XK_F4
247 #define KEY_F5                  XK_F5
248 #define KEY_F6                  XK_F6
249 #define KEY_F7                  XK_F7
250 #define KEY_F8                  XK_F8
251 #define KEY_F9                  XK_F9
252 #define KEY_F10                 XK_F10
253 #define KEY_F11                 XK_F11
254 #define KEY_F12                 XK_F12
255 #define KEY_F13                 XK_F13
256 #define KEY_F14                 XK_F14
257 #define KEY_F15                 XK_F15
258 #define KEY_F16                 XK_F16
259 #define KEY_F17                 XK_F17
260 #define KEY_F18                 XK_F18
261 #define KEY_F19                 XK_F19
262 #define KEY_F20                 XK_F20
263 #define KEY_F21                 XK_F21
264 #define KEY_F22                 XK_F22
265 #define KEY_F23                 XK_F23
266 #define KEY_F24                 XK_F24
267
268
269 /* X11 function definitions */
270
271 inline void X11InitBufferedDisplay(DrawBuffer *, DrawWindow *);
272
273 #endif /* X11_H */