x11-inc.h - vx32 - Local 9vx git repository for patches.
(HTM) git clone git://r-36.net/vx32
(DIR) Log
(DIR) Files
(DIR) Refs
---
x11-inc.h (3358B)
---
1 #define Colormap XColormap
2 #define Cursor XCursor
3 #define Display XDisplay
4 #define Drawable XDrawable
5 #define Font XFont
6 #define GC XGC
7 #define Point XPoint
8 #define Rectangle XRectangle
9 #define Screen XScreen
10 #define Visual XVisual
11 #define Window XWindow
12
13 #include <X11/X.h>
14 #include <X11/Xlib.h>
15 #include <X11/Xatom.h>
16 #include <X11/Xutil.h>
17 #include <X11/Xresource.h>
18 #include <X11/keysym.h>
19
20 #undef Colormap
21 #undef Cursor
22 #undef Display
23 #undef Drawable
24 #undef Font
25 #undef GC
26 #undef Point
27 #undef Rectangle
28 #undef Screen
29 #undef Visual
30 #undef Window
31
32 /*
33 * Structure pointed to by X field of Memimage
34 */
35 typedef struct Xmem Xmem;
36 struct Xmem
37 {
38 int pixmap; /* pixmap id */
39 XImage *xi; /* local image */
40 int dirty; /* is the X server ahead of us? */
41 Rectangle dirtyr; /* which pixels? */
42 Rectangle r; /* size of image */
43 };
44
45 typedef struct Xprivate Xprivate;
46 struct Xprivate {
47 uint32 chan;
48 XColormap cmap;
49 XCursor cursor;
50 XDisplay *display;
51 XDisplay *snarfcon;
52 XDisplay *kmcon;
53 int fd; /* of display */
54 int depth; /* of screen */
55 XDrawable drawable;
56 XColor map[256];
57 XColor map7[128];
58 uchar map7to8[128][2];
59 XGC gccopy;
60 XGC gccopy0;
61 XGC gcfill;
62 uint32 gcfillcolor;
63 XGC gcfill0;
64 uint32 gcfill0color;
65 XGC gcreplsrc;
66 uint32 gcreplsrctile;
67 XGC gcreplsrc0;
68 uint32 gcreplsrc0tile;
69 XGC gcsimplesrc;
70 uint32 gcsimplesrccolor;
71 uint32 gcsimplesrcpixmap;
72 XGC gcsimplesrc0;
73 uint32 gcsimplesrc0color;
74 uint32 gcsimplesrc0pixmap;
75 XGC gczero;
76 uint32 gczeropixmap;
77 XGC gczero0;
78 uint32 gczero0pixmap;
79 Rectangle newscreenr;
80 Memimage* screenimage;
81 QLock screenlock;
82 XDrawable screenpm;
83 XDrawable nextscreenpm;
84 Rectangle screenr;
85 int toplan9[256];
86 int tox11[256];
87 int usetable;
88 XVisual *vis;
89 Atom clipboard;
90 Atom utf8string;
91 Atom targets;
92 Atom text;
93 Atom compoundtext;
94 Atom takefocus;
95 Atom losefocus;
96 Atom wmprotos;
97 Atom wmstate;
98 Atom wmfullscreen;
99 uint putsnarf;
100 uint assertsnarf;
101 int destroyed;
102 };
103
104 extern Xprivate _x;
105
106 extern Memimage *_xallocmemimage(Rectangle, uint32, int);
107 extern XImage *_xallocxdata(Memimage*, Rectangle);
108 extern void _xdirtyxdata(Memimage*, Rectangle);
109 extern void _xfillcolor(Memimage*, Rectangle, uint32);
110 extern void _xfreexdata(Memimage*);
111 extern XImage *_xgetxdata(Memimage*, Rectangle);
112 extern void _xputxdata(Memimage*, Rectangle);
113
114 long _xkeysym2rune(KeySym keysym);
115
116 struct Mouse;
117 extern int _xtoplan9mouse(XEvent*, struct Mouse*);
118 extern void _xtoplan9kbd(XEvent*);
119 extern void _xexpose(XEvent*);
120 extern int _xselect(XEvent*);
121 extern int _xconfigure(XEvent*);
122 extern int _xdestroy(XEvent*);
123 extern void _flushmemscreen(Rectangle);
124 extern void _xmoveto(Point);
125 struct Cursor;
126 extern void _xsetcursor(struct Cursor*);
127 extern void _xbouncemouse(Mouse*);
128 extern int _xsetlabel(char*);
129 extern Memimage* _xattach(char*, char*);
130 extern char* _xgetsnarf(void);
131 extern void _xputsnarf(char *data);
132 extern void _xtopwindow(void);
133 extern void _xresizewindow(Rectangle);
134 extern void _xmovewindow(Rectangle);
135 extern int _xreplacescreenimage(void);
136
137 #define MouseMask (\
138 ButtonPressMask|\
139 ButtonReleaseMask|\
140 PointerMotionMask|\
141 Button1MotionMask|\
142 Button2MotionMask|\
143 Button3MotionMask)
144
145 extern Rectangle screenrect;
146 extern Rectangle windowrect;
147 extern int fullscreen;
148
149 typedef struct Cursor Cursor;
150
151 enum
152 {
153 PMundef = ~0
154 };