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