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