1 /* File: maid-x11.h */
2 
3 /* Purpose: Common header file for various x11 ports */
4 
5 /*
6  * Copyright (c) 2001 Robert Ruehlmann, Steven Fuerst
7  *
8  * This software may be copied and distributed for educational, research, and
9  * not for profit purposes provided that this copyright and statement are
10  * included in all such copies.
11  */
12 
13 
14 #ifndef INCLUDED_MAID_X11_H
15 #define INCLUDED_MAID_X11_H
16 
17 
18 #ifndef __MAKEDEPEND__
19 #include <X11/Xlib.h>
20 #include <X11/Xutil.h>
21 #include <X11/keysym.h>
22 #include <X11/keysymdef.h>
23 #endif /* __MAKEDEPEND__ */
24 
25 
26 #ifndef IsModifierKey
27 
28 /*
29  * Keysym macros, used on Keysyms to test for classes of symbols
30  * These were stolen from one of the X11 header files
31  */
32 
33 #define IsKeypadKey(keysym) \
34   (((unsigned)(keysym) >= XK_KP_Space) && ((unsigned)(keysym) <= XK_KP_Equal))
35 
36 #define IsCursorKey(keysym) \
37   (((unsigned)(keysym) >= XK_Home)     && ((unsigned)(keysym) <  XK_Select))
38 
39 #define IsPFKey(keysym) \
40   (((unsigned)(keysym) >= XK_KP_F1)    && ((unsigned)(keysym) <= XK_KP_F4))
41 
42 #define IsFunctionKey(keysym) \
43   (((unsigned)(keysym) >= XK_F1)       && ((unsigned)(keysym) <= XK_F35))
44 
45 #define IsMiscFunctionKey(keysym) \
46   (((unsigned)(keysym) >= XK_Select)   && ((unsigned)(keysym) <  XK_KP_Space))
47 
48 #define IsModifierKey(keysym) \
49   (((unsigned)(keysym) >= XK_Shift_L)  && ((unsigned)(keysym) <= XK_Hyper_R))
50 
51 #endif /* IsModifierKey */
52 
53 
54 /*
55  * Checks if the keysym is a special key or a normal key
56  * Assume that XK_MISCELLANY keysyms are special
57  */
58 #define IsSpecialKey(keysym) \
59   ((unsigned)(keysym) >= 0xFF00)
60 
61 
62 extern u32b create_pixel(Display *dpy, byte red, byte green, byte blue);
63 extern cptr get_default_font(int term_num);
64 extern XImage *ReadBMP(Display *dpy, char *Name);
65 extern XImage *ReadPNG(Display *dpy, char *Name);
66 extern bool smoothRescaling;
67 extern XImage *ResizeImage(Display *dpy, XImage *Im,
68 	int ix, int iy, int ox, int oy);
69 
70 #endif /* INCLUDED_MAID_X11_H */
71 
72