1 module derelict.x11.Xlib;
2
3 version(linux):
4
5 import core.stdc.config;
6 import core.stdc.stdarg;
7 import derelict.x11.X;
8
9 extern (C) nothrow @nogc:
10
11 const int XlibSpecificationRelease = 6;
12 const int X_HAVE_UTF8_STRING = 1;
13
14 alias char* XPointer;
15 alias int Status;
16
17 alias int Bool;
18 enum {
19 False,
20 True
21 }
22
23 alias int QueueMode;
24 enum {
25 QueuedAlready,
26 QueuedAfterReading,
27 QueuedAfterFlush
28 }
29
30 int ConnectionNumber ( Display* dpy ) { return dpy.fd; }
31 Window RootWindow ( Display* dpy,int scr ) { return ScreenOfDisplay( dpy,scr ).root; }
32 int DefaultScreen ( Display* dpy ) { return dpy.default_screen; }
33 Window DefaultRootWindow ( Display* dpy ) { return ScreenOfDisplay( dpy,DefaultScreen( dpy ) ).root; }
34 Visual* DefaultVisual ( Display* dpy,int scr ) { return ScreenOfDisplay( dpy,scr ).root_visual; }
35 GC DefaultGC ( Display* dpy,int scr ) { return ScreenOfDisplay( dpy,scr ).default_gc; }
36 c_ulong BlackPixel ( Display* dpy,int scr ) { return cast(c_ulong)ScreenOfDisplay( dpy,scr ).black_pixel; }
37 c_ulong WhitePixel ( Display* dpy,int scr ) { return cast(c_ulong)ScreenOfDisplay( dpy,scr ).white_pixel; }
38 c_ulong AllPlanes ( ) { return 0xFFFFFFFF; }
39 int QLength ( Display* dpy ) { return dpy.qlen; }
40 int DisplayWidth ( Display* dpy,int scr ) { return ScreenOfDisplay( dpy,scr ).width; }
41 int DisplayHeight ( Display* dpy,int scr ) { return ScreenOfDisplay( dpy,scr ).height; }
42 int DisplayWidthMM ( Display* dpy,int scr ) { return ScreenOfDisplay( dpy,scr ).mwidth; }
43 int DisplayHeightMM ( Display* dpy,int scr ) { return ScreenOfDisplay( dpy,scr ).mheight; }
44 int DisplayPlanes ( Display* dpy,int scr ) { return ScreenOfDisplay( dpy,scr ).root_depth; }
45 int DisplayCells ( Display* dpy,int scr ) { return DefaultVisual( dpy,scr ).map_entries; }
46 int ScreenCount ( Display* dpy ) { return dpy.nscreens; }
47 char* ServerVendor ( Display* dpy ) { return dpy.vendor; }
48 int ProtocolVersion ( Display* dpy ) { return dpy.proto_major_version; }
49 int ProtocolRevision ( Display* dpy ) { return dpy.proto_minor_version; }
50 int VendorRelease ( Display* dpy ) { return dpy.release; }
51 char* DisplayString ( Display* dpy ) { return dpy.display_name; }
52 int DefaultDepth ( Display* dpy,int scr ) { return ScreenOfDisplay( dpy,scr ).root_depth; }
53 Colormap DefaultColormap ( Display* dpy,int scr ) { return ScreenOfDisplay( dpy,scr ).cmap; }
54 int BitmapUnit ( Display* dpy ) { return dpy.bitmap_unit; }
55 int BitmapBitOrder ( Display* dpy ) { return dpy.bitmap_bit_order; }
56 int BitmapPad ( Display* dpy ) { return dpy.bitmap_pad; }
57 int ImagecharOrder ( Display* dpy ) { return dpy.char_order; }
58 uint NextRequest ( Display* dpy ) { return cast(uint)dpy.request + 1; }
59 uint LastKnownRequestProcessed ( Display* dpy ) { return cast(uint)dpy.last_request_read; }
60
61 /* macros for screen oriented applications ( toolkit ) */
62 Screen* ScreenOfDisplay ( Display* dpy,int scr ) { return &dpy.screens[scr]; }
63 Screen* DefaultScreenOfDisplay ( Display* dpy ) { return ScreenOfDisplay( dpy,DefaultScreen( dpy ) ); }
64 Display* DisplayOfScreen ( Screen* s ) { return s.display; }
65 Window RootWindowOfScreen ( Screen* s ) { return s.root; }
66 c_ulong BlackPixelOfScreen ( Screen* s ) { return cast(c_ulong)s.black_pixel; }
67 c_ulong WhitePixelOfScreen ( Screen* s ) { return cast(c_ulong)s.white_pixel; }
68 Colormap DefaultColormapOfScreen ( Screen* s ) { return s.cmap; }
69 int DefaultDepthOfScreen ( Screen* s ) { return s.root_depth; }
70 GC DefaultGCOfScreen ( Screen* s ) { return s.default_gc; }
71 Visual* DefaultVisualOfScreen ( Screen* s ) { return s.root_visual; }
72 int WidthOfScreen ( Screen* s ) { return s.width; }
73 int HeightOfScreen ( Screen* s ) { return s.height; }
74 int WidthMMOfScreen ( Screen* s ) { return s.mwidth; }
75 int HeightMMOfScreen ( Screen* s ) { return s.mheight; }
76 int PlanesOfScreen ( Screen* s ) { return s.root_depth; }
77 int CellsOfScreen ( Screen* s ) { return DefaultVisualOfScreen( s ).map_entries; }
78 int MinCmapsOfScreen ( Screen* s ) { return s.min_maps; }
79 int MaxCmapsOfScreen ( Screen* s ) { return s.max_maps; }
80 Bool DoesSaveUnders ( Screen* s ) { return s.save_unders; }
81 int DoesBackingStore ( Screen* s ) { return s.backing_store; }
82 c_long EventMaskOfScreen ( Screen* s ) { return s.root_input_mask; }
83
84 /*
85 * Extensions need a way to hang private data on some structures.
86 */
87 struct XExtData{
88 int number; /* number returned by XRegisterExtension */
89 XExtData* next; /* next item on list of data for structure */
90 extern (C) nothrow @nogc int function( XExtData* extension ) free_private; /* called to free private storage */
91 XPointer private_data; /* data private to this extension. */
92 }
93
94 /*
95 * This file contains structures used by the extension mechanism.
96 */
97 struct XExtCodes{ /* public to extension, cannot be changed */
98 int extension; /* extension number */
99 int major_opcode; /* major op-code assigned by server */
100 int first_event; /* first event number for the extension */
101 int first_error; /* first error number for the extension */
102
103 }
104
105 /*
106 * Data structure for retrieving info about pixmap formats.
107 */
108 struct XPixmapFormatValues{
109 int depth;
110 int bits_per_pixel;
111 int scanline_pad;
112 }
113
114 /*
115 * Data structure for setting graphics context.
116 */
117
118 struct XGCValues{
119 int function_; /* logical operation */
120 c_ulong plane_mask; /* plane mask */
121 c_ulong foreground; /* foreground pixel */
122 c_ulong background; /* background pixel */
123 int line_width; /* line width */
124 int line_style; /* LineSolid; LineOnOffDash; LineDoubleDash */
125 int cap_style; /* CapNotLast; CapButt; CapRound; CapProjecting */
126 int join_style; /* JoinMiter; JoinRound; JoinBevel */
127 int fill_style; /* FillSolid; FillTiled; FillStippled; FillOpaeueStippled */
128 int fill_rule; /* EvenOddRule; WindingRule */
129 int arc_mode; /* ArcChord; ArcPieSlice */
130 Pixmap tile; /* tile pixmap for tiling operations */
131 Pixmap stipple; /* stipple 1 plane pixmap for stipping */
132 int ts_x_origin; /* offset for tile or stipple operations */
133 int ts_y_origin;
134 Font font; /* default text font for text operations */
135 int subwindow_mode; /* ClipByChildren; IncludeInferiors */
136 Bool graphics_exposures; /* boolean; should exposures be generated */
137 int clip_x_origin; /* origin for clipping */
138 int clip_y_origin;
139 Pixmap clip_mask; /* bitmap clipping; other calls for rects */
140 int dash_offset; /* patterned/dashed line information */
141 char dashes;
142 }
143 version (XLIB_ILLEGAL_ACCESS){
144 struct _XGC {
145 XExtData* ext_data; /* hook for extension to hang data */
146 GContext gid; /* protocol ID for graphics context */
147 /* there is more to this structure, but it is private to Xlib */
148 }
149 }
150 else{
151 struct _XGC;
152 }
153
154 alias _XGC* GC;
155
156 /*
157 * Visual structure; contains information about colormapping possible.
158 */
159 struct Visual{
160 XExtData* ext_data; /* hook for extension to hang data */
161 VisualID visualid; /* visual id of this visual */
162 int c_class; /* class of screen (monochrome, etc.) */
163 c_ulong red_mask, green_mask, blue_mask; /* mask values */
164 int bits_per_rgb; /* log base 2 of distinct color values */
165 int map_entries; /* color map entries */
166 }
167
168 /*
169 * Depth structure; contains information for each possible depth.
170 */
171 struct Depth {
172 int depth; /* this depth (Z) of the depth */
173 int nvisuals; /* number of Visual types at this depth */
174 Visual* visuals; /* list of visuals possible at this depth */
175 }
176
177 alias Display XDisplay;
178
179 struct Screen {
180 XExtData* ext_data; /* hook for extension to hang data */
181 XDisplay* display; /* back pointer to display structure */
182 Window root; /* Root window id. */
183 int width, height; /* width and height of screen */
184 int mwidth, mheight; /* width and height of in millimeters */
185 int ndepths; /* number of depths possible */
186 Depth* depths; /* list of allowable depths on the screen */
187 int root_depth; /* bits per pixel */
188 Visual* root_visual; /* root visual */
189 GC default_gc; /* GC for the root root visual */
190 Colormap cmap; /* default color map */
191 c_ulong white_pixel;
192 c_ulong black_pixel; /* White and Black pixel values */
193 int max_maps, min_maps; /* max and min color maps */
194 int backing_store; /* Never, WhenMapped, Always */
195 Bool save_unders;
196 c_long root_input_mask; /* initial root input mask */
197 }
198
199 /*
200 * Format structure; describes ZFormat data the screen will understand.
201 */
202 struct ScreenFormat{
203 XExtData* ext_data; /* hook for extension to hang data */
204 int depth; /* depth of this image format */
205 int bits_per_pixel; /* bits/pixel at this depth */
206 int scanline_pad; /* scanline must padded to this multiple */
207 }
208 /*
209 * Data structure for setting window attributes.
210 */
211 struct XSetWindowAttributes{
212 Pixmap background_pixmap; /* background or None or ParentRelative */
213 c_ulong background_pixel; /* background pixel */
214 Pixmap border_pixmap; /* border of the window */
215 c_ulong border_pixel; /* border pixel value */
216 int bit_gravity; /* one of bit gravity values */
217 int win_gravity; /* one of the window gravity values */
218 int backing_store; /* NotUseful, WhenMapped, Always */
219 c_ulong backing_planes; /* planes to be preseved if possible */
220 c_ulong backing_pixel; /* value to use in restoring planes */
221 Bool save_under; /* should bits under be saved? (popups) */
222 c_long event_mask; /* set of events that should be saved */
223 c_long do_not_propagate_mask; /* set of events that should not propagate */
224 Bool override_redirect; /* boolean value for override-redirect */
225 Colormap colormap; /* color map to be associated with window */
226 Cursor cursor; /* cursor to be displayed (or None) */
227 }
228
229 struct XWindowAttributes{
230 int x, y; /* location of window */
231 int width, height; /* width and height of window */
232 int border_width; /* border width of window */
233 int depth; /* depth of window */
234 Visual* visual; /* the associated visual structure */
235 Window root; /* root of screen containing window */
236 int c_class; /* InputOutput, InputOnly */
237 int bit_gravity; /* one of bit gravity values */
238 int win_gravity; /* one of the window gravity values */
239 int backing_store; /* NotUseful, WhenMapped, Always */
240 c_ulong backing_planes; /* planes to be preserved if possible */
241 c_ulong backing_pixel; /* value to be used when restoring planes */
242 Bool save_under; /* boolean, should bits under be saved? */
243 Colormap colormap; /* color map to be associated with window */
244 Bool map_installed; /* boolean, is color map currently installed */
245 int map_state; /* IsUnmapped, IsUnviewable, IsViewable */
246 c_long all_event_masks; /* set of events all people have interest in */
247 c_long your_event_mask; /* my event mask */
248 c_long do_not_propagate_mask; /* set of events that should not propagate */
249 Bool override_redirect; /* boolean value for override-redirect */
250 Screen* screen; /* back pointer to correct screen */
251 }
252
253 /*
254 * Data structure for host setting; getting routines.
255 *
256 */
257 struct XHostAddress{
258 int family; /* for example FamilyInternet */
259 int length; /* length of address, in chars */
260 char* address; /* pointer to where to find the chars */
261 }
262
263 /*
264 * Data structure for ServerFamilyInterpreted addresses in host routines
265 */
266 struct XServerInterpretedAddress{
267 int typelength; /* length of type string, in chars */
268 int valuelength; /* length of value string, in chars */
269 char* type; /* pointer to where to find the type string */
270 char* value; /* pointer to where to find the address */
271 }
272
273 struct XImage{
274 int width, height; /* size of image */
275 int xoffset; /* number of pixels offset in X direction */
276 int format; /* XYBitmap, XYPixmap, ZPixmap */
277 char* data; /* pointer to image data */
278 int char_order; /* data char order, LSBFirst, MSBFirst */
279 int bitmap_unit; /* quant. of scanline 8, 16, 32 */
280 int bitmap_bit_order; /* LSBFirst, MSBFirst */
281 int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */
282 int depth; /* depth of image */
283 int chars_per_line; /* accelarator to next line */
284 int bits_per_pixel; /* bits per pixel (ZPixmap) */
285 c_ulong red_mask; /* bits in z arrangment */
286 c_ulong green_mask;
287 c_ulong blue_mask;
288 XPointer obdata; /* hook for the object routines to hang on */
289 struct F { /* image manipulation routines */
290 extern (C) nothrow @nogc:
291 XImage* function(
292 XDisplay* /* display */,
293 Visual* /* visual */,
294 uint /* depth */,
295 int /* format */,
296 int /* offset */,
297 char* /* data */,
298 uint /* width */,
299 uint /* height */,
300 int /* bitmap_pad */,
301 int /* chars_per_line */
302 ) create_image;
303 int function(XImage*) destroy_image;
304 c_ulong function(XImage*, int, int) get_pixel;
305 int function(XImage*, int, int, c_ulong ) put_pixel;
306 XImage function(XImage*, int, int, uint, uint) sub_image;
307 int function(XImage*, c_long) add_pixel;
308 }
309 F f;
310 }
311
312 /*
313 * Data structure for XReconfigureWindow
314 */
315 struct XWindowChanges{
316 int x, y;
317 int width, height;
318 int border_width;
319 Window sibling;
320 int stack_mode;
321 }
322
323
324 /*
325 * Data structure used by color operations
326 */
327 struct XColor{
328 c_ulong pixel;
329 ushort red, green, blue;
330 char flags; /* do_red, do_green, do_blue */
331 char pad;
332 }
333
334 /*
335 * Data structures for graphics operations. On most machines, these are
336 * congruent with the wire protocol structures, so reformatting the data
337 * can be avoided on these architectures.
338 */
339 struct XSegment{
340 short x1, y1, x2, y2;
341 }
342
343 struct XPoint{
344 short x, y;
345 }
346
347 struct XRectangle{
348 short x, y;
349 ushort width, height;
350 }
351
352 struct XArc{
353 short x, y;
354 ushort width, height;
355 short angle1, angle2;
356 }
357
358
359 /* Data structure for XChangeKeyboardControl */
360
361 struct XKeyboardControl{
362 int key_click_percent;
363 int bell_percent;
364 int bell_pitch;
365 int bell_duration;
366 int led;
367 int led_mode;
368 int key;
369 int auto_repeat_mode; /* On, Off, Default */
370 }
371 /* Data structure for XGetKeyboardControl */
372
373 struct XKeyboardState{
374 int key_click_percent;
375 int bell_percent;
376 uint bell_pitch, bell_duration;
377 c_ulong led_mask;
378 int global_auto_repeat;
379 char[32] auto_repeats;
380 }
381
382 /* Data structure for XGetMotionEvents. */
383
384 struct XTimeCoord{
385 Time time;
386 short x, y;
387 }
388
389 /* Data structure for X{Set,Get}ModifierMapping */
390
391 struct XModifierKeymap{
392 int max_keypermod; /* The server's max # of keys per modifier */
393 KeyCode* modifiermap; /* An 8 by max_keypermod array of modifiers */
394 }
395
396
397 /*
398 * Display datatype maintaining display specific data.
399 * The contents of this structure are implementation dependent.
400 * A Display should be treated as opaque by application code.
401 */
402
403 struct _XPrivate; /* Forward declare before use for C++ */
404 struct _XrmHashBucketRec;
405
406 struct _XDisplay{
407 XExtData* ext_data; /* hook for extension to hang data */
408 _XPrivate* private1;
409 int fd; /* Network socket. */
410 int private2;
411 int proto_major_version; /* major version of server's X protocol */
412 int proto_minor_version; /* minor version of servers X protocol */
413 char* vendor; /* vendor of the server hardware */
414 XID private3;
415 XID private4;
416 XID private5;
417 int private6;
418 extern (C) nothrow @nogc XID function(_XDisplay*) resource_alloc; /* allocator function */
419 int char_order; /* screen char order, LSBFirst, MSBFirst */
420 int bitmap_unit; /* padding and data requirements */
421 int bitmap_pad; /* padding requirements on bitmaps */
422 int bitmap_bit_order; /* LeastSignificant or MostSignificant */
423 int nformats; /* number of pixmap formats in list */
424 ScreenFormat* pixmap_format; /* pixmap format list */
425 int private8;
426 int release; /* release of the server */
427 _XPrivate* private9, private10;
428 int qlen; /* Length of input event queue */
429 c_ulong last_request_read; /* seq number of last event read */
430 c_ulong request; /* sequence number of last request. */
431 XPointer private11;
432 XPointer private12;
433 XPointer private13;
434 XPointer private14;
435 uint max_request_size; /* maximum number 32 bit words in request*/
436 _XrmHashBucketRec* db;
437 extern (C) nothrow @nogc int function( _XDisplay* )private15;
438 char* display_name; /* "host:display" string used on this connect*/
439 int default_screen; /* default screen for operations */
440 int nscreens; /* number of screens on this server*/
441 Screen* screens; /* pointer to list of screens */
442 c_ulong motion_buffer; /* size of motion buffer */
443 c_ulong private16;
444 int min_keycode; /* minimum defined keycode */
445 int max_keycode; /* maximum defined keycode */
446 XPointer private17;
447 XPointer private18;
448 int private19;
449 char* xdefaults; /* contents of defaults from server */
450 /* there is more to this structure, but it is private to Xlib */
451 }
452 alias _XDisplay Display;
453 alias _XDisplay* _XPrivDisplay;
454
455 struct XKeyEvent{
456 int type; /* of event */
457 c_ulong serial; /* # of last request processed by server */
458 Bool send_event; /* true if this came from a SendEvent request */
459 Display* display; /* Display the event was read from */
460 Window window; /* "event" window it is reported relative to */
461 Window root; /* root window that the event occurred on */
462 Window subwindow; /* child window */
463 Time time; /* milliseconds */
464 int x, y; /* pointer x, y coordinates in event window */
465 int x_root, y_root; /* coordinates relative to root */
466 uint state; /* key or button mask */
467 uint keycode; /* detail */
468 Bool same_screen; /* same screen flag */
469 }
470
471 alias XKeyEvent XKeyPressedEvent;
472 alias XKeyEvent XKeyReleasedEvent;
473
474 struct XButtonEvent{
475 int type; /* of event */
476 c_ulong serial; /* # of last request processed by server */
477 Bool send_event; /* true if this came from a SendEvent request */
478 Display* display; /* Display the event was read from */
479 Window window; /* "event" window it is reported relative to */
480 Window root; /* root window that the event occurred on */
481 Window subwindow; /* child window */
482 Time time; /* milliseconds */
483 int x, y; /* pointer x, y coordinates in event window */
484 int x_root, y_root; /* coordinates relative to root */
485 uint state; /* key or button mask */
486 uint button; /* detail */
487 Bool same_screen; /* same screen flag */
488 }
489 alias XButtonEvent XButtonPressedEvent;
490 alias XButtonEvent XButtonReleasedEvent;
491
492 struct XMotionEvent{
493 int type; /* of event */
494 c_ulong serial; /* # of last request processed by server */
495 Bool send_event; /* true if this came from a SendEvent request */
496 Display* display; /* Display the event was read from */
497 Window window; /* "event" window reported relative to */
498 Window root; /* root window that the event occurred on */
499 Window subwindow; /* child window */
500 Time time; /* milliseconds */
501 int x, y; /* pointer x, y coordinates in event window */
502 int x_root, y_root; /* coordinates relative to root */
503 uint state; /* key or button mask */
504 char is_hint; /* detail */
505 Bool same_screen; /* same screen flag */
506 }
507 alias XMotionEvent XPointerMovedEvent;
508
509 struct XCrossingEvent{
510 int type; /* of event */
511 c_ulong serial; /* # of last request processed by server */
512 Bool send_event; /* true if this came from a SendEvent request */
513 Display* display; /* Display the event was read from */
514 Window window; /* "event" window reported relative to */
515 Window root; /* root window that the event occurred on */
516 Window subwindow; /* child window */
517 Time time; /* milliseconds */
518 int x, y; /* pointer x, y coordinates in event window */
519 int x_root, y_root; /* coordinates relative to root */
520 int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */
521 int detail;
522 /*
523 * NotifyAncestor, NotifyVirtual, NotifyInferior,
524 * NotifyNonlinear,NotifyNonlinearVirtual
525 */
526 Bool same_screen; /* same screen flag */
527 Bool focus; /* boolean focus */
528 uint state; /* key or button mask */
529 }
530 alias XCrossingEvent XEnterWindowEvent;
531 alias XCrossingEvent XLeaveWindowEvent;
532
533 struct XFocusChangeEvent{
534 int type; /* FocusIn or FocusOut */
535 c_ulong serial; /* # of last request processed by server */
536 Bool send_event; /* true if this came from a SendEvent request */
537 Display* display; /* Display the event was read from */
538 Window window; /* window of event */
539 int mode; /* NotifyNormal, NotifyWhileGrabbed,*/
540 /* NotifyGrab, NotifyUngrab */
541 int detail;
542 /*
543 * NotifyAncestor, NotifyVirtual, NotifyInferior,
544 * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
545 * NotifyPointerRoot, NotifyDetailNone
546 */
547 }
548 alias XFocusChangeEvent XFocusInEvent;
549 alias XFocusChangeEvent XFocusOutEvent;
550
551 /* generated on EnterWindow and FocusIn when KeyMapState selected */
552 struct XKeymapEvent{
553 int type;
554 c_ulong serial; /* # of last request processed by server */
555 Bool send_event; /* true if this came from a SendEvent request */
556 Display* display; /* Display the event was read from */
557 Window window;
558 char[32] key_vector;
559 }
560
561 struct XExposeEvent{
562 int type;
563 c_ulong serial; /* # of last request processed by server */
564 Bool send_event; /* true if this came from a SendEvent request */
565 Display* display; /* Display the event was read from */
566 Window window;
567 int x, y;
568 int width, height;
569 int count; /* if non-zero, at least this many more */
570 }
571
572 struct XGraphicsExposeEvent{
573 int type;
574 c_ulong serial; /* # of last request processed by server */
575 Bool send_event; /* true if this came from a SendEvent request */
576 Display* display; /* Display the event was read from */
577 Drawable drawable;
578 int x, y;
579 int width, height;
580 int count; /* if non-zero, at least this many more */
581 int major_code; /* core is CopyArea or CopyPlane */
582 int minor_code; /* not defined in the core */
583 }
584
585 struct XNoExposeEvent{
586 int type;
587 c_ulong serial; /* # of last request processed by server */
588 Bool send_event; /* true if this came from a SendEvent request */
589 Display* display; /* Display the event was read from */
590 Drawable drawable;
591 int major_code; /* core is CopyArea or CopyPlane */
592 int minor_code; /* not defined in the core */
593 }
594
595 struct XVisibilityEvent{
596 int type;
597 c_ulong serial; /* # of last request processed by server */
598 Bool send_event; /* true if this came from a SendEvent request */
599 Display* display; /* Display the event was read from */
600 Window window;
601 int state; /* Visibility state */
602 }
603
604 struct XCreateWindowEvent{
605 int type;
606 c_ulong serial; /* # of last request processed by server */
607 Bool send_event; /* true if this came from a SendEvent request */
608 Display* display; /* Display the event was read from */
609 Window parent; /* parent of the window */
610 Window window; /* window id of window created */
611 int x, y; /* window location */
612 int width, height; /* size of window */
613 int border_width; /* border width */
614 Bool override_redirect; /* creation should be overridden */
615 }
616
617 struct XDestroyWindowEvent{
618 int type;
619 c_ulong serial; /* # of last request processed by server */
620 Bool send_event; /* true if this came from a SendEvent request */
621 Display* display; /* Display the event was read from */
622 Window event;
623 Window window;
624 }
625
626 struct XUnmapEvent{
627 int type;
628 c_ulong serial; /* # of last request processed by server */
629 Bool send_event; /* true if this came from a SendEvent request */
630 Display* display; /* Display the event was read from */
631 Window event;
632 Window window;
633 Bool from_configure;
634 }
635
636 struct XMapEvent{
637 int type;
638 c_ulong serial; /* # of last request processed by server */
639 Bool send_event; /* true if this came from a SendEvent request */
640 Display* display; /* Display the event was read from */
641 Window event;
642 Window window;
643 Bool override_redirect; /* boolean, is override set... */
644 }
645
646 struct XMapRequestEvent{
647 int type;
648 c_ulong serial; /* # of last request processed by server */
649 Bool send_event; /* true if this came from a SendEvent request */
650 Display* display; /* Display the event was read from */
651 Window parent;
652 Window window;
653 }
654
655 struct XReparentEvent{
656 int type;
657 c_ulong serial; /* # of last request processed by server */
658 Bool send_event; /* true if this came from a SendEvent request */
659 Display* display; /* Display the event was read from */
660 Window event;
661 Window window;
662 Window parent;
663 int x, y;
664 Bool override_redirect;
665 }
666
667 struct XConfigureEvent{
668 int type;
669 c_ulong serial; /* # of last request processed by server */
670 Bool send_event; /* true if this came from a SendEvent request */
671 Display* display; /* Display the event was read from */
672 Window event;
673 Window window;
674 int x, y;
675 int width, height;
676 int border_width;
677 Window above;
678 Bool override_redirect;
679 }
680
681 struct XGravityEvent{
682 int type;
683 c_ulong serial; /* # of last request processed by server */
684 Bool send_event; /* true if this came from a SendEvent request */
685 Display* display; /* Display the event was read from */
686 Window event;
687 Window window;
688 int x, y;
689 }
690
691 struct XResizeRequestEvent{
692 int type;
693 c_ulong serial; /* # of last request processed by server */
694 Bool send_event; /* true if this came from a SendEvent request */
695 Display* display; /* Display the event was read from */
696 Window window;
697 int width, height;
698 }
699
700 struct XConfigureRequestEvent{
701 int type;
702 c_ulong serial; /* # of last request processed by server */
703 Bool send_event; /* true if this came from a SendEvent request */
704 Display* display; /* Display the event was read from */
705 Window parent;
706 Window window;
707 int x, y;
708 int width, height;
709 int border_width;
710 Window above;
711 int detail; /* Above, Below, TopIf, BottomIf, Opposite */
712 c_ulong value_mask;
713 }
714
715 struct XCirculateEvent{
716 int type;
717 c_ulong serial; /* # of last request processed by server */
718 Bool send_event; /* true if this came from a SendEvent request */
719 Display* display; /* Display the event was read from */
720 Window event;
721 Window window;
722 int place; /* PlaceOnTop, PlaceOnBottom */
723 }
724
725 struct XCirculateRequestEvent{
726 int type;
727 c_ulong serial; /* # of last request processed by server */
728 Bool send_event; /* true if this came from a SendEvent request */
729 Display* display; /* Display the event was read from */
730 Window parent;
731 Window window;
732 int place; /* PlaceOnTop, PlaceOnBottom */
733 }
734
735 struct XPropertyEvent{
736 int type;
737 c_ulong serial; /* # of last request processed by server */
738 Bool send_event; /* true if this came from a SendEvent request */
739 Display* display; /* Display the event was read from */
740 Window window;
741 Atom atom;
742 Time time;
743 int state; /* NewValue, Deleted */
744 }
745
746 struct XSelectionClearEvent{
747 int type;
748 c_ulong serial; /* # of last request processed by server */
749 Bool send_event; /* true if this came from a SendEvent request */
750 Display* display; /* Display the event was read from */
751 Window window;
752 Atom selection;
753 Time time;
754 }
755
756 struct XSelectionRequestEvent{
757 int type;
758 c_ulong serial; /* # of last request processed by server */
759 Bool send_event; /* true if this came from a SendEvent request */
760 Display* display; /* Display the event was read from */
761 Window owner;
762 Window requestor;
763 Atom selection;
764 Atom target;
765 Atom property;
766 Time time;
767 }
768
769 struct XSelectionEvent{
770 int type;
771 c_ulong serial; /* # of last request processed by server */
772 Bool send_event; /* true if this came from a SendEvent request */
773 Display* display; /* Display the event was read from */
774 Window requestor;
775 Atom selection;
776 Atom target;
777 Atom property; /* ATOM or None */
778 Time time;
779 }
780
781 struct XColormapEvent{
782 int type;
783 c_ulong serial; /* # of last request processed by server */
784 Bool send_event; /* true if this came from a SendEvent request */
785 Display* display; /* Display the event was read from */
786 Window window;
787 Colormap colormap; /* COLORMAP or None */
788 Bool c_new; /* C++ */
789 int state; /* ColormapInstalled, ColormapUninstalled */
790 }
791
792 struct XClientMessageEvent{
793 int type;
794 c_ulong serial; /* # of last request processed by server */
795 Bool send_event; /* true if this came from a SendEvent request */
796 Display* display; /* Display the event was read from */
797 Window window;
798 Atom message_type;
799 int format;
800 union _data {
801 char[20] b;
802 short[10] s;
803 c_long[5] l;
804 }
805 _data data;
806 }
807
808 struct XMappingEvent{
809 int type;
810 c_ulong serial; /* # of last request processed by server */
811 Bool send_event; /* true if this came from a SendEvent request */
812 Display* display; /* Display the event was read from */
813 Window window; /* unused */
814 int request; /* one of MappingModifier, MappingKeyboard, MappingPointer */
815 int first_keycode; /* first keycode */
816 int count; /* defines range of change w. first_keycode */
817 }
818
819 struct XErrorEvent{
820 int type;
821 Display* display; /* Display the event was read from */
822 XID resourceid; /* resource id */
823 c_ulong serial; /* serial number of failed request */
824 ubyte error_code; /* error code of failed request */
825 ubyte request_code; /* Major op-code of failed request */
826 ubyte minor_code; /* Minor op-code of failed request */
827 }
828
829 struct XAnyEvent{
830 int type;
831 c_ulong serial; /* # of last request processed by server */
832 Bool send_event; /* true if this came from a SendEvent request */
833 Display* display; /* Display the event was read from */
834 Window window; /* window on which event was requested in event mask */
835 }
836
837
838 /***************************************************************
839 *
840 * GenericEvent. This event is the standard event for all newer extensions.
841 */
842
843 struct XGenericEvent {
844 int type; /* of event. Always GenericEvent */
845 c_ulong serial; /* # of last request processed */
846 Bool send_event; /* true if from SendEvent request */
847 Display* display; /* Display the event was read from */
848 int extension; /* major opcode of extension that caused the event */
849 int evtype; /* actual event type. */
850 }
851
852 struct XGenericEventCookie{
853 int type; /* of event. Always GenericEvent */
854 c_ulong serial; /* # of last request processed */
855 Bool send_event; /* true if from SendEvent request */
856 Display* display; /* Display the event was read from */
857 int extension; /* major opcode of extension that caused the event */
858 int evtype; /* actual event type. */
859 uint cookie;
860 void* data;
861 }
862
863 /*
864 * this union is defined so Xlib can always use the same sized
865 * event structure internally, to avoid memory fragmentation.
866 */
867 union XEvent {
868 int type; /* must not be changed; first element */
869 XAnyEvent xany;
870 XKeyEvent xkey;
871 XButtonEvent xbutton;
872 XMotionEvent xmotion;
873 XCrossingEvent xcrossing;
874 XFocusChangeEvent xfocus;
875 XExposeEvent xexpose;
876 XGraphicsExposeEvent xgraphicsexpose;
877 XNoExposeEvent xnoexpose;
878 XVisibilityEvent xvisibility;
879 XCreateWindowEvent xcreatewindow;
880 XDestroyWindowEvent xdestroywindow;
881 XUnmapEvent xunmap;
882 XMapEvent xmap;
883 XMapRequestEvent xmaprequest;
884 XReparentEvent xreparent;
885 XConfigureEvent xconfigure;
886 XGravityEvent xgravity;
887 XResizeRequestEvent xresizerequest;
888 XConfigureRequestEvent xconfigurerequest;
889 XCirculateEvent xcirculate;
890 XCirculateRequestEvent xcirculaterequest;
891 XPropertyEvent xproperty;
892 XSelectionClearEvent xselectionclear;
893 XSelectionRequestEvent xselectionrequest;
894 XSelectionEvent xselection;
895 XColormapEvent xcolormap;
896 XClientMessageEvent xclient;
897 XMappingEvent xmapping;
898 XErrorEvent xerror;
899 XKeymapEvent xkeymap;
900 XGenericEvent xgeneric;
901 XGenericEventCookie xcookie;
902 c_long[24] pad;
903 };
904
905 int XAllocID(Display* dpy) {return cast(int) dpy.resource_alloc(dpy);}
906
907 /*
908 * per character font metric information.
909 */
910 struct XCharStruct{
911 short lbearing; /* origin to left edge of raster */
912 short rbearing; /* origin to right edge of raster */
913 short width; /* advance to next char's origin */
914 short ascent; /* baseline to top edge of raster */
915 short descent; /* baseline to bottom edge of raster */
916 ushort attributes; /* per char flags (not predefined) */
917 }
918
919 /*
920 * To allow arbitrary information with fonts, there are additional properties
921 * returned.
922 */
923 struct XFontProp{
924 Atom name;
925 c_ulong card32;
926 }
927
928 struct XFontStruct{
929 XExtData* ext_data; /* hook for extension to hang data */
930 Font fid; /* Font id for this font */
931 uint direction; /* hint about direction the font is painted */
932 uint min_char_or_char2; /* first character */
933 uint max_char_or_char2; /* last character */
934 uint min_char1; /* first row that exists */
935 uint max_char1; /* last row that exists */
936 Bool all_chars_exist; /* flag if all characters have non-zero size */
937 uint default_char; /* char to print for undefined character */
938 int n_properties; /* how many properties there are */
939 XFontProp* properties; /* pointer to array of additional properties */
940 XCharStruct min_bounds; /* minimum bounds over all existing char */
941 XCharStruct max_bounds; /* maximum bounds over all existing char */
942 XCharStruct* per_char; /* first_char to last_char information */
943 int ascent; /* log. extent above baseline for spacing */
944 int descent; /* log. descent below baseline for spacing */
945 }
946
947 /*
948 * PolyText routines take these as arguments.
949 */
950 struct XTextItem{
951 char* chars; /* pointer to string */
952 int nchars; /* number of characters */
953 int delta; /* delta between strings */
954 Font font; /* font to print it in, None don't change */
955 }
956
957 struct XChar2b{ /* normal 16 bit characters are two chars */
958 ubyte char1;
959 ubyte char2;
960 }
961
962 struct XTextItem16{
963 XChar2b* chars; /* two char characters */
964 int nchars; /* number of characters */
965 int delta; /* delta between strings */
966 Font font; /* font to print it in, None don't change */
967 }
968
969
970 union XEDataObject{
971 Display* display;
972 GC gc;
973 Visual* visual;
974 Screen* screen;
975 ScreenFormat* pixmap_format;
976 XFontStruct* font;
977 }
978
979 struct XFontSetExtents{
980 XRectangle max_ink_extent;
981 XRectangle max_logical_extent;
982 }
983
984 /* unused:
985 void (*XOMProc)();
986 */
987
988 struct _XOM{}
989 struct _XOC{}
990 alias _XOM* XOM;
991 alias _XOC* XOC;
992 alias _XOC* XFontSet;
993
994 struct XmbTextItem{
995 char* chars;
996 int nchars;
997 int delta;
998 XFontSet font_set;
999 }
1000
1001 struct XwcTextItem{
1002 wchar* chars;
1003 int nchars;
1004 int delta;
1005 XFontSet font_set;
1006 }
1007
1008 const char* XNRequiredCharSet = "requiredCharSet";
1009 const char* XNQueryOrientation = "queryOrientation";
1010 const char* XNBaseFontName = "baseFontName";
1011 const char* XNOMAutomatic = "omAutomatic";
1012 const char* XNMissingCharSet = "missingCharSet";
1013 const char* XNDefaultString = "defaultString";
1014 const char* XNOrientation = "orientation";
1015 const char* XNDirectionalDependentDrawing = "directionalDependentDrawing";
1016 const char* XNContextualDrawing = "contextualDrawing";
1017 const char* XNFontInfo = "fontInfo";
1018
1019 struct XOMCharSetList{
1020 int charset_count;
1021 char** charset_list;
1022 }
1023
1024 alias int XOrientation;
1025 enum {
1026 XOMOrientation_LTR_TTB,
1027 XOMOrientation_RTL_TTB,
1028 XOMOrientation_TTB_LTR,
1029 XOMOrientation_TTB_RTL,
1030 XOMOrientation_Context
1031 }
1032
1033 struct XOMOrientation{
1034 int num_orientation;
1035 XOrientation* orientation; /* Input Text description */
1036 }
1037
1038 struct XOMFontInfo{
1039 int num_font;
1040 XFontStruct **font_struct_list;
1041 char** font_name_list;
1042 }
1043
1044 struct _XIM{}
1045 struct _XIC{}
1046 alias _XIM *XIM;
1047 alias _XIC *XIC;
1048
1049 alias void function(
1050 XIM,
1051 XPointer,
1052 XPointer
1053 ) XIMProc;
1054
1055 alias Bool function(
1056 XIC,
1057 XPointer,
1058 XPointer
1059 ) XICProc;
1060
1061 alias void function(
1062 Display*,
1063 XPointer,
1064 XPointer
1065 ) XIDProc;
1066
1067 struct XIMStyles{
1068 ushort count_styles;
1069 XIMStyle* supported_styles;
1070 }
1071
1072 alias c_ulong XIMStyle;
1073 enum {
1074 XIMPreeditArea = 0x0001L,
1075 XIMPreeditCallbacks = 0x0002L,
1076 XIMPreeditPosition = 0x0004L,
1077 XIMPreeditNothing = 0x0008L,
1078 XIMPreeditNone = 0x0010L,
1079 XIMStatusArea = 0x0100L,
1080 XIMStatusCallbacks = 0x0200L,
1081 XIMStatusNothing = 0x0400L,
1082 XIMStatusNone = 0x0800L
1083 }
1084
1085 const char* XNVaNestedList = "XNVaNestedList";
1086 const char* XNQueryInputStyle = "queryInputStyle";
1087 const char* XNClientWindow = "clientWindow";
1088 const char* XNInputStyle = "inputStyle";
1089 const char* XNFocusWindow = "focusWindow";
1090 const char* XNResourceName = "resourceName";
1091 const char* XNResourceClass = "resourceClass";
1092 const char* XNGeometryCallback = "geometryCallback";
1093 const char* XNDestroyCallback = "destroyCallback";
1094 const char* XNFilterEvents = "filterEvents";
1095 const char* XNPreeditStartCallback = "preeditStartCallback";
1096 const char* XNPreeditDoneCallback = "preeditDoneCallback";
1097 const char* XNPreeditDrawCallback = "preeditDrawCallback";
1098 const char* XNPreeditCaretCallback = "preeditCaretCallback";
1099 const char* XNPreeditStateNotifyCallback = "preeditStateNotifyCallback";
1100 const char* XNPreeditAttributes = "preeditAttributes";
1101 const char* XNStatusStartCallback = "statusStartCallback";
1102 const char* XNStatusDoneCallback = "statusDoneCallback";
1103 const char* XNStatusDrawCallback = "statusDrawCallback";
1104 const char* XNStatusAttributes = "statusAttributes";
1105 const char* XNArea = "area";
1106 const char* XNAreaNeeded = "areaNeeded";
1107 const char* XNSpotLocation = "spotLocation";
1108 const char* XNColormap = "colorMap";
1109 const char* XNStdColormap = "stdColorMap";
1110 const char* XNForeground = "foreground";
1111 const char* XNBackground = "background";
1112 const char* XNBackgroundPixmap = "backgroundPixmap";
1113 const char* XNFontSet = "fontSet";
1114 const char* XNLineSpace = "lineSpace";
1115 const char* XNCursor = "cursor";
1116
1117 const char* XNQueryIMValuesList = "queryIMValuesList";
1118 const char* XNQueryICValuesList = "queryICValuesList";
1119 const char* XNVisiblePosition = "visiblePosition";
1120 const char* XNR6PreeditCallback = "r6PreeditCallback";
1121 const char* XNStringConversionCallback = "stringConversionCallback";
1122 const char* XNStringConversion = "stringConversion";
1123 const char* XNResetState = "resetState";
1124 const char* XNHotKey = "hotKey";
1125 const char* XNHotKeyState = "hotKeyState";
1126 const char* XNPreeditState = "preeditState";
1127 const char* XNSeparatorofNestedList = "separatorofNestedList";
1128
1129 const int XBufferOverflow = -1;
1130 const int XLookupNone = 1;
1131 const int XLookupChars = 2;
1132 const int XLookupKeySym = 3;
1133 const int XLookupBoth = 4;
1134
1135 alias XVaNestedList = void*;
1136
1137 struct XIMCallback{
1138 XPointer client_data;
1139 XIMProc callback;
1140 }
1141
1142 struct XICCallback{
1143 XPointer client_data;
1144 XICProc callback;
1145 }
1146
1147 alias int XIMFeedback;
1148 enum {
1149 XIMReverse = 1L,
1150 XIMUnderline = (1L<<1),
1151 XIMHighlight = (1L<<2),
1152 XIMPrimary = (1L<<5),
1153 XIMSecondary = (1L<<6),
1154 XIMTertiary = (1L<<7),
1155 XIMVisibleToForward = (1L<<8),
1156 XIMVisibleToBackword = (1L<<9),
1157 XIMVisibleToCenter = (1L<<10)
1158 }
1159
1160 struct XIMText {
1161 ushort length;
1162 XIMFeedback* feedback;
1163 Bool encoding_is_wchar;
1164 union c_string{
1165 char* multi_char;
1166 wchar* wide_char;
1167 }
1168 }
1169
1170
1171 alias c_ulong XIMPreeditState;
1172 enum {
1173 XIMPreeditUnKnown = 0L,
1174 XIMPreeditEnable = 1L,
1175 XIMPreeditDisable = (1L<<1)
1176 }
1177
1178 struct XIMPreeditStateNotifyCallbackStruct {
1179 XIMPreeditState state;
1180 }
1181
1182 alias c_ulong XIMResetState;
1183 enum {
1184 XIMInitialState = 1L,
1185 XIMPreserveState= 1L<<1
1186 }
1187
1188 alias c_ulong XIMStringConversionFeedback;
1189 enum {
1190 XIMStringConversionLeftEdge = 0x00000001,
1191 XIMStringConversionRightEdge = 0x00000002,
1192 XIMStringConversionTopEdge = 0x00000004,
1193 XIMStringConversionBottomEdge = 0x00000008,
1194 XIMStringConversionConcealed = 0x00000010,
1195 XIMStringConversionWrapped = 0x00000020
1196 }
1197
1198 struct XIMStringConversionText{
1199 ushort length;
1200 XIMStringConversionFeedback* feedback;
1201 Bool encoding_is_wchar;
1202 union c_string{
1203 char* mbs;
1204 wchar* wcs;
1205 };
1206 }
1207
1208 alias ushort XIMStringConversionPosition;
1209
1210 alias ushort XIMStringConversionType;
1211 enum {
1212 XIMStringConversionBuffer = 0x0001,
1213 XIMStringConversionLine = 0x0002,
1214 XIMStringConversionWord = 0x0003,
1215 XIMStringConversionChar = 0x0004
1216 }
1217
1218 alias ushort XIMStringConversionOperation;
1219 enum {
1220 XIMStringConversionSubstitution = 0x0001,
1221 XIMStringConversionRetrieval = 0x0002
1222 }
1223
1224 alias int XIMCaretDirection;
1225 enum {
1226 XIMForwardChar, XIMBackwardChar,
1227 XIMForwardWord, XIMBackwardWord,
1228 XIMCaretUp, XIMCaretDown,
1229 XIMNextLine, XIMPreviousLine,
1230 XIMLineStart, XIMLineEnd,
1231 XIMAbsolutePosition,
1232 XIMDontChange
1233 }
1234
1235 struct XIMStringConversionCallbackStruct{
1236 XIMStringConversionPosition position;
1237 XIMCaretDirection direction;
1238 XIMStringConversionOperation operation;
1239 ushort factor;
1240 XIMStringConversionText* text;
1241 }
1242
1243 struct XIMPreeditDrawCallbackStruct{
1244 int caret; /* Cursor offset within pre-edit string */
1245 int chg_first; /* Starting change position */
1246 int chg_length; /* Length of the change in character count */
1247 XIMText* text;
1248 }
1249
1250 alias int XIMCaretStyle;
1251 enum {
1252 XIMIsInvisible, /* Disable caret feedback */
1253 XIMIsPrimary, /* UI defined caret feedback */
1254 XIMIsSecondary /* UI defined caret feedback */
1255 }
1256
1257 struct XIMPreeditCaretCallbackStruct{
1258 int position; /* Caret offset within pre-edit string */
1259 XIMCaretDirection direction; /* Caret moves direction */
1260 XIMCaretStyle style; /* Feedback of the caret */
1261 }
1262
1263 alias int XIMStatusDataType;
1264 enum {
1265 XIMTextType,
1266 XIMBitmapType
1267 }
1268
1269 struct XIMStatusDrawCallbackStruct {
1270 XIMStatusDataType type;
1271 union data{
1272 XIMText* text;
1273 Pixmap bitmap;
1274 };
1275 }
1276
1277 struct XIMHotKeyTrigger {
1278 KeySym keysym;
1279 int modifier;
1280 int modifier_mask;
1281 }
1282
1283 struct XIMHotKeyTriggers {
1284 int num_hot_key;
1285 XIMHotKeyTrigger* key;
1286 }
1287
1288 alias c_ulong XIMHotKeyState;
1289 enum {
1290 XIMHotKeyStateON = 0x0001L,
1291 XIMHotKeyStateOFF = 0x0002L
1292 }
1293
1294 struct XIMValuesList{
1295 ushort count_values;
1296 char** supported_values;
1297 }
1298
1299 version( Windows ){
1300 extern int *_Xdebug_p;
1301 } else {
1302 extern int _Xdebug;
1303 }
1304
1305 extern XFontStruct* XLoadQueryFont(
1306 Display* /* display */,
1307 char* /* name */
1308 );
1309
1310 extern XFontStruct* XQueryFont(
1311 Display* /* display */,
1312 XID /* font_ID */
1313 );
1314
1315
1316 extern XTimeCoord* XGetMotionEvents(
1317 Display* /* display */,
1318 Window /* w */,
1319 Time /* start */,
1320 Time /* stop */,
1321 int* /* nevents_return */
1322 );
1323
1324 extern XModifierKeymap* XDeleteModifiermapEntry(
1325 XModifierKeymap* /* modmap */,
1326 KeyCode /* keycode_entry */,
1327 int /* modifier */
1328 );
1329
1330 extern XModifierKeymap* XGetModifierMapping(
1331 Display* /* display */
1332 );
1333
1334 extern XModifierKeymap* XInsertModifiermapEntry(
1335 XModifierKeymap* /* modmap */,
1336 KeyCode /* keycode_entry */,
1337 int /* modifier */
1338 );
1339
1340 extern XModifierKeymap* XNewModifiermap(
1341 int /* max_keys_per_mod */
1342 );
1343
1344 extern XImage* XCreateImage(
1345 Display* /* display */,
1346 Visual* /* visual */,
1347 uint /* depth */,
1348 int /* format */,
1349 int /* offset */,
1350 char* /* data */,
1351 uint /* width */,
1352 uint /* height */,
1353 int /* bitmap_pad */,
1354 int /* chars_per_line */
1355 );
1356 extern Status XInitImage(
1357 XImage* /* image */
1358 );
1359 extern XImage* XGetImage(
1360 Display* /* display */,
1361 Drawable /* d */,
1362 int /* x */,
1363 int /* y */,
1364 uint /* width */,
1365 uint /* height */,
1366 c_ulong /* plane_mask */,
1367 int /* format */
1368 );
1369 extern XImage* XGetSubImage(
1370 Display* /* display */,
1371 Drawable /* d */,
1372 int /* x */,
1373 int /* y */,
1374 uint /* width */,
1375 uint /* height */,
1376 c_ulong /* plane_mask */,
1377 int /* format */,
1378 XImage* /* dest_image */,
1379 int /* dest_x */,
1380 int /* dest_y */
1381 );
1382
1383 /*
1384 * X function declarations.
1385 */
1386 extern Display* XOpenDisplay(
1387 char* /* display_name */
1388 );
1389
1390 extern void XrmInitialize( );
1391
1392 extern char* XFetchchars(
1393 Display* /* display */,
1394 int* /* nchars_return */
1395 );
1396 extern char* XFetchBuffer(
1397 Display* /* display */,
1398 int* /* nchars_return */,
1399 int /* buffer */
1400 );
1401 extern char* XGetAtomName(
1402 Display* /* display */,
1403 Atom /* atom */
1404 );
1405 extern Status XGetAtomNames(
1406 Display* /* dpy */,
1407 Atom* /* atoms */,
1408 int /* count */,
1409 char** /* names_return */
1410 );
1411 extern char* XGetDefault(
1412 Display* /* display */,
1413 char* /* program */,
1414 char* /* option */
1415 );
1416 extern char* XDisplayName(
1417 char* /* string */
1418 );
1419 extern char* XKeysymToString(
1420 KeySym /* keysym */
1421 );
1422
1423 extern int function(
1424 Display* /* display */
1425 )XSynchronize(
1426 Display* /* display */,
1427 Bool /* onoff */
1428 );
1429 extern int function(
1430 Display* /* display */
1431 )XSetAfterFunction(
1432 Display* /* display */,
1433 int function(
1434 Display* /* display */
1435 ) /* procedure */
1436 );
1437 extern Atom XInternAtom(
1438 Display* /* display */,
1439 const char* /* atom_name */,
1440 Bool /* only_if_exists */
1441 );
1442 extern Status XInternAtoms(
1443 Display* /* dpy */,
1444 char** /* names */,
1445 int /* count */,
1446 Bool /* onlyIfExists */,
1447 Atom* /* atoms_return */
1448 );
1449 extern Colormap XCopyColormapAndFree(
1450 Display* /* display */,
1451 Colormap /* colormap */
1452 );
1453 extern Colormap XCreateColormap(
1454 Display* /* display */,
1455 Window /* w */,
1456 Visual* /* visual */,
1457 int /* alloc */
1458 );
1459 extern Cursor XCreatePixmapCursor(
1460 Display* /* display */,
1461 Pixmap /* source */,
1462 Pixmap /* mask */,
1463 XColor* /* foreground_color */,
1464 XColor* /* background_color */,
1465 uint /* x */,
1466 uint /* y */
1467 );
1468 extern Cursor XCreateGlyphCursor(
1469 Display* /* display */,
1470 Font /* source_font */,
1471 Font /* mask_font */,
1472 uint /* source_char* */,
1473 uint /* mask_char* */,
1474 XColor* /* foreground_color */,
1475 XColor* /* background_color */
1476 );
1477 extern Cursor XCreateFontCursor(
1478 Display* /* display */,
1479 uint /* shape */
1480 );
1481 extern Font XLoadFont(
1482 Display* /* display */,
1483 char* /* name */
1484 );
1485 extern GC XCreateGC(
1486 Display* /* display */,
1487 Drawable /* d */,
1488 c_ulong /* valuemask */,
1489 XGCValues* /* values */
1490 );
1491 extern GContext XGContextFromGC(
1492 GC /* gc */
1493 );
1494 extern void XFlushGC(
1495 Display* /* display */,
1496 GC /* gc */
1497 );
1498 extern Pixmap XCreatePixmap(
1499 Display* /* display */,
1500 Drawable /* d */,
1501 uint /* width */,
1502 uint /* height */,
1503 uint /* depth */
1504 );
1505 extern Pixmap XCreateBitmapFromData(
1506 Display* /* display */,
1507 Drawable /* d */,
1508 char* /* data */,
1509 uint /* width */,
1510 uint /* height */
1511 );
1512 extern Pixmap XCreatePixmapFromBitmapData(
1513 Display* /* display */,
1514 Drawable /* d */,
1515 char* /* data */,
1516 uint /* width */,
1517 uint /* height */,
1518 c_ulong /* fg */,
1519 c_ulong /* bg */,
1520 uint /* depth */
1521 );
1522 extern Window XCreateSimpleWindow(
1523 Display* /* display */,
1524 Window /* parent */,
1525 int /* x */,
1526 int /* y */,
1527 uint /* width */,
1528 uint /* height */,
1529 uint /* border_width */,
1530 c_ulong /* border */,
1531 c_ulong /* background */
1532 );
1533 extern Window XGetSelectionOwner(
1534 Display* /* display */,
1535 Atom /* selection */
1536 );
1537 extern Window XCreateWindow(
1538 Display* /* display */,
1539 Window /* parent */,
1540 int /* x */,
1541 int /* y */,
1542 uint /* width */,
1543 uint /* height */,
1544 uint /* border_width */,
1545 int /* depth */,
1546 uint /* class */,
1547 Visual* /* visual */,
1548 c_ulong /* valuemask */,
1549 XSetWindowAttributes* /* attributes */
1550 );
1551
1552 extern Colormap* XListInstalledColormaps(
1553 Display* /* display */,
1554 Window /* w */,
1555 int* /* num_return */
1556 );
1557 extern char** XListFonts(
1558 Display* /* display */,
1559 char* /* pattern */,
1560 int /* maxnames */,
1561 int* /* actual_count_return */
1562 );
1563 extern char* XListFontsWithInfo(
1564 Display* /* display */,
1565 char* /* pattern */,
1566 int /* maxnames */,
1567 int* /* count_return */,
1568 XFontStruct** /* info_return */
1569 );
1570 extern char** XGetFontPath(
1571 Display* /* display */,
1572 int* /* npaths_return */
1573 );
1574 extern char** XListExtensions(
1575 Display* /* display */,
1576 int* /* nextensions_return */
1577 );
1578 extern Atom* XListProperties(
1579 Display* /* display */,
1580 Window /* w */,
1581 int* /* num_prop_return */
1582 );
1583 extern XHostAddress* XListHosts(
1584 Display* /* display */,
1585 int* /* nhosts_return */,
1586 Bool* /* state_return */
1587 );
1588 extern KeySym XKeycodeToKeysym(
1589 Display* /* display */,
1590 KeyCode /* keycode */,
1591 int /* index */
1592 );
1593 extern KeySym XLookupKeysym(
1594 XKeyEvent* /* key_event */,
1595 int /* index */
1596 );
1597 extern KeySym* XGetKeyboardMapping(
1598 Display* /* display */,
1599 KeyCode /* first_keycode */,
1600 int /* keycode_count */,
1601 int* /* keysyms_per_keycode_return */
1602 );
1603 extern KeySym XStringToKeysym(
1604 char* /* string */
1605 );
1606 extern c_long XMaxRequestSize(
1607 Display* /* display */
1608 );
1609 extern c_long XExtendedMaxRequestSize(
1610 Display* /* display */
1611 );
1612 extern char* XResourceManagerString(
1613 Display* /* display */
1614 );
1615 extern char* XScreenResourceString(
1616 Screen* /* screen */
1617 );
1618 extern c_ulong XDisplayMotionBufferSize(
1619 Display* /* display */
1620 );
1621 extern VisualID XVisualIDFromVisual(
1622 Visual* /* visual */
1623 );
1624
1625 /* multithread routines */
1626
1627 extern Status XInitThreads( );
1628
1629 extern void XLockDisplay(
1630 Display* /* display */
1631 );
1632
1633 extern void XUnlockDisplay(
1634 Display* /* display */
1635 );
1636
1637 /* routines for dealing with extensions */
1638
1639 extern XExtCodes* XInitExtension(
1640 Display* /* display */,
1641 char* /* name */
1642 );
1643
1644 extern XExtCodes* XAddExtension(
1645 Display* /* display */
1646 );
1647 extern XExtData* XFindOnExtensionList(
1648 XExtData** /* structure */,
1649 int /* number */
1650 );
1651 extern XExtData **XEHeadOfExtensionList(
1652 XEDataObject /* object */
1653 );
1654
1655 /* these are routines for which there are also macros */
1656 extern Window XRootWindow(
1657 Display* /* display */,
1658 int /* screen_number */
1659 );
1660 extern Window XDefaultRootWindow(
1661 Display* /* display */
1662 );
1663 extern Window XRootWindowOfScreen(
1664 Screen* /* screen */
1665 );
1666 extern Visual* XDefaultVisual(
1667 Display* /* display */,
1668 int /* screen_number */
1669 );
1670 extern Visual* XDefaultVisualOfScreen(
1671 Screen* /* screen */
1672 );
1673 extern GC XDefaultGC(
1674 Display* /* display */,
1675 int /* screen_number */
1676 );
1677 extern GC XDefaultGCOfScreen(
1678 Screen* /* screen */
1679 );
1680 extern c_ulong XBlackPixel(
1681 Display* /* display */,
1682 int /* screen_number */
1683 );
1684 extern c_ulong XWhitePixel(
1685 Display* /* display */,
1686 int /* screen_number */
1687 );
1688 extern c_ulong XAllPlanes( );
1689 extern c_ulong XBlackPixelOfScreen(
1690 Screen* /* screen */
1691 );
1692 extern c_ulong XWhitePixelOfScreen(
1693 Screen* /* screen */
1694 );
1695 extern uint XNextRequest(
1696 Display* /* display */
1697 );
1698 extern uint XLastKnownRequestProcessed(
1699 Display* /* display */
1700 );
1701 extern char* XServerVendor(
1702 Display* /* display */
1703 );
1704 extern char* XDisplayString(
1705 Display* /* display */
1706 );
1707 extern Colormap XDefaultColormap(
1708 Display* /* display */,
1709 int /* screen_number */
1710 );
1711 extern Colormap XDefaultColormapOfScreen(
1712 Screen* /* screen */
1713 );
1714 extern Display* XDisplayOfScreen(
1715 Screen* /* screen */
1716 );
1717 extern Screen* XScreenOfDisplay(
1718 Display* /* display */,
1719 int /* screen_number */
1720 );
1721 extern Screen* XDefaultScreenOfDisplay(
1722 Display* /* display */
1723 );
1724 extern c_long XEventMaskOfScreen(
1725 Screen* /* screen */
1726 );
1727
1728 extern int XScreenNumberOfScreen(
1729 Screen* /* screen */
1730 );
1731
1732 alias int function ( /* WARNING, this type not in Xlib spec */
1733 Display* /* display */,
1734 XErrorEvent* /* error_event */
1735 ) XErrorHandler;
1736
1737 extern XErrorHandler XSetErrorHandler (
1738 XErrorHandler /* handler */
1739 );
1740
1741
1742 alias int function ( /* WARNING, this type not in Xlib spec */
1743 Display* /* display */
1744 )XIOErrorHandler;
1745
1746 extern XIOErrorHandler XSetIOErrorHandler (
1747 XIOErrorHandler /* handler */
1748 );
1749
1750
1751 extern XPixmapFormatValues* XListPixmapFormats(
1752 Display* /* display */,
1753 int* /* count_return */
1754 );
1755 extern int* XListDepths(
1756 Display* /* display */,
1757 int /* screen_number */,
1758 int* /* count_return */
1759 );
1760
1761 /* ICCCM routines for things that don't require special include files; */
1762 /* other declarations are given in Xutil.h */
1763 extern Status XReconfigureWMWindow(
1764 Display* /* display */,
1765 Window /* w */,
1766 int /* screen_number */,
1767 uint /* mask */,
1768 XWindowChanges* /* changes */
1769 );
1770
1771 extern Status XGetWMProtocols(
1772 Display* /* display */,
1773 Window /* w */,
1774 Atom** /* protocols_return */,
1775 int* /* count_return */
1776 );
1777 extern Status XSetWMProtocols(
1778 Display* /* display */,
1779 Window /* w */,
1780 Atom* /* protocols */,
1781 int /* count */
1782 );
1783 extern Status XIconifyWindow(
1784 Display* /* display */,
1785 Window /* w */,
1786 int /* screen_number */
1787 );
1788 extern Status XWithdrawWindow(
1789 Display* /* display */,
1790 Window /* w */,
1791 int /* screen_number */
1792 );
1793 extern Status XGetCommand(
1794 Display* /* display */,
1795 Window /* w */,
1796 char*** /* argv_return */,
1797 int* /* argc_return */
1798 );
1799 extern Status XGetWMColormapWindows(
1800 Display* /* display */,
1801 Window /* w */,
1802 Window** /* windows_return */,
1803 int* /* count_return */
1804 );
1805 extern Status XSetWMColormapWindows(
1806 Display* /* display */,
1807 Window /* w */,
1808 Window* /* colormap_windows */,
1809 int /* count */
1810 );
1811 extern void XFreeStringList(
1812 char** /* list */
1813 );
1814 extern int XSetTransientForHint(
1815 Display* /* display */,
1816 Window /* w */,
1817 Window /* prop_window */
1818 );
1819
1820 /* The following are given in alphabetical order */
1821
1822 extern int XActivateScreenSaver(
1823 Display* /* display */
1824 );
1825
1826 extern int XAddHost(
1827 Display* /* display */,
1828 XHostAddress* /* host */
1829 );
1830
1831 extern int XAddHosts(
1832 Display* /* display */,
1833 XHostAddress* /* hosts */,
1834 int /* num_hosts */
1835 );
1836
1837 extern int XAddToExtensionList(
1838 XExtData** /* structure */,
1839 XExtData* /* ext_data */
1840 );
1841
1842 extern int XAddToSaveSet(
1843 Display* /* display */,
1844 Window /* w */
1845 );
1846
1847 extern Status XAllocColor(
1848 Display* /* display */,
1849 Colormap /* colormap */,
1850 XColor* /* screen_in_out */
1851 );
1852
1853 extern Status XAllocColorCells(
1854 Display* /* display */,
1855 Colormap /* colormap */,
1856 Bool /* contig */,
1857 c_ulong* /* plane_masks_return */,
1858 uint /* nplanes */,
1859 c_ulong* /* pixels_return */,
1860 uint /* npixels */
1861 );
1862
1863 extern Status XAllocColorPlanes(
1864 Display* /* display */,
1865 Colormap /* colormap */,
1866 Bool /* contig */,
1867 c_ulong* /* pixels_return */,
1868 int /* ncolors */,
1869 int /* nreds */,
1870 int /* ngreens */,
1871 int /* nblues */,
1872 c_ulong* /* rmask_return */,
1873 c_ulong* /* gmask_return */,
1874 c_ulong* /* bmask_return */
1875 );
1876
1877 extern Status XAllocNamedColor(
1878 Display* /* display */,
1879 Colormap /* colormap */,
1880 char* /* color_name */,
1881 XColor* /* screen_def_return */,
1882 XColor* /* exact_def_return */
1883 );
1884
1885 extern int XAllowEvents(
1886 Display* /* display */,
1887 int /* event_mode */,
1888 Time /* time */
1889 );
1890
1891 extern int XAutoRepeatOff(
1892 Display* /* display */
1893 );
1894
1895 extern int XAutoRepeatOn(
1896 Display* /* display */
1897 );
1898
1899 extern int XBell(
1900 Display* /* display */,
1901 int /* percent */
1902 );
1903
1904 extern int XBitmapBitOrder(
1905 Display* /* display */
1906 );
1907
1908 extern int XBitmapPad(
1909 Display* /* display */
1910 );
1911
1912 extern int XBitmapUnit(
1913 Display* /* display */
1914 );
1915
1916 extern int XCellsOfScreen(
1917 Screen* /* screen */
1918 );
1919
1920 extern int XChangeActivePointerGrab(
1921 Display* /* display */,
1922 uint /* event_mask */,
1923 Cursor /* cursor */,
1924 Time /* time */
1925 );
1926
1927 extern int XChangeGC(
1928 Display* /* display */,
1929 GC /* gc */,
1930 c_ulong /* valuemask */,
1931 XGCValues* /* values */
1932 );
1933
1934 extern int XChangeKeyboardControl(
1935 Display* /* display */,
1936 c_ulong /* value_mask */,
1937 XKeyboardControl* /* values */
1938 );
1939
1940 extern int XChangeKeyboardMapping(
1941 Display* /* display */,
1942 int /* first_keycode */,
1943 int /* keysyms_per_keycode */,
1944 KeySym* /* keysyms */,
1945 int /* num_codes */
1946 );
1947
1948 extern int XChangePointerControl(
1949 Display* /* display */,
1950 Bool /* do_accel */,
1951 Bool /* do_threshold */,
1952 int /* accel_numerator */,
1953 int /* accel_denominator */,
1954 int /* threshold */
1955 );
1956
1957 extern int XChangeProperty(
1958 Display* /* display */,
1959 Window /* w */,
1960 Atom /* property */,
1961 Atom /* type */,
1962 int /* format */,
1963 int /* mode */,
1964 ubyte* /* data */,
1965 int /* nelements */
1966 );
1967
1968 extern int XChangeSaveSet(
1969 Display* /* display */,
1970 Window /* w */,
1971 int /* change_mode */
1972 );
1973
1974 extern int XChangeWindowAttributes(
1975 Display* /* display */,
1976 Window /* w */,
1977 uint /* valuemask */,
1978 XSetWindowAttributes* /* attributes */
1979 );
1980
1981 extern Bool XCheckIfEvent(
1982 Display* /* display */,
1983 XEvent* /* event_return */,
1984 Bool function(
1985 Display* /* display */,
1986 XEvent* /* event */,
1987 XPointer /* arg */
1988 ) /* predicate */,
1989 XPointer /* arg */
1990 );
1991
1992 extern Bool XCheckMaskEvent(
1993 Display* /* display */,
1994 c_long /* event_mask */,
1995 XEvent* /* event_return */
1996 );
1997
1998 extern Bool XCheckTypedEvent(
1999 Display* /* display */,
2000 int /* event_type */,
2001 XEvent* /* event_return */
2002 );
2003
2004 extern Bool XCheckTypedWindowEvent(
2005 Display* /* display */,
2006 Window /* w */,
2007 int /* event_type */,
2008 XEvent* /* event_return */
2009 );
2010
2011 extern Bool XCheckWindowEvent(
2012 Display* /* display */,
2013 Window /* w */,
2014 c_long /* event_mask */,
2015 XEvent* /* event_return */
2016 );
2017
2018 extern int XCirculateSubwindows(
2019 Display* /* display */,
2020 Window /* w */,
2021 int /* direction */
2022 );
2023
2024 extern int XCirculateSubwindowsDown(
2025 Display* /* display */,
2026 Window /* w */
2027 );
2028
2029 extern int XCirculateSubwindowsUp(
2030 Display* /* display */,
2031 Window /* w */
2032 );
2033
2034 extern int XClearArea(
2035 Display* /* display */,
2036 Window /* w */,
2037 int /* x */,
2038 int /* y */,
2039 uint /* width */,
2040 uint /* height */,
2041 Bool /* exposures */
2042 );
2043
2044 extern int XClearWindow(
2045 Display* /* display */,
2046 Window /* w */
2047 );
2048
2049 extern int XCloseDisplay(
2050 Display* /* display */
2051 );
2052
2053 extern int XConfigureWindow(
2054 Display* /* display */,
2055 Window /* w */,
2056 c_ulong /* value_mask */,
2057 XWindowChanges* /* values */
2058 );
2059
2060 extern int XConnectionNumber(
2061 Display* /* display */
2062 );
2063
2064 extern int XConvertSelection(
2065 Display* /* display */,
2066 Atom /* selection */,
2067 Atom /* target */,
2068 Atom /* property */,
2069 Window /* requestor */,
2070 Time /* time */
2071 );
2072
2073 extern int XCopyArea(
2074 Display* /* display */,
2075 Drawable /* src */,
2076 Drawable /* dest */,
2077 GC /* gc */,
2078 int /* src_x */,
2079 int /* src_y */,
2080 uint /* width */,
2081 uint /* height */,
2082 int /* dest_x */,
2083 int /* dest_y */
2084 );
2085
2086 extern int XCopyGC(
2087 Display* /* display */,
2088 GC /* src */,
2089 uint /* valuemask */,
2090 GC /* dest */
2091 );
2092
2093 extern int XCopyPlane(
2094 Display* /* display */,
2095 Drawable /* src */,
2096 Drawable /* dest */,
2097 GC /* gc */,
2098 int /* src_x */,
2099 int /* src_y */,
2100 uint /* width */,
2101 uint /* height */,
2102 int /* dest_x */,
2103 int /* dest_y */,
2104 c_ulong /* plane */
2105 );
2106
2107 extern int XDefaultDepth(
2108 Display* /* display */,
2109 int /* screen_number */
2110 );
2111
2112 extern int XDefaultDepthOfScreen(
2113 Screen* /* screen */
2114 );
2115
2116 extern int XDefaultScreen(
2117 Display* /* display */
2118 );
2119
2120 extern int XDefineCursor(
2121 Display* /* display */,
2122 Window /* w */,
2123 Cursor /* cursor */
2124 );
2125
2126 extern int XDeleteProperty(
2127 Display* /* display */,
2128 Window /* w */,
2129 Atom /* property */
2130 );
2131
2132 extern int XDestroyWindow(
2133 Display* /* display */,
2134 Window /* w */
2135 );
2136
2137 extern int XDestroySubwindows(
2138 Display* /* display */,
2139 Window /* w */
2140 );
2141
2142 extern int XDoesBackingStore(
2143 Screen* /* screen */
2144 );
2145
2146 extern Bool XDoesSaveUnders(
2147 Screen* /* screen */
2148 );
2149
2150 extern int XDisableAccessControl(
2151 Display* /* display */
2152 );
2153
2154
2155 extern int XDisplayCells(
2156 Display* /* display */,
2157 int /* screen_number */
2158 );
2159
2160 extern int XDisplayHeight(
2161 Display* /* display */,
2162 int /* screen_number */
2163 );
2164
2165 extern int XDisplayHeightMM(
2166 Display* /* display */,
2167 int /* screen_number */
2168 );
2169
2170 extern int XDisplayKeycodes(
2171 Display* /* display */,
2172 int* /* min_keycodes_return */,
2173 int* /* max_keycodes_return */
2174 );
2175
2176 extern int XDisplayPlanes(
2177 Display* /* display */,
2178 int /* screen_number */
2179 );
2180
2181 extern int XDisplayWidth(
2182 Display* /* display */,
2183 int /* screen_number */
2184 );
2185
2186 extern int XDisplayWidthMM(
2187 Display* /* display */,
2188 int /* screen_number */
2189 );
2190
2191 extern int XDrawArc(
2192 Display* /* display */,
2193 Drawable /* d */,
2194 GC /* gc */,
2195 int /* x */,
2196 int /* y */,
2197 uint /* width */,
2198 uint /* height */,
2199 int /* angle1 */,
2200 int /* angle2 */
2201 );
2202
2203 extern int XDrawArcs(
2204 Display* /* display */,
2205 Drawable /* d */,
2206 GC /* gc */,
2207 XArc* /* arcs */,
2208 int /* narcs */
2209 );
2210
2211 extern int XDrawImageString(
2212 Display* /* display */,
2213 Drawable /* d */,
2214 GC /* gc */,
2215 int /* x */,
2216 int /* y */,
2217 char* /* string */,
2218 int /* length */
2219 );
2220
2221 extern int XDrawImageString16(
2222 Display* /* display */,
2223 Drawable /* d */,
2224 GC /* gc */,
2225 int /* x */,
2226 int /* y */,
2227 XChar2b* /* string */,
2228 int /* length */
2229 );
2230
2231 extern int XDrawLine(
2232 Display* /* display */,
2233 Drawable /* d */,
2234 GC /* gc */,
2235 int /* x1 */,
2236 int /* y1 */,
2237 int /* x2 */,
2238 int /* y2 */
2239 );
2240
2241 extern int XDrawLines(
2242 Display* /* display */,
2243 Drawable /* d */,
2244 GC /* gc */,
2245 XPoint* /* points */,
2246 int /* npoints */,
2247 int /* mode */
2248 );
2249
2250 extern int XDrawPoint(
2251 Display* /* display */,
2252 Drawable /* d */,
2253 GC /* gc */,
2254 int /* x */,
2255 int /* y */
2256 );
2257
2258 extern int XDrawPoints(
2259 Display* /* display */,
2260 Drawable /* d */,
2261 GC /* gc */,
2262 XPoint* /* points */,
2263 int /* npoints */,
2264 int /* mode */
2265 );
2266
2267 extern int XDrawRectangle(
2268 Display* /* display */,
2269 Drawable /* d */,
2270 GC /* gc */,
2271 int /* x */,
2272 int /* y */,
2273 uint /* width */,
2274 uint /* height */
2275 );
2276
2277 extern int XDrawRectangles(
2278 Display* /* display */,
2279 Drawable /* d */,
2280 GC /* gc */,
2281 XRectangle* /* rectangles */,
2282 int /* nrectangles */
2283 );
2284
2285 extern int XDrawSegments(
2286 Display* /* display */,
2287 Drawable /* d */,
2288 GC /* gc */,
2289 XSegment* /* segments */,
2290 int /* nsegments */
2291 );
2292
2293 extern int XDrawString(
2294 Display* /* display */,
2295 Drawable /* d */,
2296 GC /* gc */,
2297 int /* x */,
2298 int /* y */,
2299 char* /* string */,
2300 int /* length */
2301 );
2302
2303 extern int XDrawString16(
2304 Display* /* display */,
2305 Drawable /* d */,
2306 GC /* gc */,
2307 int /* x */,
2308 int /* y */,
2309 XChar2b* /* string */,
2310 int /* length */
2311 );
2312
2313 extern int XDrawText(
2314 Display* /* display */,
2315 Drawable /* d */,
2316 GC /* gc */,
2317 int /* x */,
2318 int /* y */,
2319 XTextItem* /* items */,
2320 int /* nitems */
2321 );
2322
2323 extern int XDrawText16(
2324 Display* /* display */,
2325 Drawable /* d */,
2326 GC /* gc */,
2327 int /* x */,
2328 int /* y */,
2329 XTextItem16* /* items */,
2330 int /* nitems */
2331 );
2332
2333 extern int XEnableAccessControl(
2334 Display* /* display */
2335 );
2336
2337 extern int XEventsQueued(
2338 Display* /* display */,
2339 int /* mode */
2340 );
2341
2342 extern Status XFetchName(
2343 Display* /* display */,
2344 Window /* w */,
2345 char** /* window_name_return */
2346 );
2347
2348 extern int XFillArc(
2349 Display* /* display */,
2350 Drawable /* d */,
2351 GC /* gc */,
2352 int /* x */,
2353 int /* y */,
2354 uint /* width */,
2355 uint /* height */,
2356 int /* angle1 */,
2357 int /* angle2 */
2358 );
2359
2360 extern int XFillArcs(
2361 Display* /* display */,
2362 Drawable /* d */,
2363 GC /* gc */,
2364 XArc* /* arcs */,
2365 int /* narcs */
2366 );
2367
2368 extern int XFillPolygon(
2369 Display* /* display */,
2370 Drawable /* d */,
2371 GC /* gc */,
2372 XPoint* /* points */,
2373 int /* npoints */,
2374 int /* shape */,
2375 int /* mode */
2376 );
2377
2378 extern int XFillRectangle(
2379 Display* /* display */,
2380 Drawable /* d */,
2381 GC /* gc */,
2382 int /* x */,
2383 int /* y */,
2384 uint /* width */,
2385 uint /* height */
2386 );
2387
2388 extern int XFillRectangles(
2389 Display* /* display */,
2390 Drawable /* d */,
2391 GC /* gc */,
2392 XRectangle* /* rectangles */,
2393 int /* nrectangles */
2394 );
2395
2396 extern int XFlush(
2397 Display* /* display */
2398 );
2399
2400 extern int XForceScreenSaver(
2401 Display* /* display */,
2402 int /* mode */
2403 );
2404
2405 extern int XFree(
2406 void* /* data */
2407 );
2408
2409 extern int XFreeColormap(
2410 Display* /* display */,
2411 Colormap /* colormap */
2412 );
2413
2414 extern int XFreeColors(
2415 Display* /* display */,
2416 Colormap /* colormap */,
2417 c_ulong* /* pixels */,
2418 int /* npixels */,
2419 c_ulong /* planes */
2420 );
2421
2422 extern int XFreeCursor(
2423 Display* /* display */,
2424 Cursor /* cursor */
2425 );
2426
2427 extern int XFreeExtensionList(
2428 char** /* list */
2429 );
2430
2431 extern int XFreeFont(
2432 Display* /* display */,
2433 XFontStruct* /* font_struct */
2434 );
2435
2436 extern int XFreeFontInfo(
2437 char** /* names */,
2438 XFontStruct* /* free_info */,
2439 int /* actual_count */
2440 );
2441
2442 extern int XFreeFontNames(
2443 char** /* list */
2444 );
2445
2446 extern int XFreeFontPath(
2447 char** /* list */
2448 );
2449
2450 extern int XFreeGC(
2451 Display* /* display */,
2452 GC /* gc */
2453 );
2454
2455 extern int XFreeModifiermap(
2456 XModifierKeymap* /* modmap */
2457 );
2458
2459 extern int XFreePixmap(
2460 Display* /* display */,
2461 Pixmap /* pixmap */
2462 );
2463
2464 extern int XGeometry(
2465 Display* /* display */,
2466 int /* screen */,
2467 char* /* position */,
2468 char* /* default_position */,
2469 uint /* bwidth */,
2470 uint /* fwidth */,
2471 uint /* fheight */,
2472 int /* xadder */,
2473 int /* yadder */,
2474 int* /* x_return */,
2475 int* /* y_return */,
2476 int* /* width_return */,
2477 int* /* height_return */
2478 );
2479
2480 extern int XGetErrorDatabaseText(
2481 Display* /* display */,
2482 char* /* name */,
2483 char* /* message */,
2484 char* /* default_string */,
2485 char* /* buffer_return */,
2486 int /* length */
2487 );
2488
2489 extern int XGetErrorText(
2490 Display* /* display */,
2491 int /* code */,
2492 char* /* buffer_return */,
2493 int /* length */
2494 );
2495
2496 extern Bool XGetFontProperty(
2497 XFontStruct* /* font_struct */,
2498 Atom /* atom */,
2499 c_ulong* /* value_return */
2500 );
2501
2502 extern Status XGetGCValues(
2503 Display* /* display */,
2504 GC /* gc */,
2505 c_ulong /* valuemask */,
2506 XGCValues* /* values_return */
2507 );
2508
2509 extern Status XGetGeometry(
2510 Display* /* display */,
2511 Drawable /* d */,
2512 Window* /* root_return */,
2513 int* /* x_return */,
2514 int* /* y_return */,
2515 uint* /* width_return */,
2516 uint* /* height_return */,
2517 uint* /* border_width_return */,
2518 uint* /* depth_return */
2519 );
2520
2521 extern Status XGetIconName(
2522 Display* /* display */,
2523 Window /* w */,
2524 char** /* icon_name_return */
2525 );
2526
2527 extern int XGetInputFocus(
2528 Display* /* display */,
2529 Window* /* focus_return */,
2530 int* /* revert_to_return */
2531 );
2532
2533 extern int XGetKeyboardControl(
2534 Display* /* display */,
2535 XKeyboardState* /* values_return */
2536 );
2537
2538 extern int XGetPointerControl(
2539 Display* /* display */,
2540 int* /* accel_numerator_return */,
2541 int* /* accel_denominator_return */,
2542 int* /* threshold_return */
2543 );
2544
2545 extern int XGetPointerMapping(
2546 Display* /* display */,
2547 ubyte* /* map_return */,
2548 int /* nmap */
2549 );
2550
2551 extern int XGetScreenSaver(
2552 Display* /* display */,
2553 int* /* timeout_return */,
2554 int* /* interval_return */,
2555 int* /* prefer_blanking_return */,
2556 int* /* allow_exposures_return */
2557 );
2558
2559 extern Status XGetTransientForHint(
2560 Display* /* display */,
2561 Window /* w */,
2562 Window* /* prop_window_return */
2563 );
2564
2565 extern int XGetWindowProperty(
2566 Display* /* display */,
2567 Window /* w */,
2568 Atom /* property */,
2569 c_long /* c_long_offset */,
2570 c_long /* c_long_length */,
2571 Bool /* delete */,
2572 Atom /* req_type */,
2573 Atom* /* actual_type_return */,
2574 int* /* actual_format_return */,
2575 c_ulong* /* nitems_return */,
2576 c_ulong* /* chars_after_return */,
2577 ubyte** /* prop_return */
2578 );
2579
2580 extern Status XGetWindowAttributes(
2581 Display* /* display */,
2582 Window /* w */,
2583 XWindowAttributes* /* window_attributes_return */
2584 );
2585
2586 extern int XGrabButton(
2587 Display* /* display */,
2588 uint /* button */,
2589 uint /* modifiers */,
2590 Window /* grab_window */,
2591 Bool /* owner_events */,
2592 uint /* event_mask */,
2593 int /* pointer_mode */,
2594 int /* keyboard_mode */,
2595 Window /* confine_to */,
2596 Cursor /* cursor */
2597 );
2598
2599 extern int XGrabKey(
2600 Display* /* display */,
2601 int /* keycode */,
2602 uint /* modifiers */,
2603 Window /* grab_window */,
2604 Bool /* owner_events */,
2605 int /* pointer_mode */,
2606 int /* keyboard_mode */
2607 );
2608
2609 extern int XGrabKeyboard(
2610 Display* /* display */,
2611 Window /* grab_window */,
2612 Bool /* owner_events */,
2613 int /* pointer_mode */,
2614 int /* keyboard_mode */,
2615 Time /* time */
2616 );
2617
2618 extern int XGrabPointer(
2619 Display* /* display */,
2620 Window /* grab_window */,
2621 Bool /* owner_events */,
2622 uint /* event_mask */,
2623 int /* pointer_mode */,
2624 int /* keyboard_mode */,
2625 Window /* confine_to */,
2626 Cursor /* cursor */,
2627 Time /* time */
2628 );
2629
2630 extern int XGrabServer(
2631 Display* /* display */
2632 );
2633
2634 extern int XHeightMMOfScreen(
2635 Screen* /* screen */
2636 );
2637
2638 extern int XHeightOfScreen(
2639 Screen* /* screen */
2640 );
2641
2642 extern int XIfEvent(
2643 Display* /* display */,
2644 XEvent* /* event_return */,
2645 Bool function(
2646 Display* /* display */,
2647 XEvent* /* event */,
2648 XPointer /* arg */
2649 ) /* predicate */,
2650 XPointer /* arg */
2651 );
2652
2653 extern int XImagecharOrder(
2654 Display* /* display */
2655 );
2656
2657 extern int XInstallColormap(
2658 Display* /* display */,
2659 Colormap /* colormap */
2660 );
2661
2662 extern KeyCode XKeysymToKeycode(
2663 Display* /* display */,
2664 KeySym /* keysym */
2665 );
2666
2667 extern int XKillClient(
2668 Display* /* display */,
2669 XID /* resource */
2670 );
2671
2672 extern Status XLookupColor(
2673 Display* /* display */,
2674 Colormap /* colormap */,
2675 char* /* color_name */,
2676 XColor* /* exact_def_return */,
2677 XColor* /* screen_def_return */
2678 );
2679
2680 extern int XLowerWindow(
2681 Display* /* display */,
2682 Window /* w */
2683 );
2684
2685 extern int XMapRaised(
2686 Display* /* display */,
2687 Window /* w */
2688 );
2689
2690 extern int XMapSubwindows(
2691 Display* /* display */,
2692 Window /* w */
2693 );
2694
2695 extern int XMapWindow(
2696 Display* /* display */,
2697 Window /* w */
2698 );
2699
2700 extern int XMaskEvent(
2701 Display* /* display */,
2702 c_long /* event_mask */,
2703 XEvent* /* event_return */
2704 );
2705
2706 extern int XMaxCmapsOfScreen(
2707 Screen* /* screen */
2708 );
2709
2710 extern int XMinCmapsOfScreen(
2711 Screen* /* screen */
2712 );
2713
2714 extern int XMoveResizeWindow(
2715 Display* /* display */,
2716 Window /* w */,
2717 int /* x */,
2718 int /* y */,
2719 uint /* width */,
2720 uint /* height */
2721 );
2722
2723 extern int XMoveWindow(
2724 Display* /* display */,
2725 Window /* w */,
2726 int /* x */,
2727 int /* y */
2728 );
2729
2730 extern int XNextEvent(
2731 Display* /* display */,
2732 XEvent* /* event_return */
2733 );
2734
2735 extern int XNoOp(
2736 Display* /* display */
2737 );
2738
2739 extern Status XParseColor(
2740 Display* /* display */,
2741 Colormap /* colormap */,
2742 char* /* spec */,
2743 XColor* /* exact_def_return */
2744 );
2745
2746 extern int XParseGeometry(
2747 char* /* parsestring */,
2748 int* /* x_return */,
2749 int* /* y_return */,
2750 uint* /* width_return */,
2751 uint* /* height_return */
2752 );
2753
2754 extern int XPeekEvent(
2755 Display* /* display */,
2756 XEvent* /* event_return */
2757 );
2758
2759 extern int XPeekIfEvent(
2760 Display* /* display */,
2761 XEvent* /* event_return */,
2762 Bool function(
2763 Display* /* display */,
2764 XEvent* /* event */,
2765 XPointer /* arg */
2766 ) /* predicate */,
2767 XPointer /* arg */
2768 );
2769
2770 extern int XPending(
2771 Display* /* display */
2772 );
2773
2774 extern int XPlanesOfScreen(
2775 Screen* /* screen */
2776 );
2777
2778 extern int XProtocolRevision(
2779 Display* /* display */
2780 );
2781
2782 extern int XProtocolVersion(
2783 Display* /* display */
2784 );
2785
2786
2787 extern int XPutBackEvent(
2788 Display* /* display */,
2789 XEvent* /* event */
2790 );
2791
2792 extern int XPutImage(
2793 Display* /* display */,
2794 Drawable /* d */,
2795 GC /* gc */,
2796 XImage* /* image */,
2797 int /* src_x */,
2798 int /* src_y */,
2799 int /* dest_x */,
2800 int /* dest_y */,
2801 uint /* width */,
2802 uint /* height */
2803 );
2804
2805 extern int XQLength(
2806 Display* /* display */
2807 );
2808
2809 extern Status XQueryBestCursor(
2810 Display* /* display */,
2811 Drawable /* d */,
2812 uint /* width */,
2813 uint /* height */,
2814 uint* /* width_return */,
2815 uint* /* height_return */
2816 );
2817
2818 extern Status XQueryBestSize(
2819 Display* /* display */,
2820 int /* class */,
2821 Drawable /* which_screen */,
2822 uint /* width */,
2823 uint /* height */,
2824 uint* /* width_return */,
2825 uint* /* height_return */
2826 );
2827
2828 extern Status XQueryBestStipple(
2829 Display* /* display */,
2830 Drawable /* which_screen */,
2831 uint /* width */,
2832 uint /* height */,
2833 uint* /* width_return */,
2834 uint* /* height_return */
2835 );
2836
2837 extern Status XQueryBestTile(
2838 Display* /* display */,
2839 Drawable /* which_screen */,
2840 uint /* width */,
2841 uint /* height */,
2842 uint* /* width_return */,
2843 uint* /* height_return */
2844 );
2845
2846 extern int XQueryColor(
2847 Display* /* display */,
2848 Colormap /* colormap */,
2849 XColor* /* def_in_out */
2850 );
2851
2852 extern int XQueryColors(
2853 Display* /* display */,
2854 Colormap /* colormap */,
2855 XColor* /* defs_in_out */,
2856 int /* ncolors */
2857 );
2858
2859 extern Bool XQueryExtension(
2860 Display* /* display */,
2861 char* /* name */,
2862 int* /* major_opcode_return */,
2863 int* /* first_event_return */,
2864 int* /* first_error_return */
2865 );
2866
2867 extern int XQueryKeymap(
2868 Display* /* display */,
2869 char [32] /* keys_return */
2870 );
2871
2872 extern Bool XQueryPointer(
2873 Display* /* display */,
2874 Window /* w */,
2875 Window* /* root_return */,
2876 Window* /* child_return */,
2877 int* /* root_x_return */,
2878 int* /* root_y_return */,
2879 int* /* win_x_return */,
2880 int* /* win_y_return */,
2881 uint* /* mask_return */
2882 );
2883
2884 extern int XQueryTextExtents(
2885 Display* /* display */,
2886 XID /* font_ID */,
2887 char* /* string */,
2888 int /* nchars */,
2889 int* /* direction_return */,
2890 int* /* font_ascent_return */,
2891 int* /* font_descent_return */,
2892 XCharStruct* /* overall_return */
2893 );
2894
2895 extern int XQueryTextExtents16(
2896 Display* /* display */,
2897 XID /* font_ID */,
2898 XChar2b* /* string */,
2899 int /* nchars */,
2900 int* /* direction_return */,
2901 int* /* font_ascent_return */,
2902 int* /* font_descent_return */,
2903 XCharStruct* /* overall_return */
2904 );
2905
2906 extern Status XQueryTree(
2907 Display* /* display */,
2908 Window /* w */,
2909 Window* /* root_return */,
2910 Window* /* parent_return */,
2911 Window** /* children_return */,
2912 uint* /* nchildren_return */
2913 );
2914
2915 extern int XRaiseWindow(
2916 Display* /* display */,
2917 Window /* w */
2918 );
2919
2920 extern int XReadBitmapFile(
2921 Display* /* display */,
2922 Drawable /* d */,
2923 ubyte* /* filename */,
2924 uint* /* width_return */,
2925 uint* /* height_return */,
2926 Pixmap* /* bitmap_return */,
2927 int* /* x_hot_return */,
2928 int* /* y_hot_return */
2929 );
2930
2931 extern int XReadBitmapFileData(
2932 char* /* filename */,
2933 uint* /* width_return */,
2934 uint* /* height_return */,
2935 ubyte** /* data_return */,
2936 int* /* x_hot_return */,
2937 int* /* y_hot_return */
2938 );
2939
2940 extern int XRebindKeysym(
2941 Display* /* display */,
2942 KeySym /* keysym */,
2943 KeySym* /* list */,
2944 int /* mod_count */,
2945 ubyte* /* string */,
2946 int /* chars_string */
2947 );
2948
2949 extern int XRecolorCursor(
2950 Display* /* display */,
2951 Cursor /* cursor */,
2952 XColor* /* foreground_color */,
2953 XColor* /* background_color */
2954 );
2955
2956 extern int XRefreshKeyboardMapping(
2957 XMappingEvent* /* event_map */
2958 );
2959
2960 extern int XRemoveFromSaveSet(
2961 Display* /* display */,
2962 Window /* w */
2963 );
2964
2965 extern int XRemoveHost(
2966 Display* /* display */,
2967 XHostAddress* /* host */
2968 );
2969
2970 extern int XRemoveHosts(
2971 Display* /* display */,
2972 XHostAddress* /* hosts */,
2973 int /* num_hosts */
2974 );
2975
2976 extern int XReparentWindow(
2977 Display* /* display */,
2978 Window /* w */,
2979 Window /* parent */,
2980 int /* x */,
2981 int /* y */
2982 );
2983
2984 extern int XResetScreenSaver(
2985 Display* /* display */
2986 );
2987
2988 extern int XResizeWindow(
2989 Display* /* display */,
2990 Window /* w */,
2991 uint /* width */,
2992 uint /* height */
2993 );
2994
2995 extern int XRestackWindows(
2996 Display* /* display */,
2997 Window* /* windows */,
2998 int /* nwindows */
2999 );
3000
3001 extern int XRotateBuffers(
3002 Display* /* display */,
3003 int /* rotate */
3004 );
3005
3006 extern int XRotateWindowProperties(
3007 Display* /* display */,
3008 Window /* w */,
3009 Atom* /* properties */,
3010 int /* num_prop */,
3011 int /* npositions */
3012 );
3013
3014 extern int XScreenCount(
3015 Display* /* display */
3016 );
3017
3018 extern int XSelectInput(
3019 Display* /* display */,
3020 Window /* w */,
3021 c_long /* event_mask */
3022 );
3023
3024 extern Status XSendEvent(
3025 Display* /* display */,
3026 Window /* w */,
3027 Bool /* propagate */,
3028 c_long /* event_mask */,
3029 XEvent* /* event_send */
3030 );
3031
3032 extern int XSetAccessControl(
3033 Display* /* display */,
3034 int /* mode */
3035 );
3036
3037 extern int XSetArcMode(
3038 Display* /* display */,
3039 GC /* gc */,
3040 int /* arc_mode */
3041 );
3042
3043 extern int XSetBackground(
3044 Display* /* display */,
3045 GC /* gc */,
3046 c_ulong /* background */
3047 );
3048
3049 extern int XSetClipMask(
3050 Display* /* display */,
3051 GC /* gc */,
3052 Pixmap /* pixmap */
3053 );
3054
3055 extern int XSetClipOrigin(
3056 Display* /* display */,
3057 GC /* gc */,
3058 int /* clip_x_origin */,
3059 int /* clip_y_origin */
3060 );
3061
3062 extern int XSetClipRectangles(
3063 Display* /* display */,
3064 GC /* gc */,
3065 int /* clip_x_origin */,
3066 int /* clip_y_origin */,
3067 XRectangle* /* rectangles */,
3068 int /* n */,
3069 int /* ordering */
3070 );
3071
3072 extern int XSetCloseDownMode(
3073 Display* /* display */,
3074 int /* close_mode */
3075 );
3076
3077 extern int XSetCommand(
3078 Display* /* display */,
3079 Window /* w */,
3080 char** /* argv */,
3081 int /* argc */
3082 );
3083
3084 extern int XSetDashes(
3085 Display* /* display */,
3086 GC /* gc */,
3087 int /* dash_offset */,
3088 char* /* dash_list */,
3089 int /* n */
3090 );
3091
3092 extern int XSetFillRule(
3093 Display* /* display */,
3094 GC /* gc */,
3095 int /* fill_rule */
3096 );
3097
3098 extern int XSetFillStyle(
3099 Display* /* display */,
3100 GC /* gc */,
3101 int /* fill_style */
3102 );
3103
3104 extern int XSetFont(
3105 Display* /* display */,
3106 GC /* gc */,
3107 Font /* font */
3108 );
3109
3110 extern int XSetFontPath(
3111 Display* /* display */,
3112 char** /* directories */,
3113 int /* ndirs */
3114 );
3115
3116 extern int XSetForeground(
3117 Display* /* display */,
3118 GC /* gc */,
3119 c_ulong /* foreground */
3120 );
3121
3122 extern int XSetFunction(
3123 Display* /* display */,
3124 GC /* gc */,
3125 int /* function */
3126 );
3127
3128 extern int XSetGraphicsExposures(
3129 Display* /* display */,
3130 GC /* gc */,
3131 Bool /* graphics_exposures */
3132 );
3133
3134 extern int XSetIconName(
3135 Display* /* display */,
3136 Window /* w */,
3137 char* /* icon_name */
3138 );
3139
3140 extern int XSetInputFocus(
3141 Display* /* display */,
3142 Window /* focus */,
3143 int /* revert_to */,
3144 Time /* time */
3145 );
3146
3147 extern int XSetLineAttributes(
3148 Display* /* display */,
3149 GC /* gc */,
3150 uint /* line_width */,
3151 int /* line_style */,
3152 int /* cap_style */,
3153 int /* join_style */
3154 );
3155
3156 extern int XSetModifierMapping(
3157 Display* /* display */,
3158 XModifierKeymap* /* modmap */
3159 );
3160
3161 extern int XSetPlaneMask(
3162 Display* /* display */,
3163 GC /* gc */,
3164 c_ulong /* plane_mask */
3165 );
3166
3167 extern int XSetPointerMapping(
3168 Display* /* display */,
3169 ubyte* /* map */,
3170 int /* nmap */
3171 );
3172
3173 extern int XSetScreenSaver(
3174 Display* /* display */,
3175 int /* timeout */,
3176 int /* interval */,
3177 int /* prefer_blanking */,
3178 int /* allow_exposures */
3179 );
3180
3181 extern int XSetSelectionOwner(
3182 Display* /* display */,
3183 Atom /* selection */,
3184 Window /* owner */,
3185 Time /* time */
3186 );
3187
3188 extern int XSetState(
3189 Display* /* display */,
3190 GC /* gc */,
3191 c_ulong /* foreground */,
3192 c_ulong /* background */,
3193 int /* function */,
3194 c_ulong /* plane_mask */
3195 );
3196
3197 extern int XSetStipple(
3198 Display* /* display */,
3199 GC /* gc */,
3200 Pixmap /* stipple */
3201 );
3202
3203 extern int XSetSubwindowMode(
3204 Display* /* display */,
3205 GC /* gc */,
3206 int /* subwindow_mode */
3207 );
3208
3209 extern int XSetTSOrigin(
3210 Display* /* display */,
3211 GC /* gc */,
3212 int /* ts_x_origin */,
3213 int /* ts_y_origin */
3214 );
3215
3216 extern int XSetTile(
3217 Display* /* display */,
3218 GC /* gc */,
3219 Pixmap /* tile */
3220 );
3221
3222 extern int XSetWindowBackground(
3223 Display* /* display */,
3224 Window /* w */,
3225 c_ulong /* background_pixel */
3226 );
3227
3228 extern int XSetWindowBackgroundPixmap(
3229 Display* /* display */,
3230 Window /* w */,
3231 Pixmap /* background_pixmap */
3232 );
3233
3234 extern int XSetWindowBorder(
3235 Display* /* display */,
3236 Window /* w */,
3237 c_ulong /* border_pixel */
3238 );
3239
3240 extern int XSetWindowBorderPixmap(
3241 Display* /* display */,
3242 Window /* w */,
3243 Pixmap /* border_pixmap */
3244 );
3245
3246 extern int XSetWindowBorderWidth(
3247 Display* /* display */,
3248 Window /* w */,
3249 uint /* width */
3250 );
3251
3252 extern int XSetWindowColormap(
3253 Display* /* display */,
3254 Window /* w */,
3255 Colormap /* colormap */
3256 );
3257
3258 extern int XStoreBuffer(
3259 Display* /* display */,
3260 char* /* chars */,
3261 int /* nchars */,
3262 int /* buffer */
3263 );
3264
3265 extern int XStorechars(
3266 Display* /* display */,
3267 char* /* chars */,
3268 int /* nchars */
3269 );
3270
3271 extern int XStoreColor(
3272 Display* /* display */,
3273 Colormap /* colormap */,
3274 XColor* /* color */
3275 );
3276
3277 extern int XStoreColors(
3278 Display* /* display */,
3279 Colormap /* colormap */,
3280 XColor* /* color */,
3281 int /* ncolors */
3282 );
3283
3284 extern int XStoreName(
3285 Display* /* display */,
3286 Window /* w */,
3287 char* /* window_name */
3288 );
3289
3290 extern int XStoreNamedColor(
3291 Display* /* display */,
3292 Colormap /* colormap */,
3293 char* /* color */,
3294 c_ulong /* pixel */,
3295 int /* flags */
3296 );
3297
3298 extern int XSync(
3299 Display* /* display */,
3300 Bool /* discard */
3301 );
3302
3303 extern int XTextExtents(
3304 XFontStruct* /* font_struct */,
3305 char* /* string */,
3306 int /* nchars */,
3307 int* /* direction_return */,
3308 int* /* font_ascent_return */,
3309 int* /* font_descent_return */,
3310 XCharStruct* /* overall_return */
3311 );
3312
3313 extern int XTextExtents16(
3314 XFontStruct* /* font_struct */,
3315 XChar2b* /* string */,
3316 int /* nchars */,
3317 int* /* direction_return */,
3318 int* /* font_ascent_return */,
3319 int* /* font_descent_return */,
3320 XCharStruct* /* overall_return */
3321 );
3322
3323 extern int XTextWidth(
3324 XFontStruct* /* font_struct */,
3325 char* /* string */,
3326 int /* count */
3327 );
3328
3329 extern int XTextWidth16(
3330 XFontStruct* /* font_struct */,
3331 XChar2b* /* string */,
3332 int /* count */
3333 );
3334
3335 extern Bool XTranslateCoordinates(
3336 Display* /* display */,
3337 Window /* src_w */,
3338 Window /* dest_w */,
3339 int /* src_x */,
3340 int /* src_y */,
3341 int* /* dest_x_return */,
3342 int* /* dest_y_return */,
3343 Window* /* child_return */
3344 );
3345
3346 extern int XUndefineCursor(
3347 Display* /* display */,
3348 Window /* w */
3349 );
3350
3351 extern int XUngrabButton(
3352 Display* /* display */,
3353 uint /* button */,
3354 uint /* modifiers */,
3355 Window /* grab_window */
3356 );
3357
3358 extern int XUngrabKey(
3359 Display* /* display */,
3360 int /* keycode */,
3361 uint /* modifiers */,
3362 Window /* grab_window */
3363 );
3364
3365 extern int XUngrabKeyboard(
3366 Display* /* display */,
3367 Time /* time */
3368 );
3369
3370 extern int XUngrabPointer(
3371 Display* /* display */,
3372 Time /* time */
3373 );
3374
3375 extern int XUngrabServer(
3376 Display* /* display */
3377 );
3378
3379 extern int XUninstallColormap(
3380 Display* /* display */,
3381 Colormap /* colormap */
3382 );
3383
3384 extern int XUnloadFont(
3385 Display* /* display */,
3386 Font /* font */
3387 );
3388
3389 extern int XUnmapSubwindows(
3390 Display* /* display */,
3391 Window /* w */
3392 );
3393
3394 extern int XUnmapWindow(
3395 Display* /* display */,
3396 Window /* w */
3397 );
3398
3399 extern int XVendorRelease(
3400 Display* /* display */
3401 );
3402
3403 extern int XWarpPointer(
3404 Display* /* display */,
3405 Window /* src_w */,
3406 Window /* dest_w */,
3407 int /* src_x */,
3408 int /* src_y */,
3409 uint /* src_width */,
3410 uint /* src_height */,
3411 int /* dest_x */,
3412 int /* dest_y */
3413 );
3414
3415 extern int XWidthMMOfScreen(
3416 Screen* /* screen */
3417 );
3418
3419 extern int XWidthOfScreen(
3420 Screen* /* screen */
3421 );
3422
3423 extern int XWindowEvent(
3424 Display* /* display */,
3425 Window /* w */,
3426 c_long /* event_mask */,
3427 XEvent* /* event_return */
3428 );
3429
3430 extern int XWriteBitmapFile(
3431 Display* /* display */,
3432 char* /* filename */,
3433 Pixmap /* bitmap */,
3434 uint /* width */,
3435 uint /* height */,
3436 int /* x_hot */,
3437 int /* y_hot */
3438 );
3439
3440 extern Bool XSupportsLocale ( );
3441
3442 extern char* XSetLocaleModifiers(
3443 const char* /* modifier_list */
3444 );
3445
3446 extern XOM XOpenOM(
3447 Display* /* display */,
3448 _XrmHashBucketRec* /* rdb */,
3449 char* /* res_name */,
3450 char* /* res_class */
3451 );
3452
3453 extern Status XCloseOM(
3454 XOM /* om */
3455 );
3456
3457 extern char* XSetOMValues(
3458 XOM /* om */,
3459 ...
3460 );
3461
3462 extern char* XGetOMValues(
3463 XOM /* om */,
3464 ...
3465 );
3466
3467 extern Display* XDisplayOfOM(
3468 XOM /* om */
3469 );
3470
3471 extern char* XLocaleOfOM(
3472
3473 XOM /* om */
3474 );
3475
3476 extern XOC XCreateOC(
3477 XOM /* om */,
3478 ...
3479 );
3480
3481 extern void XDestroyOC(
3482 XOC /* oc */
3483 );
3484
3485 extern XOM XOMOfOC(
3486 XOC /* oc */
3487 );
3488
3489 extern char* XSetOCValues(
3490 XOC /* oc */,
3491 ...
3492 );
3493
3494 extern char* XGetOCValues(
3495 XOC /* oc */,
3496 ...
3497 );
3498
3499 extern XFontSet XCreateFontSet(
3500 Display* /* display */,
3501 char* /* base_font_name_list */,
3502 char*** /* missing_charset_list */,
3503 int* /* missing_charset_count */,
3504 char** /* def_string */
3505 );
3506
3507 extern void XFreeFontSet(
3508 Display* /* display */,
3509 XFontSet /* font_set */
3510 );
3511
3512 extern int XFontsOfFontSet(
3513 XFontSet /* font_set */,
3514 XFontStruct*** /* font_struct_list */,
3515 char*** /* font_name_list */
3516 );
3517
3518 extern char* XBaseFontNameListOfFontSet(
3519 char /* font_set */
3520 );
3521
3522 extern char* XLocaleOfFontSet(
3523 XFontSet /* font_set */
3524 );
3525
3526 extern Bool XContextDependentDrawing(
3527 XFontSet /* font_set */
3528 );
3529
3530 extern Bool XDirectionalDependentDrawing(
3531 XFontSet /* font_set */
3532 );
3533
3534 extern Bool XContextualDrawing(
3535 XFontSet /* font_set */
3536 );
3537
3538 extern XFontSetExtents* XExtentsOfFontSet(
3539 XFontSet /* font_set */
3540 );
3541
3542 extern int XmbTextEscapement(
3543 XFontSet /* font_set */,
3544 char* /* text */,
3545 int /* chars_text */
3546 );
3547
3548 extern int XwcTextEscapement(
3549 XFontSet /* font_set */,
3550 wchar* /* text */,
3551 int /* num_wchars */
3552 );
3553
3554 extern int Xutf8TextEscapement(
3555 XFontSet /* font_set */,
3556 char* /* text */,
3557 int /* chars_text */
3558 );
3559
3560 extern int XmbTextExtents(
3561 XFontSet /* font_set */,
3562 char* /* text */,
3563 int /* chars_text */,
3564 XRectangle* /* overall_ink_return */,
3565 XRectangle* /* overall_logical_return */
3566 );
3567
3568 extern int XwcTextExtents(
3569 XFontSet /* font_set */,
3570 wchar* /* text */,
3571 int /* num_wchars */,
3572 XRectangle* /* overall_ink_return */,
3573 XRectangle* /* overall_logical_return */
3574 );
3575
3576 extern int Xutf8TextExtents(
3577 XFontSet /* font_set */,
3578 char* /* text */,
3579 int /* chars_text */,
3580 XRectangle* /* overall_ink_return */,
3581 XRectangle* /* overall_logical_return */
3582 );
3583
3584 extern Status XmbTextPerCharExtents(
3585 XFontSet /* font_set */,
3586 char* /* text */,
3587 int /* chars_text */,
3588 XRectangle* /* ink_extents_buffer */,
3589 XRectangle* /* logical_extents_buffer */,
3590 int /* buffer_size */,
3591 int* /* num_chars */,
3592 XRectangle* /* overall_ink_return */,
3593 XRectangle* /* overall_logical_return */
3594 );
3595
3596 extern Status XwcTextPerCharExtents(
3597 XFontSet /* font_set */,
3598 wchar* /* text */,
3599 int /* num_wchars */,
3600 XRectangle* /* ink_extents_buffer */,
3601 XRectangle* /* logical_extents_buffer */,
3602 int /* buffer_size */,
3603 int* /* num_chars */,
3604 XRectangle* /* overall_ink_return */,
3605 XRectangle* /* overall_logical_return */
3606 );
3607
3608 extern Status Xutf8TextPerCharExtents(
3609 XFontSet /* font_set */,
3610 char* /* text */,
3611 int /* chars_text */,
3612 XRectangle* /* ink_extents_buffer */,
3613 XRectangle* /* logical_extents_buffer */,
3614 int /* buffer_size */,
3615 int* /* num_chars */,
3616 XRectangle* /* overall_ink_return */,
3617 XRectangle* /* overall_logical_return */
3618 );
3619
3620 extern void XmbDrawText(
3621 Display* /* display */,
3622 Drawable /* d */,
3623 GC /* gc */,
3624 int /* x */,
3625 int /* y */,
3626 XmbTextItem* /* text_items */,
3627 int /* nitems */
3628 );
3629
3630 extern void XwcDrawText(
3631 Display* /* display */,
3632 Drawable /* d */,
3633 GC /* gc */,
3634 int /* x */,
3635 int /* y */,
3636 XwcTextItem* /* text_items */,
3637 int /* nitems */
3638 );
3639
3640 extern void Xutf8DrawText(
3641 Display* /* display */,
3642 Drawable /* d */,
3643 GC /* gc */,
3644 int /* x */,
3645 int /* y */,
3646 XmbTextItem* /* text_items */,
3647 int /* nitems */
3648 );
3649
3650 extern void XmbDrawString(
3651 Display* /* display */,
3652 Drawable /* d */,
3653 XFontSet /* font_set */,
3654 GC /* gc */,
3655 int /* x */,
3656 int /* y */,
3657 char* /* text */,
3658 int /* chars_text */
3659 );
3660
3661 extern void XwcDrawString(
3662 Display* /* display */,
3663 Drawable /* d */,
3664 XFontSet /* font_set */,
3665 GC /* gc */,
3666 int /* x */,
3667 int /* y */,
3668 wchar* /* text */,
3669 int /* num_wchars */
3670 );
3671
3672 extern void Xutf8DrawString(
3673 Display* /* display */,
3674 Drawable /* d */,
3675 XFontSet /* font_set */,
3676 GC /* gc */,
3677 int /* x */,
3678 int /* y */,
3679 char* /* text */,
3680 int /* chars_text */
3681 );
3682
3683 extern void XmbDrawImageString(
3684 Display* /* display */,
3685 Drawable /* d */,
3686 XFontSet /* font_set */,
3687 GC /* gc */,
3688 int /* x */,
3689 int /* y */,
3690 char* /* text */,
3691 int /* chars_text */
3692 );
3693
3694 extern void XwcDrawImageString(
3695 Display* /* display */,
3696 Drawable /* d */,
3697 XFontSet /* font_set */,
3698 GC /* gc */,
3699 int /* x */,
3700 int /* y */,
3701 wchar* /* text */,
3702 int /* num_wchars */
3703 );
3704
3705 extern void Xutf8DrawImageString(
3706 Display* /* display */,
3707 Drawable /* d */,
3708 XFontSet /* font_set */,
3709 GC /* gc */,
3710 int /* x */,
3711 int /* y */,
3712 char* /* text */,
3713 int /* chars_text */
3714 );
3715
3716 extern XIM XOpenIM(
3717 Display* /* dpy */,
3718 _XrmHashBucketRec* /* rdb */,
3719 char* /* res_name */,
3720 char* /* res_class */
3721 );
3722
3723 extern Status XCloseIM(
3724 XIM /* im */
3725 );
3726
3727 extern char* XGetIMValues(
3728 XIM /* im */,
3729 ...
3730 );
3731
3732 extern char* XSetIMValues(
3733 XIM /* im */,
3734 ...
3735 );
3736
3737 extern Display* XDisplayOfIM(
3738 XIM /* im */
3739 );
3740
3741 extern char* XLocaleOfIM(
3742 XIM /* im */
3743 );
3744
3745 extern XIC XCreateIC(
3746 XIM, /* im */
3747 ...
3748 );
3749
3750 extern void XDestroyIC(
3751 XIC /* ic */
3752 );
3753
3754 extern void XSetICFocus(
3755 XIC /* ic */
3756 );
3757
3758 extern void XUnsetICFocus(
3759 XIC /* ic */
3760 );
3761
3762 extern wchar* XwcResetIC(
3763 XIC /* ic */
3764 );
3765
3766 extern char* XmbResetIC(
3767 XIC /* ic */
3768 );
3769
3770 extern char* Xutf8ResetIC(
3771 XIC /* ic */
3772 );
3773
3774 extern char* XSetICValues(
3775 XIC /* ic */,
3776 ...
3777 );
3778
3779 extern char* XGetICValues(
3780 XIC /* ic */,
3781 ...
3782 );
3783
3784 extern XIM XIMOfIC(
3785 XIC /* ic */
3786 );
3787
3788 extern Bool XFilterEvent(
3789 XEvent* /* event */,
3790 Window /* window */
3791 );
3792
3793 extern int XmbLookupString(
3794 XIC /* ic */,
3795 XKeyPressedEvent* /* event */,
3796 char* /* buffer_return */,
3797 int /* chars_buffer */,
3798 KeySym* /* keysym_return */,
3799 Status* /* status_return */
3800 );
3801
3802 extern int XwcLookupString(
3803 XIC /* ic */,
3804 XKeyPressedEvent* /* event */,
3805 wchar* /* buffer_return */,
3806 int /* wchars_buffer */,
3807 KeySym* /* keysym_return */,
3808 Status* /* status_return */
3809 );
3810
3811 extern int Xutf8LookupString(
3812 XIC /* ic */,
3813 XKeyPressedEvent* /* event */,
3814 char* /* buffer_return */,
3815 int /* chars_buffer */,
3816 KeySym* /* keysym_return */,
3817 Status* /* status_return */
3818 );
3819
3820 extern XVaNestedList XVaCreateNestedList(
3821 int /*unused */,
3822 ...
3823 );
3824 /* internal connections for IMs */
3825
3826 extern Bool XRegisterIMInstantiateCallback(
3827 Display* /* dpy */,
3828 _XrmHashBucketRec* /* rdb */,
3829 char* /* res_name */,
3830 char* /* res_class */,
3831 XIDProc /* callback */,
3832 XPointer /* client_data */
3833 );
3834
3835 extern Bool XUnregisterIMInstantiateCallback(
3836 Display* /* dpy */,
3837 _XrmHashBucketRec* /* rdb */,
3838 char* /* res_name */,
3839 char* /* res_class */,
3840 XIDProc /* callback */,
3841 XPointer /* client_data */
3842 );
3843
3844 alias void function(
3845 Display* /* dpy */,
3846 XPointer /* client_data */,
3847 int /* fd */,
3848 Bool /* opening, open or close flag */,
3849 XPointer* /* watch_data, open sets, close uses */
3850 ) XConnectionWatchProc;
3851
3852
3853 extern Status XInternalConnectionNumbers(
3854 Display* /* dpy */,
3855 int** /* fd_return */,
3856 int* /* count_return */
3857 );
3858
3859 extern void XProcessInternalConnection(
3860 Display* /* dpy */,
3861 int /* fd */
3862 );
3863
3864 extern Status XAddConnectionWatch(
3865 Display* /* dpy */,
3866 XConnectionWatchProc /* callback */,
3867 XPointer /* client_data */
3868 );
3869
3870 extern void XRemoveConnectionWatch(
3871 Display* /* dpy */,
3872 XConnectionWatchProc /* callback */,
3873 XPointer /* client_data */
3874 );
3875
3876 extern void XSetAuthorization(
3877 char* /* name */,
3878 int /* namelen */,
3879 char* /* data */,
3880 int /* datalen */
3881 );
3882
3883 extern int _Xmbtowc(
3884 wchar* /* wstr */,
3885 char* /* str */,
3886 int /* len */
3887 );
3888
3889 extern int _Xwctomb(
3890 char* /* str */,
3891 wchar /* wc */
3892 );
3893
3894 extern Bool XGetEventData(
3895 Display* /* dpy */,
3896 XGenericEventCookie* /* cookie */
3897 );
3898
3899 extern void XFreeEventData(
3900 Display* /* dpy */,
3901 XGenericEventCookie* /* cookie */
3902 );