diff options
Diffstat (limited to 'xlib/X11/Xlib.h')
-rw-r--r-- | xlib/X11/Xlib.h | 4311 |
1 files changed, 4311 insertions, 0 deletions
diff --git a/xlib/X11/Xlib.h b/xlib/X11/Xlib.h new file mode 100644 index 0000000..397bb03 --- /dev/null +++ b/xlib/X11/Xlib.h @@ -0,0 +1,4311 @@ +/* $XConsortium: Xlib.h,v 11.221 93/07/02 14:13:28 gildea Exp $ */ +/* + * Copyright 1985, 1986, 1987, 1991 by the Massachusetts Institute of Technology + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of M.I.T. not be used in advertising + * or publicity pertaining to distribution of the software without specific, + * written prior permission. M.I.T. makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * X Window System is a Trademark of MIT. + * + */ + + +/* + * Xlib.h - Header definition and support file for the C subroutine + * interface library (Xlib) to the X Window System Protocol (V11). + * Structures and symbols starting with "_" are private to the library. + */ +#ifndef _XLIB_H_ +#define _XLIB_H_ + +#define XlibSpecificationRelease 5 + +#ifdef MAC_TCL +# include <X.h> +# define Cursor XCursor +# define Region XRegion +#else +# include <X11/X.h> +#endif + +/* applications should not depend on these two headers being included! */ +#ifdef MAC_TCL +#include <Xfuncproto.h> +#else +#include <X11/Xfuncproto.h> +#endif + +#ifndef X_WCHAR +#ifdef X_NOT_STDC_ENV +#define X_WCHAR +#endif +#endif + +#ifndef X_WCHAR +#include <stddef.h> +#else +/* replace this with #include or typedef appropriate for your system */ +typedef unsigned long wchar_t; +#endif + +typedef char *XPointer; + +#define Bool int +#define Status int +#define True 1 +#define False 0 + +#define QueuedAlready 0 +#define QueuedAfterReading 1 +#define QueuedAfterFlush 2 + +#define ConnectionNumber(dpy) ((dpy)->fd) +#define RootWindow(dpy, scr) (((dpy)->screens[(scr)]).root) +#define DefaultScreen(dpy) ((dpy)->default_screen) +#define DefaultRootWindow(dpy) (((dpy)->screens[(dpy)->default_screen]).root) +#define DefaultVisual(dpy, scr) (((dpy)->screens[(scr)]).root_visual) +#define DefaultGC(dpy, scr) (((dpy)->screens[(scr)]).default_gc) +#define BlackPixel(dpy, scr) (((dpy)->screens[(scr)]).black_pixel) +#define WhitePixel(dpy, scr) (((dpy)->screens[(scr)]).white_pixel) +#define AllPlanes ((unsigned long)~0L) +#define QLength(dpy) ((dpy)->qlen) +#define DisplayWidth(dpy, scr) (((dpy)->screens[(scr)]).width) +#define DisplayHeight(dpy, scr) (((dpy)->screens[(scr)]).height) +#define DisplayWidthMM(dpy, scr)(((dpy)->screens[(scr)]).mwidth) +#define DisplayHeightMM(dpy, scr)(((dpy)->screens[(scr)]).mheight) +#define DisplayPlanes(dpy, scr) (((dpy)->screens[(scr)]).root_depth) +#define DisplayCells(dpy, scr) (DefaultVisual((dpy), (scr))->map_entries) +#define ScreenCount(dpy) ((dpy)->nscreens) +#define ServerVendor(dpy) ((dpy)->vendor) +#define ProtocolVersion(dpy) ((dpy)->proto_major_version) +#define ProtocolRevision(dpy) ((dpy)->proto_minor_version) +#define VendorRelease(dpy) ((dpy)->release) +#define DisplayString(dpy) ((dpy)->display_name) +#define DefaultDepth(dpy, scr) (((dpy)->screens[(scr)]).root_depth) +#define DefaultColormap(dpy, scr)(((dpy)->screens[(scr)]).cmap) +#define BitmapUnit(dpy) ((dpy)->bitmap_unit) +#define BitmapBitOrder(dpy) ((dpy)->bitmap_bit_order) +#define BitmapPad(dpy) ((dpy)->bitmap_pad) +#define ImageByteOrder(dpy) ((dpy)->byte_order) +#define NextRequest(dpy) ((dpy)->request + 1) +#define LastKnownRequestProcessed(dpy) ((dpy)->request) + +/* macros for screen oriented applications (toolkit) */ +#define ScreenOfDisplay(dpy, scr)(&((dpy)->screens[(scr)])) +#define DefaultScreenOfDisplay(dpy) (&((dpy)->screens[(dpy)->default_screen])) +#define DisplayOfScreen(s) ((s)->display) +#define RootWindowOfScreen(s) ((s)->root) +#define BlackPixelOfScreen(s) ((s)->black_pixel) +#define WhitePixelOfScreen(s) ((s)->white_pixel) +#define DefaultColormapOfScreen(s)((s)->cmap) +#define DefaultDepthOfScreen(s) ((s)->root_depth) +#define DefaultGCOfScreen(s) ((s)->default_gc) +#define DefaultVisualOfScreen(s)((s)->root_visual) +#define WidthOfScreen(s) ((s)->width) +#define HeightOfScreen(s) ((s)->height) +#define WidthMMOfScreen(s) ((s)->mwidth) +#define HeightMMOfScreen(s) ((s)->mheight) +#define PlanesOfScreen(s) ((s)->root_depth) +#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries) +#define MinCmapsOfScreen(s) ((s)->min_maps) +#define MaxCmapsOfScreen(s) ((s)->max_maps) +#define DoesSaveUnders(s) ((s)->save_unders) +#define DoesBackingStore(s) ((s)->backing_store) +#define EventMaskOfScreen(s) ((s)->root_input_mask) + +/* + * Extensions need a way to hang private data on some structures. + */ +typedef struct _XExtData { + int number; /* number returned by XRegisterExtension */ + struct _XExtData *next; /* next item on list of data for structure */ + int (*free_private)(); /* called to free private storage */ + XPointer private_data; /* data private to this extension. */ +} XExtData; + +/* + * This file contains structures used by the extension mechanism. + */ +typedef struct { /* public to extension, cannot be changed */ + int extension; /* extension number */ + int major_opcode; /* major op-code assigned by server */ + int first_event; /* first event number for the extension */ + int first_error; /* first error number for the extension */ +} XExtCodes; + +/* + * Data structure for retrieving info about pixmap formats. + */ + +typedef struct { + int depth; + int bits_per_pixel; + int scanline_pad; +} XPixmapFormatValues; + + +/* + * Data structure for setting graphics context. + */ +typedef struct { + int function; /* logical operation */ + unsigned long plane_mask;/* plane mask */ + unsigned long foreground;/* foreground pixel */ + unsigned long background;/* background pixel */ + int line_width; /* line width */ + int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */ + int cap_style; /* CapNotLast, CapButt, + CapRound, CapProjecting */ + int join_style; /* JoinMiter, JoinRound, JoinBevel */ + int fill_style; /* FillSolid, FillTiled, + FillStippled, FillOpaeueStippled */ + int fill_rule; /* EvenOddRule, WindingRule */ + int arc_mode; /* ArcChord, ArcPieSlice */ + Pixmap tile; /* tile pixmap for tiling operations */ + Pixmap stipple; /* stipple 1 plane pixmap for stipping */ + int ts_x_origin; /* offset for tile or stipple operations */ + int ts_y_origin; + Font font; /* default text font for text operations */ + int subwindow_mode; /* ClipByChildren, IncludeInferiors */ + Bool graphics_exposures;/* boolean, should exposures be generated */ + int clip_x_origin; /* origin for clipping */ + int clip_y_origin; + Pixmap clip_mask; /* bitmap clipping; other calls for rects */ + int dash_offset; /* patterned/dashed line information */ + char dashes; +} XGCValues; + +/* + * Graphics context. The contents of this structure are implementation + * dependent. A GC should be treated as opaque by application code. + */ + +typedef XGCValues *GC; + +/* + * Visual structure; contains information about colormapping possible. + */ +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + VisualID visualid; /* visual id of this visual */ +#if defined(__cplusplus) || defined(c_plusplus) + int c_class; /* C++ class of screen (monochrome, etc.) */ +#else + int class; /* class of screen (monochrome, etc.) */ +#endif + unsigned long red_mask, green_mask, blue_mask; /* mask values */ + int bits_per_rgb; /* log base 2 of distinct color values */ + int map_entries; /* color map entries */ +} Visual; + +/* + * Depth structure; contains information for each possible depth. + */ +typedef struct { + int depth; /* this depth (Z) of the depth */ + int nvisuals; /* number of Visual types at this depth */ + Visual *visuals; /* list of visuals possible at this depth */ +} Depth; + +/* + * Information about the screen. The contents of this structure are + * implementation dependent. A Screen should be treated as opaque + * by application code. + */ +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + struct _XDisplay *display;/* back pointer to display structure */ + Window root; /* Root window id. */ + int width, height; /* width and height of screen */ + int mwidth, mheight; /* width and height of in millimeters */ + int ndepths; /* number of depths possible */ + Depth *depths; /* list of allowable depths on the screen */ + int root_depth; /* bits per pixel */ + Visual *root_visual; /* root visual */ + GC default_gc; /* GC for the root root visual */ + Colormap cmap; /* default color map */ + unsigned long white_pixel; + unsigned long black_pixel; /* White and Black pixel values */ + int max_maps, min_maps; /* max and min color maps */ + int backing_store; /* Never, WhenMapped, Always */ + Bool save_unders; + long root_input_mask; /* initial root input mask */ +} Screen; + +/* + * Format structure; describes ZFormat data the screen will understand. + */ +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + int depth; /* depth of this image format */ + int bits_per_pixel; /* bits/pixel at this depth */ + int scanline_pad; /* scanline must padded to this multiple */ +} ScreenFormat; + +/* + * Data structure for setting window attributes. + */ +typedef struct { + Pixmap background_pixmap; /* background or None or ParentRelative */ + unsigned long background_pixel; /* background pixel */ + Pixmap border_pixmap; /* border of the window */ + unsigned long border_pixel; /* border pixel value */ + int bit_gravity; /* one of bit gravity values */ + int win_gravity; /* one of the window gravity values */ + int backing_store; /* NotUseful, WhenMapped, Always */ + unsigned long backing_planes;/* planes to be preseved if possible */ + unsigned long backing_pixel;/* value to use in restoring planes */ + Bool save_under; /* should bits under be saved? (popups) */ + long event_mask; /* set of events that should be saved */ + long do_not_propagate_mask; /* set of events that should not propagate */ + Bool override_redirect; /* boolean value for override-redirect */ + Colormap colormap; /* color map to be associated with window */ + Cursor cursor; /* cursor to be displayed (or None) */ +} XSetWindowAttributes; + +typedef struct { + int x, y; /* location of window */ + int width, height; /* width and height of window */ + int border_width; /* border width of window */ + int depth; /* depth of window */ + Visual *visual; /* the associated visual structure */ + Window root; /* root of screen containing window */ +#if defined(__cplusplus) || defined(c_plusplus) + int c_class; /* C++ InputOutput, InputOnly*/ +#else + int class; /* InputOutput, InputOnly*/ +#endif + int bit_gravity; /* one of bit gravity values */ + int win_gravity; /* one of the window gravity values */ + int backing_store; /* NotUseful, WhenMapped, Always */ + unsigned long backing_planes;/* planes to be preserved if possible */ + unsigned long backing_pixel;/* value to be used when restoring planes */ + Bool save_under; /* boolean, should bits under be saved? */ + Colormap colormap; /* color map to be associated with window */ + Bool map_installed; /* boolean, is color map currently installed*/ + int map_state; /* IsUnmapped, IsUnviewable, IsViewable */ + long all_event_masks; /* set of events all people have interest in*/ + long your_event_mask; /* my event mask */ + long do_not_propagate_mask; /* set of events that should not propagate */ + Bool override_redirect; /* boolean value for override-redirect */ + Screen *screen; /* back pointer to correct screen */ +} XWindowAttributes; + +/* + * Data structure for host setting; getting routines. + * + */ + +typedef struct { + int family; /* for example FamilyInternet */ + int length; /* length of address, in bytes */ + char *address; /* pointer to where to find the bytes */ +} XHostAddress; + +/* + * Data structure for "image" data, used by image manipulation routines. + */ +typedef struct _XImage { + int width, height; /* size of image */ + int xoffset; /* number of pixels offset in X direction */ + int format; /* XYBitmap, XYPixmap, ZPixmap */ + char *data; /* pointer to image data */ + int byte_order; /* data byte order, LSBFirst, MSBFirst */ + int bitmap_unit; /* quant. of scanline 8, 16, 32 */ + int bitmap_bit_order; /* LSBFirst, MSBFirst */ + int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */ + int depth; /* depth of image */ + int bytes_per_line; /* accelarator to next line */ + int bits_per_pixel; /* bits per pixel (ZPixmap) */ + unsigned long red_mask; /* bits in z arrangment */ + unsigned long green_mask; + unsigned long blue_mask; + XPointer obdata; /* hook for the object routines to hang on */ + struct funcs { /* image manipulation routines */ + struct _XImage *(*create_image)(); +#if NeedFunctionPrototypes + int (*destroy_image) (struct _XImage *); + unsigned long (*get_pixel) (struct _XImage *, int, int); + int (*put_pixel) (struct _XImage *, int, int, unsigned long); + struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int); + int (*add_pixel) (struct _XImage *, long); +#else + int (*destroy_image)(); + unsigned long (*get_pixel)(); + int (*put_pixel)(); + struct _XImage *(*sub_image)(); + int (*add_pixel)(); +#endif + } f; +} XImage; + +/* + * Data structure for XReconfigureWindow + */ +typedef struct { + int x, y; + int width, height; + int border_width; + Window sibling; + int stack_mode; +} XWindowChanges; + +/* + * Data structure used by color operations + */ +typedef struct { + unsigned long pixel; + unsigned short red, green, blue; + char flags; /* do_red, do_green, do_blue */ + char pad; +} XColor; + +/* + * Data structures for graphics operations. On most machines, these are + * congruent with the wire protocol structures, so reformatting the data + * can be avoided on these architectures. + */ +typedef struct { + short x1, y1, x2, y2; +} XSegment; + +typedef struct { + short x, y; +} XPoint; + +typedef struct { + short x, y; + unsigned short width, height; +} XRectangle; + +typedef struct { + short x, y; + unsigned short width, height; + short angle1, angle2; +} XArc; + + +/* Data structure for XChangeKeyboardControl */ + +typedef struct { + int key_click_percent; + int bell_percent; + int bell_pitch; + int bell_duration; + int led; + int led_mode; + int key; + int auto_repeat_mode; /* On, Off, Default */ +} XKeyboardControl; + +/* Data structure for XGetKeyboardControl */ + +typedef struct { + int key_click_percent; + int bell_percent; + unsigned int bell_pitch, bell_duration; + unsigned long led_mask; + int global_auto_repeat; + char auto_repeats[32]; +} XKeyboardState; + +/* Data structure for XGetMotionEvents. */ + +typedef struct { + Time time; + short x, y; +} XTimeCoord; + +/* Data structure for X{Set,Get}ModifierMapping */ + +typedef struct { + int max_keypermod; /* The server's max # of keys per modifier */ + KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */ +} XModifierKeymap; + + +/* + * Display datatype maintaining display specific data. + * The contents of this structure are implementation dependent. + * A Display should be treated as opaque by application code. + */ +typedef struct _XDisplay { + XExtData *ext_data; /* hook for extension to hang data */ + struct _XFreeFuncs *free_funcs; /* internal free functions */ + int fd; /* Network socket. */ + int conn_checker; /* ugly thing used by _XEventsQueued */ + int proto_major_version;/* maj. version of server's X protocol */ + int proto_minor_version;/* minor version of servers X protocol */ + char *vendor; /* vendor of the server hardware */ + XID resource_base; /* resource ID base */ + XID resource_mask; /* resource ID mask bits */ + XID resource_id; /* allocator current ID */ + int resource_shift; /* allocator shift to correct bits */ + XID (*resource_alloc)(); /* allocator function */ + int byte_order; /* screen byte order, LSBFirst, MSBFirst */ + int bitmap_unit; /* padding and data requirements */ + int bitmap_pad; /* padding requirements on bitmaps */ + int bitmap_bit_order; /* LeastSignificant or MostSignificant */ + int nformats; /* number of pixmap formats in list */ + ScreenFormat *pixmap_format; /* pixmap format list */ + int vnumber; /* Xlib's X protocol version number. */ + int release; /* release of the server */ + struct _XSQEvent *head, *tail; /* Input event queue. */ + int qlen; /* Length of input event queue */ + unsigned long request; /* sequence number of last request. */ + char *last_req; /* beginning of last request, or dummy */ + char *buffer; /* Output buffer starting address. */ + char *bufptr; /* Output buffer index pointer. */ + char *bufmax; /* Output buffer maximum+1 address. */ + unsigned max_request_size; /* maximum number 32 bit words in request*/ + struct _XrmHashBucketRec *db; + int (*synchandler)(); /* Synchronization handler */ + char *display_name; /* "host:display" string used on this connect*/ + int default_screen; /* default screen for operations */ + int nscreens; /* number of screens on this server*/ + Screen *screens; /* pointer to list of screens */ + unsigned long motion_buffer; /* size of motion buffer */ + unsigned long flags; /* internal connection flags */ + int min_keycode; /* minimum defined keycode */ + int max_keycode; /* maximum defined keycode */ + KeySym *keysyms; /* This server's keysyms */ + XModifierKeymap *modifiermap; /* This server's modifier keymap */ + int keysyms_per_keycode;/* number of rows */ + char *xdefaults; /* contents of defaults from server */ + char *scratch_buffer; /* place to hang scratch buffer */ + unsigned long scratch_length; /* length of scratch buffer */ + int ext_number; /* extension number on this display */ + struct _XExten *ext_procs; /* extensions initialized on this display */ + /* + * the following can be fixed size, as the protocol defines how + * much address space is available. + * While this could be done using the extension vector, there + * may be MANY events processed, so a search through the extension + * list to find the right procedure for each event might be + * expensive if many extensions are being used. + */ + Bool (*event_vec[128])(); /* vector for wire to event */ + Status (*wire_vec[128])(); /* vector for event to wire */ + KeySym lock_meaning; /* for XLookupString */ + struct _XLockInfo *lock; /* multi-thread state, display lock */ + struct _XInternalAsync *async_handlers; /* for internal async */ + unsigned long bigreq_size; /* max size of big requests */ + struct _XLockPtrs *lock_fns; /* pointers to threads functions */ + /* things above this line should not move, for binary compatibility */ + struct _XKeytrans *key_bindings; /* for XLookupString */ + Font cursor_font; /* for XCreateFontCursor */ + struct _XDisplayAtoms *atoms; /* for XInternAtom */ + unsigned int mode_switch; /* keyboard group modifiers */ + struct _XContextDB *context_db; /* context database */ + Bool (**error_vec)(); /* vector for wire to error */ + /* + * Xcms information + */ + struct { + XPointer defaultCCCs; /* pointer to an array of default XcmsCCC */ + XPointer clientCmaps; /* pointer to linked list of XcmsCmapRec */ + XPointer perVisualIntensityMaps; + /* linked list of XcmsIntensityMap */ + } cms; + struct _XIMFilter *im_filters; + struct _XSQEvent *qfree; /* unallocated event queue elements */ + unsigned long next_event_serial_num; /* inserted into next queue elt */ + int (*savedsynchandler)(); /* user synchandler when Xlib usurps */ +} Display; + +#if NeedFunctionPrototypes /* prototypes require event type definitions */ +#undef _XEVENT_ +#endif +#ifndef _XEVENT_ + +#define XMaxTransChars 4 + +/* + * Definitions of specific events. + */ +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window it is reported relative to */ + Window root; /* root window that the event occured on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + unsigned int keycode; /* detail */ + Bool same_screen; /* same screen flag */ + char trans_chars[XMaxTransChars]; + /* translated characters */ + int nchars; +} XKeyEvent; +typedef XKeyEvent XKeyPressedEvent; +typedef XKeyEvent XKeyReleasedEvent; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window it is reported relative to */ + Window root; /* root window that the event occured on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + unsigned int button; /* detail */ + Bool same_screen; /* same screen flag */ +} XButtonEvent; +typedef XButtonEvent XButtonPressedEvent; +typedef XButtonEvent XButtonReleasedEvent; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window reported relative to */ + Window root; /* root window that the event occured on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + unsigned int state; /* key or button mask */ + char is_hint; /* detail */ + Bool same_screen; /* same screen flag */ +} XMotionEvent; +typedef XMotionEvent XPointerMovedEvent; + +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* "event" window reported relative to */ + Window root; /* root window that the event occured on */ + Window subwindow; /* child window */ + Time time; /* milliseconds */ + int x, y; /* pointer x, y coordinates in event window */ + int x_root, y_root; /* coordinates relative to root */ + int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */ + int detail; + /* + * NotifyAncestor, NotifyVirtual, NotifyInferior, + * NotifyNonlinear,NotifyNonlinearVirtual + */ + Bool same_screen; /* same screen flag */ + Bool focus; /* boolean focus */ + unsigned int state; /* key or button mask */ +} XCrossingEvent; +typedef XCrossingEvent XEnterWindowEvent; +typedef XCrossingEvent XLeaveWindowEvent; + +typedef struct { + int type; /* FocusIn or FocusOut */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window of event */ + int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */ + int detail; + /* + * NotifyAncestor, NotifyVirtual, NotifyInferior, + * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer, + * NotifyPointerRoot, NotifyDetailNone + */ +} XFocusChangeEvent; +typedef XFocusChangeEvent XFocusInEvent; +typedef XFocusChangeEvent XFocusOutEvent; + +/* generated on EnterWindow and FocusIn when KeyMapState selected */ +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + char key_vector[32]; +} XKeymapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + int x, y; + int width, height; + int count; /* if non-zero, at least this many more */ +} XExposeEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Drawable drawable; + int x, y; + int width, height; + int count; /* if non-zero, at least this many more */ + int major_code; /* core is CopyArea or CopyPlane */ + int minor_code; /* not defined in the core */ +} XGraphicsExposeEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Drawable drawable; + int major_code; /* core is CopyArea or CopyPlane */ + int minor_code; /* not defined in the core */ +} XNoExposeEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + int state; /* Visibility state */ +} XVisibilityEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; /* parent of the window */ + Window window; /* window id of window created */ + int x, y; /* window location */ + int width, height; /* size of window */ + int border_width; /* border width */ + Bool override_redirect; /* creation should be overridden */ +} XCreateWindowEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; +} XDestroyWindowEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + Bool from_configure; +} XUnmapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + Bool override_redirect; /* boolean, is override set... */ +} XMapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; + Window window; +} XMapRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + Window parent; + int x, y; + Bool override_redirect; +} XReparentEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + int x, y; + int width, height; + int border_width; + Window above; + Bool override_redirect; +} XConfigureEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + int x, y; +} XGravityEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + int width, height; +} XResizeRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; + Window window; + int x, y; + int width, height; + int border_width; + Window above; + int detail; /* Above, Below, TopIf, BottomIf, Opposite */ + unsigned long value_mask; +} XConfigureRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window event; + Window window; + int place; /* PlaceOnTop, PlaceOnBottom */ +} XCirculateEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window parent; + Window window; + int place; /* PlaceOnTop, PlaceOnBottom */ +} XCirculateRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Atom atom; + Time time; + int state; /* NewValue, Deleted */ +} XPropertyEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Atom selection; + Time time; +} XSelectionClearEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window owner; + Window requestor; + Atom selection; + Atom target; + Atom property; + Time time; +} XSelectionRequestEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window requestor; + Atom selection; + Atom target; + Atom property; /* ATOM or None */ + Time time; +} XSelectionEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Colormap colormap; /* COLORMAP or None */ +#if defined(__cplusplus) || defined(c_plusplus) + Bool c_new; /* C++ */ +#else + Bool new; +#endif + int state; /* ColormapInstalled, ColormapUninstalled */ +} XColormapEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; + Atom message_type; + int format; + union { + char b[20]; + short s[10]; + long l[5]; + } data; +} XClientMessageEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* unused */ + int request; /* one of MappingModifier, MappingKeyboard, + MappingPointer */ + int first_keycode; /* first keycode */ + int count; /* defines range of change w. first_keycode*/ +} XMappingEvent; + +typedef struct { + int type; + Display *display; /* Display the event was read from */ + XID resourceid; /* resource id */ + unsigned long serial; /* serial number of failed request */ + unsigned char error_code; /* error code of failed request */ + unsigned char request_code; /* Major op-code of failed request */ + unsigned char minor_code; /* Minor op-code of failed request */ +} XErrorEvent; + +typedef struct { + int type; + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came from a SendEvent request */ + Display *display;/* Display the event was read from */ + Window window; /* window on which event was requested in event mask */ +} XAnyEvent; + +/* + * this union is defined so Xlib can always use the same sized + * event structure internally, to avoid memory fragmentation. + */ +typedef union _XEvent { + int type; /* must not be changed; first element */ + XAnyEvent xany; + XKeyEvent xkey; + XButtonEvent xbutton; + XMotionEvent xmotion; + XCrossingEvent xcrossing; + XFocusChangeEvent xfocus; + XExposeEvent xexpose; + XGraphicsExposeEvent xgraphicsexpose; + XNoExposeEvent xnoexpose; + XVisibilityEvent xvisibility; + XCreateWindowEvent xcreatewindow; + XDestroyWindowEvent xdestroywindow; + XUnmapEvent xunmap; + XMapEvent xmap; + XMapRequestEvent xmaprequest; + XReparentEvent xreparent; + XConfigureEvent xconfigure; + XGravityEvent xgravity; + XResizeRequestEvent xresizerequest; + XConfigureRequestEvent xconfigurerequest; + XCirculateEvent xcirculate; + XCirculateRequestEvent xcirculaterequest; + XPropertyEvent xproperty; + XSelectionClearEvent xselectionclear; + XSelectionRequestEvent xselectionrequest; + XSelectionEvent xselection; + XColormapEvent xcolormap; + XClientMessageEvent xclient; + XMappingEvent xmapping; + XErrorEvent xerror; + XKeymapEvent xkeymap; + long pad[24]; +} XEvent; +#endif + +#define XAllocID(dpy) ((*(dpy)->resource_alloc)((dpy))) + +/* + * per character font metric information. + */ +typedef struct { + short lbearing; /* origin to left edge of raster */ + short rbearing; /* origin to right edge of raster */ + short width; /* advance to next char's origin */ + short ascent; /* baseline to top edge of raster */ + short descent; /* baseline to bottom edge of raster */ + unsigned short attributes; /* per char flags (not predefined) */ +} XCharStruct; + +/* + * To allow arbitrary information with fonts, there are additional properties + * returned. + */ +typedef struct { + Atom name; + unsigned long card32; +} XFontProp; + +typedef struct { + XExtData *ext_data; /* hook for extension to hang data */ + Font fid; /* Font id for this font */ + unsigned direction; /* hint about direction the font is painted */ + unsigned min_char_or_byte2;/* first character */ + unsigned max_char_or_byte2;/* last character */ + unsigned min_byte1; /* first row that exists */ + unsigned max_byte1; /* last row that exists */ + Bool all_chars_exist;/* flag if all characters have non-zero size*/ + unsigned default_char; /* char to print for undefined character */ + int n_properties; /* how many properties there are */ + XFontProp *properties; /* pointer to array of additional properties*/ + XCharStruct min_bounds; /* minimum bounds over all existing char*/ + XCharStruct max_bounds; /* maximum bounds over all existing char*/ + XCharStruct *per_char; /* first_char to last_char information */ + int ascent; /* log. extent above baseline for spacing */ + int descent; /* log. descent below baseline for spacing */ +} XFontStruct; + +/* + * PolyText routines take these as arguments. + */ +typedef struct { + char *chars; /* pointer to string */ + int nchars; /* number of characters */ + int delta; /* delta between strings */ + Font font; /* font to print it in, None don't change */ +} XTextItem; + +typedef struct { /* normal 16 bit characters are two bytes */ + unsigned char byte1; + unsigned char byte2; +} XChar2b; + +typedef struct { + XChar2b *chars; /* two byte characters */ + int nchars; /* number of characters */ + int delta; /* delta between strings */ + Font font; /* font to print it in, None don't change */ +} XTextItem16; + + +typedef union { Display *display; + GC gc; + Visual *visual; + Screen *screen; + ScreenFormat *pixmap_format; + XFontStruct *font; } XEDataObject; + +typedef struct { + XRectangle max_ink_extent; + XRectangle max_logical_extent; +} XFontSetExtents; + +typedef struct _XFontSet *XFontSet; + +typedef struct { + char *chars; + int nchars; + int delta; + XFontSet font_set; +} XmbTextItem; + +typedef struct { + wchar_t *chars; + int nchars; + int delta; + XFontSet font_set; +} XwcTextItem; + +typedef void (*XIMProc)(); + +typedef struct _XIM *XIM; +typedef struct _XIC *XIC; + +typedef unsigned long XIMStyle; + +typedef struct { + unsigned short count_styles; + XIMStyle *supported_styles; +} XIMStyles; + +#define XIMPreeditArea 0x0001L +#define XIMPreeditCallbacks 0x0002L +#define XIMPreeditPosition 0x0004L +#define XIMPreeditNothing 0x0008L +#define XIMPreeditNone 0x0010L +#define XIMStatusArea 0x0100L +#define XIMStatusCallbacks 0x0200L +#define XIMStatusNothing 0x0400L +#define XIMStatusNone 0x0800L + +#define XNVaNestedList "XNVaNestedList" +#define XNClientWindow "clientWindow" +#define XNInputStyle "inputStyle" +#define XNFocusWindow "focusWindow" +#define XNResourceName "resourceName" +#define XNResourceClass "resourceClass" +#define XNGeometryCallback "geometryCallback" +#define XNFilterEvents "filterEvents" +#define XNPreeditStartCallback "preeditStartCallback" +#define XNPreeditDoneCallback "preeditDoneCallback" +#define XNPreeditDrawCallback "preeditDrawCallback" +#define XNPreeditCaretCallback "preeditCaretCallback" +#define XNPreeditAttributes "preeditAttributes" +#define XNStatusStartCallback "statusStartCallback" +#define XNStatusDoneCallback "statusDoneCallback" +#define XNStatusDrawCallback "statusDrawCallback" +#define XNStatusAttributes "statusAttributes" +#define XNArea "area" +#define XNAreaNeeded "areaNeeded" +#define XNSpotLocation "spotLocation" +#define XNColormap "colorMap" +#define XNStdColormap "stdColorMap" +#define XNForeground "foreground" +#define XNBackground "background" +#define XNBackgroundPixmap "backgroundPixmap" +#define XNFontSet "fontSet" +#define XNLineSpace "lineSpace" +#define XNCursor "cursor" + +#define XBufferOverflow -1 +#define XLookupNone 1 +#define XLookupChars 2 +#define XLookupKeySym 3 +#define XLookupBoth 4 + +#if NeedFunctionPrototypes +typedef void *XVaNestedList; +#else +typedef XPointer XVaNestedList; +#endif + +typedef struct { + XPointer client_data; + XIMProc callback; +} XIMCallback; + +typedef unsigned long XIMFeedback; + +#define XIMReverse 1 +#define XIMUnderline (1<<1) +#define XIMHighlight (1<<2) +#define XIMPrimary (1<<5) +#define XIMSecondary (1<<6) +#define XIMTertiary (1<<7) + +typedef struct _XIMText { + unsigned short length; + XIMFeedback *feedback; + Bool encoding_is_wchar; + union { + char *multi_byte; + wchar_t *wide_char; + } string; +} XIMText; + +typedef struct _XIMPreeditDrawCallbackStruct { + int caret; /* Cursor offset within pre-edit string */ + int chg_first; /* Starting change position */ + int chg_length; /* Length of the change in character count */ + XIMText *text; +} XIMPreeditDrawCallbackStruct; + +typedef enum { + XIMForwardChar, XIMBackwardChar, + XIMForwardWord, XIMBackwardWord, + XIMCaretUp, XIMCaretDown, + XIMNextLine, XIMPreviousLine, + XIMLineStart, XIMLineEnd, + XIMAbsolutePosition, + XIMDontChange +} XIMCaretDirection; + +typedef enum { + XIMIsInvisible, /* Disable caret feedback */ + XIMIsPrimary, /* UI defined caret feedback */ + XIMIsSecondary /* UI defined caret feedback */ +} XIMCaretStyle; + +typedef struct _XIMPreeditCaretCallbackStruct { + int position; /* Caret offset within pre-edit string */ + XIMCaretDirection direction; /* Caret moves direction */ + XIMCaretStyle style; /* Feedback of the caret */ +} XIMPreeditCaretCallbackStruct; + +typedef enum { + XIMTextType, + XIMBitmapType +} XIMStatusDataType; + +typedef struct _XIMStatusDrawCallbackStruct { + XIMStatusDataType type; + union { + XIMText *text; + Pixmap bitmap; + } data; +} XIMStatusDrawCallbackStruct; + +_XFUNCPROTOBEGIN + +extern XFontStruct *XLoadQueryFont( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* name */ +#endif +); + +extern XFontStruct *XQueryFont( +#if NeedFunctionPrototypes + Display* /* display */, + XID /* font_ID */ +#endif +); + + +extern XTimeCoord *XGetMotionEvents( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Time /* start */, + Time /* stop */, + int* /* nevents_return */ +#endif +); + +extern XModifierKeymap *XDeleteModifiermapEntry( +#if NeedFunctionPrototypes + XModifierKeymap* /* modmap */, +#if NeedWidePrototypes + unsigned int /* keycode_entry */, +#else + KeyCode /* keycode_entry */, +#endif + int /* modifier */ +#endif +); + +extern XModifierKeymap *XGetModifierMapping( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern XModifierKeymap *XInsertModifiermapEntry( +#if NeedFunctionPrototypes + XModifierKeymap* /* modmap */, +#if NeedWidePrototypes + unsigned int /* keycode_entry */, +#else + KeyCode /* keycode_entry */, +#endif + int /* modifier */ +#endif +); + +extern XModifierKeymap *XNewModifiermap( +#if NeedFunctionPrototypes + int /* max_keys_per_mod */ +#endif +); + +extern XImage *XCreateImage( +#if NeedFunctionPrototypes + Display* /* display */, + Visual* /* visual */, + unsigned int /* depth */, + int /* format */, + int /* offset */, + char* /* data */, + unsigned int /* width */, + unsigned int /* height */, + int /* bitmap_pad */, + int /* bytes_per_line */ +#endif +); +extern XImage *XGetImage( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned long /* plane_mask */, + int /* format */ +#endif +); +extern XImage *XGetSubImage( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned long /* plane_mask */, + int /* format */, + XImage* /* dest_image */, + int /* dest_x */, + int /* dest_y */ +#endif +); + +/* + * X function declarations. + */ +extern Display *XOpenDisplay( +#if NeedFunctionPrototypes + _Xconst char* /* display_name */ +#endif +); + +extern void XrmInitialize( +#if NeedFunctionPrototypes + void +#endif +); + +extern char *XFetchBytes( +#if NeedFunctionPrototypes + Display* /* display */, + int* /* nbytes_return */ +#endif +); +extern char *XFetchBuffer( +#if NeedFunctionPrototypes + Display* /* display */, + int* /* nbytes_return */, + int /* buffer */ +#endif +); +extern char *XGetAtomName( +#if NeedFunctionPrototypes + Display* /* display */, + Atom /* atom */ +#endif +); +extern char *XGetDefault( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* program */, + _Xconst char* /* option */ +#endif +); +extern char *XDisplayName( +#if NeedFunctionPrototypes + _Xconst char* /* string */ +#endif +); +extern char *XKeysymToString( +#if NeedFunctionPrototypes + KeySym /* keysym */ +#endif +); + +extern int (*XSynchronize( +#if NeedFunctionPrototypes + Display* /* display */, + Bool /* onoff */ +#endif +))(); +extern int (*XSetAfterFunction( +#if NeedFunctionPrototypes + Display* /* display */, + int (*) ( +#if NeedNestedPrototypes + Display* /* display */ +#endif + ) /* procedure */ +#endif +))(); +extern Atom XInternAtom( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* atom_name */, + Bool /* only_if_exists */ +#endif +); +extern Colormap XCopyColormapAndFree( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */ +#endif +); +extern Colormap XCreateColormap( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Visual* /* visual */, + int /* alloc */ +#endif +); +extern Cursor XCreatePixmapCursor( +#if NeedFunctionPrototypes + Display* /* display */, + Pixmap /* source */, + Pixmap /* mask */, + XColor* /* foreground_color */, + XColor* /* background_color */, + unsigned int /* x */, + unsigned int /* y */ +#endif +); +extern Cursor XCreateGlyphCursor( +#if NeedFunctionPrototypes + Display* /* display */, + Font /* source_font */, + Font /* mask_font */, + unsigned int /* source_char */, + unsigned int /* mask_char */, + XColor* /* foreground_color */, + XColor* /* background_color */ +#endif +); +extern Cursor XCreateFontCursor( +#if NeedFunctionPrototypes + Display* /* display */, + unsigned int /* shape */ +#endif +); +extern Font XLoadFont( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* name */ +#endif +); +extern GC XCreateGC( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + unsigned long /* valuemask */, + XGCValues* /* values */ +#endif +); +extern GContext XGContextFromGC( +#if NeedFunctionPrototypes + GC /* gc */ +#endif +); +extern void XFlushGC( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */ +#endif +); +extern Pixmap XCreatePixmap( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* depth */ +#endif +); +extern Pixmap XCreateBitmapFromData( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + _Xconst char* /* data */, + unsigned int /* width */, + unsigned int /* height */ +#endif +); +extern Pixmap XCreatePixmapFromBitmapData( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + char* /* data */, + unsigned int /* width */, + unsigned int /* height */, + unsigned long /* fg */, + unsigned long /* bg */, + unsigned int /* depth */ +#endif +); +extern Window XCreateSimpleWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* parent */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* border_width */, + unsigned long /* border */, + unsigned long /* background */ +#endif +); +extern Window XGetSelectionOwner( +#if NeedFunctionPrototypes + Display* /* display */, + Atom /* selection */ +#endif +); +extern Window XCreateWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* parent */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int /* border_width */, + int /* depth */, + unsigned int /* class */, + Visual* /* visual */, + unsigned long /* valuemask */, + XSetWindowAttributes* /* attributes */ +#endif +); +extern Colormap *XListInstalledColormaps( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + int* /* num_return */ +#endif +); +extern char **XListFonts( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* pattern */, + int /* maxnames */, + int* /* actual_count_return */ +#endif +); +extern char **XListFontsWithInfo( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* pattern */, + int /* maxnames */, + int* /* count_return */, + XFontStruct** /* info_return */ +#endif +); +extern char **XGetFontPath( +#if NeedFunctionPrototypes + Display* /* display */, + int* /* npaths_return */ +#endif +); +extern char **XListExtensions( +#if NeedFunctionPrototypes + Display* /* display */, + int* /* nextensions_return */ +#endif +); +extern Atom *XListProperties( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + int* /* num_prop_return */ +#endif +); +extern XHostAddress *XListHosts( +#if NeedFunctionPrototypes + Display* /* display */, + int* /* nhosts_return */, + Bool* /* state_return */ +#endif +); +extern KeySym XKeycodeToKeysym( +#if NeedFunctionPrototypes + Display* /* display */, +#if NeedWidePrototypes + unsigned int /* keycode */, +#else + KeyCode /* keycode */, +#endif + int /* index */ +#endif +); +extern KeySym XLookupKeysym( +#if NeedFunctionPrototypes + XKeyEvent* /* key_event */, + int /* index */ +#endif +); +extern KeySym *XGetKeyboardMapping( +#if NeedFunctionPrototypes + Display* /* display */, +#if NeedWidePrototypes + unsigned int /* first_keycode */, +#else + KeyCode /* first_keycode */, +#endif + int /* keycode_count */, + int* /* keysyms_per_keycode_return */ +#endif +); +extern KeySym XStringToKeysym( +#if NeedFunctionPrototypes + _Xconst char* /* string */ +#endif +); +extern long XMaxRequestSize( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); +extern long XExtendedMaxRequestSize( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); +extern char *XResourceManagerString( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); +extern char *XScreenResourceString( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); +extern unsigned long XDisplayMotionBufferSize( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); +extern VisualID XVisualIDFromVisual( +#if NeedFunctionPrototypes + Visual* /* visual */ +#endif +); + +/* routines for dealing with extensions */ + +extern XExtCodes *XInitExtension( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* name */ +#endif +); + +extern XExtCodes *XAddExtension( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); +extern XExtData *XFindOnExtensionList( +#if NeedFunctionPrototypes + XExtData** /* structure */, + int /* number */ +#endif +); +extern XExtData **XEHeadOfExtensionList( +#if NeedFunctionPrototypes + XEDataObject /* object */ +#endif +); + +/* these are routines for which there are also macros */ +extern Window XRootWindow( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); +extern Window XDefaultRootWindow( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); +extern Window XRootWindowOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); +extern Visual *XDefaultVisual( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); +extern Visual *XDefaultVisualOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); +extern GC XDefaultGC( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); +extern GC XDefaultGCOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); +extern unsigned long XBlackPixel( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); +extern unsigned long XWhitePixel( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); +extern unsigned long XAllPlanes( +#if NeedFunctionPrototypes + void +#endif +); +extern unsigned long XBlackPixelOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); +extern unsigned long XWhitePixelOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); +extern unsigned long XNextRequest( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); +extern unsigned long XLastKnownRequestProcessed( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); +extern char *XServerVendor( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); +extern char *XDisplayString( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); +extern Colormap XDefaultColormap( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); +extern Colormap XDefaultColormapOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); +extern Display *XDisplayOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); +extern Screen *XScreenOfDisplay( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); +extern Screen *XDefaultScreenOfDisplay( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); +extern long XEventMaskOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +extern int XScreenNumberOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */ +#if NeedFunctionPrototypes + Display* /* display */, + XErrorEvent* /* error_event */ +#endif +); + +extern XErrorHandler XSetErrorHandler ( +#if NeedFunctionPrototypes + XErrorHandler /* handler */ +#endif +); + + +typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */ +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern XIOErrorHandler XSetIOErrorHandler ( +#if NeedFunctionPrototypes + XIOErrorHandler /* handler */ +#endif +); + + +extern XPixmapFormatValues *XListPixmapFormats( +#if NeedFunctionPrototypes + Display* /* display */, + int* /* count_return */ +#endif +); +extern int *XListDepths( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */, + int* /* count_return */ +#endif +); + +/* ICCCM routines for things that don't require special include files; */ +/* other declarations are given in Xutil.h */ +extern Status XReconfigureWMWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + int /* screen_number */, + unsigned int /* mask */, + XWindowChanges* /* changes */ +#endif +); + +extern Status XGetWMProtocols( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Atom** /* protocols_return */, + int* /* count_return */ +#endif +); +extern Status XSetWMProtocols( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Atom* /* protocols */, + int /* count */ +#endif +); +extern Status XIconifyWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + int /* screen_number */ +#endif +); +extern Status XWithdrawWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + int /* screen_number */ +#endif +); +extern Status XGetCommand( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + char*** /* argv_return */, + int* /* argc_return */ +#endif +); +extern Status XGetWMColormapWindows( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Window** /* windows_return */, + int* /* count_return */ +#endif +); +extern Status XSetWMColormapWindows( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Window* /* colormap_windows */, + int /* count */ +#endif +); +extern void XFreeStringList( +#if NeedFunctionPrototypes + char** /* list */ +#endif +); +extern void XSetTransientForHint( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Window /* prop_window */ +#endif +); + +/* The following are given in alphabetical order */ + +extern void XActivateScreenSaver( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XAddHost( +#if NeedFunctionPrototypes + Display* /* display */, + XHostAddress* /* host */ +#endif +); + +extern void XAddHosts( +#if NeedFunctionPrototypes + Display* /* display */, + XHostAddress* /* hosts */, + int /* num_hosts */ +#endif +); + +extern void XAddToExtensionList( +#if NeedFunctionPrototypes + struct _XExtData** /* structure */, + XExtData* /* ext_data */ +#endif +); + +extern void XAddToSaveSet( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern Status XAllocColor( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + XColor* /* screen_in_out */ +#endif +); + +extern Status XAllocColorCells( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + Bool /* contig */, + unsigned long* /* plane_masks_return */, + unsigned int /* nplanes */, + unsigned long* /* pixels_return */, + unsigned int /* npixels */ +#endif +); + +extern Status XAllocColorPlanes( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + Bool /* contig */, + unsigned long* /* pixels_return */, + int /* ncolors */, + int /* nreds */, + int /* ngreens */, + int /* nblues */, + unsigned long* /* rmask_return */, + unsigned long* /* gmask_return */, + unsigned long* /* bmask_return */ +#endif +); + +extern Status XAllocNamedColor( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* color_name */, + XColor* /* screen_def_return */, + XColor* /* exact_def_return */ +#endif +); + +extern void XAllowEvents( +#if NeedFunctionPrototypes + Display* /* display */, + int /* event_mode */, + Time /* time */ +#endif +); + +extern void XAutoRepeatOff( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XAutoRepeatOn( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XBell( +#if NeedFunctionPrototypes + Display* /* display */, + int /* percent */ +#endif +); + +extern int XBitmapBitOrder( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern int XBitmapPad( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern int XBitmapUnit( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern int XCellsOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +extern void XChangeActivePointerGrab( +#if NeedFunctionPrototypes + Display* /* display */, + unsigned int /* event_mask */, + Cursor /* cursor */, + Time /* time */ +#endif +); + +extern void XChangeGC( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + unsigned long /* valuemask */, + XGCValues* /* values */ +#endif +); + +extern void XChangeKeyboardControl( +#if NeedFunctionPrototypes + Display* /* display */, + unsigned long /* value_mask */, + XKeyboardControl* /* values */ +#endif +); + +extern void XChangeKeyboardMapping( +#if NeedFunctionPrototypes + Display* /* display */, + int /* first_keycode */, + int /* keysyms_per_keycode */, + KeySym* /* keysyms */, + int /* num_codes */ +#endif +); + +extern void XChangePointerControl( +#if NeedFunctionPrototypes + Display* /* display */, + Bool /* do_accel */, + Bool /* do_threshold */, + int /* accel_numerator */, + int /* accel_denominator */, + int /* threshold */ +#endif +); + +extern void XChangeProperty( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Atom /* property */, + Atom /* type */, + int /* format */, + int /* mode */, + _Xconst unsigned char* /* data */, + int /* nelements */ +#endif +); + +extern void XChangeSaveSet( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + int /* change_mode */ +#endif +); + +extern void XChangeWindowAttributes( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + unsigned long /* valuemask */, + XSetWindowAttributes* /* attributes */ +#endif +); + +extern Bool XCheckIfEvent( +#if NeedFunctionPrototypes + Display* /* display */, + XEvent* /* event_return */, + Bool (*) ( +#if NeedNestedPrototypes + Display* /* display */, + XEvent* /* event */, + XPointer /* arg */ +#endif + ) /* predicate */, + XPointer /* arg */ +#endif +); + +extern Bool XCheckMaskEvent( +#if NeedFunctionPrototypes + Display* /* display */, + long /* event_mask */, + XEvent* /* event_return */ +#endif +); + +extern Bool XCheckTypedEvent( +#if NeedFunctionPrototypes + Display* /* display */, + int /* event_type */, + XEvent* /* event_return */ +#endif +); + +extern Bool XCheckTypedWindowEvent( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + int /* event_type */, + XEvent* /* event_return */ +#endif +); + +extern Bool XCheckWindowEvent( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + long /* event_mask */, + XEvent* /* event_return */ +#endif +); + +extern void XCirculateSubwindows( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + int /* direction */ +#endif +); + +extern void XCirculateSubwindowsDown( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern void XCirculateSubwindowsUp( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern void XClearArea( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + Bool /* exposures */ +#endif +); + +extern void XClearWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern void XCloseDisplay( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XConfigureWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + unsigned int /* value_mask */, + XWindowChanges* /* values */ +#endif +); + +extern int XConnectionNumber( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XConvertSelection( +#if NeedFunctionPrototypes + Display* /* display */, + Atom /* selection */, + Atom /* target */, + Atom /* property */, + Window /* requestor */, + Time /* time */ +#endif +); + +extern void XCopyArea( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* src */, + Drawable /* dest */, + GC /* gc */, + int /* src_x */, + int /* src_y */, + unsigned int /* width */, + unsigned int /* height */, + int /* dest_x */, + int /* dest_y */ +#endif +); + +extern void XCopyGC( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* src */, + unsigned long /* valuemask */, + GC /* dest */ +#endif +); + +extern void XCopyPlane( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* src */, + Drawable /* dest */, + GC /* gc */, + int /* src_x */, + int /* src_y */, + unsigned int /* width */, + unsigned int /* height */, + int /* dest_x */, + int /* dest_y */, + unsigned long /* plane */ +#endif +); + +extern int XDefaultDepth( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); + +extern int XDefaultDepthOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +extern int XDefaultScreen( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XDefineCursor( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Cursor /* cursor */ +#endif +); + +extern void XDeleteProperty( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Atom /* property */ +#endif +); + +extern void XDestroyWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern void XDestroySubwindows( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern int XDoesBackingStore( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +extern Bool XDoesSaveUnders( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +extern void XDisableAccessControl( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + + +extern int XDisplayCells( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); + +extern int XDisplayHeight( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); + +extern int XDisplayHeightMM( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); + +extern void XDisplayKeycodes( +#if NeedFunctionPrototypes + Display* /* display */, + int* /* min_keycodes_return */, + int* /* max_keycodes_return */ +#endif +); + +extern int XDisplayPlanes( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); + +extern int XDisplayWidth( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); + +extern int XDisplayWidthMM( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen_number */ +#endif +); + +extern void XDrawArc( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + int /* angle1 */, + int /* angle2 */ +#endif +); + +extern void XDrawArcs( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XArc* /* arcs */, + int /* narcs */ +#endif +); + +extern void XDrawImageString( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* string */, + int /* length */ +#endif +); + +extern void XDrawImageString16( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst XChar2b* /* string */, + int /* length */ +#endif +); + +extern void XDrawLine( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x1 */, + int /* y1 */, + int /* x2 */, + int /* y2 */ +#endif +); + +extern void XDrawLines( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XPoint* /* points */, + int /* npoints */, + int /* mode */ +#endif +); + +extern void XDrawPoint( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */ +#endif +); + +extern void XDrawPoints( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XPoint* /* points */, + int /* npoints */, + int /* mode */ +#endif +); + +extern void XDrawRectangle( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */ +#endif +); + +extern void XDrawRectangles( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XRectangle* /* rectangles */, + int /* nrectangles */ +#endif +); + +extern void XDrawSegments( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XSegment* /* segments */, + int /* nsegments */ +#endif +); + +extern void XDrawString( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* string */, + int /* length */ +#endif +); + +extern void XDrawString16( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst XChar2b* /* string */, + int /* length */ +#endif +); + +extern void XDrawText( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XTextItem* /* items */, + int /* nitems */ +#endif +); + +extern void XDrawText16( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XTextItem16* /* items */, + int /* nitems */ +#endif +); + +extern void XEnableAccessControl( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern int XEventsQueued( +#if NeedFunctionPrototypes + Display* /* display */, + int /* mode */ +#endif +); + +extern Status XFetchName( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + char** /* window_name_return */ +#endif +); + +extern void XFillArc( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */, + int /* angle1 */, + int /* angle2 */ +#endif +); + +extern void XFillArcs( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XArc* /* arcs */, + int /* narcs */ +#endif +); + +extern void XFillPolygon( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XPoint* /* points */, + int /* npoints */, + int /* shape */, + int /* mode */ +#endif +); + +extern void XFillRectangle( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */ +#endif +); + +extern void XFillRectangles( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XRectangle* /* rectangles */, + int /* nrectangles */ +#endif +); + +extern void XFlush( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XForceScreenSaver( +#if NeedFunctionPrototypes + Display* /* display */, + int /* mode */ +#endif +); + +extern void XFree( +#if NeedFunctionPrototypes + void* /* data */ +#endif +); + +extern void XFreeColormap( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */ +#endif +); + +extern void XFreeColors( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + unsigned long* /* pixels */, + int /* npixels */, + unsigned long /* planes */ +#endif +); + +extern void XFreeCursor( +#if NeedFunctionPrototypes + Display* /* display */, + Cursor /* cursor */ +#endif +); + +extern void XFreeExtensionList( +#if NeedFunctionPrototypes + char** /* list */ +#endif +); + +extern void XFreeFont( +#if NeedFunctionPrototypes + Display* /* display */, + XFontStruct* /* font_struct */ +#endif +); + +extern void XFreeFontInfo( +#if NeedFunctionPrototypes + char** /* names */, + XFontStruct* /* free_info */, + int /* actual_count */ +#endif +); + +extern void XFreeFontNames( +#if NeedFunctionPrototypes + char** /* list */ +#endif +); + +extern void XFreeFontPath( +#if NeedFunctionPrototypes + char** /* list */ +#endif +); + +extern void XFreeGC( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */ +#endif +); + +extern void XFreeModifiermap( +#if NeedFunctionPrototypes + XModifierKeymap* /* modmap */ +#endif +); + +extern void XFreePixmap( +#if NeedFunctionPrototypes + Display* /* display */, + Pixmap /* pixmap */ +#endif +); + +extern int XGeometry( +#if NeedFunctionPrototypes + Display* /* display */, + int /* screen */, + _Xconst char* /* position */, + _Xconst char* /* default_position */, + unsigned int /* bwidth */, + unsigned int /* fwidth */, + unsigned int /* fheight */, + int /* xadder */, + int /* yadder */, + int* /* x_return */, + int* /* y_return */, + int* /* width_return */, + int* /* height_return */ +#endif +); + +extern void XGetErrorDatabaseText( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* name */, + _Xconst char* /* message */, + _Xconst char* /* default_string */, + char* /* buffer_return */, + int /* length */ +#endif +); + +extern void XGetErrorText( +#if NeedFunctionPrototypes + Display* /* display */, + int /* code */, + char* /* buffer_return */, + int /* length */ +#endif +); + +extern Bool XGetFontProperty( +#if NeedFunctionPrototypes + XFontStruct* /* font_struct */, + Atom /* atom */, + unsigned long* /* value_return */ +#endif +); + +extern Status XGetGCValues( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + unsigned long /* valuemask */, + XGCValues* /* values_return */ +#endif +); + +extern Status XGetGeometry( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + Window* /* root_return */, + int* /* x_return */, + int* /* y_return */, + unsigned int* /* width_return */, + unsigned int* /* height_return */, + unsigned int* /* border_width_return */, + unsigned int* /* depth_return */ +#endif +); + +extern Status XGetIconName( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + char** /* icon_name_return */ +#endif +); + +extern void XGetInputFocus( +#if NeedFunctionPrototypes + Display* /* display */, + Window* /* focus_return */, + int* /* revert_to_return */ +#endif +); + +extern void XGetKeyboardControl( +#if NeedFunctionPrototypes + Display* /* display */, + XKeyboardState* /* values_return */ +#endif +); + +extern void XGetPointerControl( +#if NeedFunctionPrototypes + Display* /* display */, + int* /* accel_numerator_return */, + int* /* accel_denominator_return */, + int* /* threshold_return */ +#endif +); + +extern int XGetPointerMapping( +#if NeedFunctionPrototypes + Display* /* display */, + unsigned char* /* map_return */, + int /* nmap */ +#endif +); + +extern void XGetScreenSaver( +#if NeedFunctionPrototypes + Display* /* display */, + int* /* timeout_return */, + int* /* interval_return */, + int* /* prefer_blanking_return */, + int* /* allow_exposures_return */ +#endif +); + +extern Status XGetTransientForHint( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Window* /* prop_window_return */ +#endif +); + +extern int XGetWindowProperty( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Atom /* property */, + long /* long_offset */, + long /* long_length */, + Bool /* delete */, + Atom /* req_type */, + Atom* /* actual_type_return */, + int* /* actual_format_return */, + unsigned long* /* nitems_return */, + unsigned long* /* bytes_after_return */, + unsigned char** /* prop_return */ +#endif +); + +extern Status XGetWindowAttributes( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + XWindowAttributes* /* window_attributes_return */ +#endif +); + +extern void XGrabButton( +#if NeedFunctionPrototypes + Display* /* display */, + unsigned int /* button */, + unsigned int /* modifiers */, + Window /* grab_window */, + Bool /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */, + Window /* confine_to */, + Cursor /* cursor */ +#endif +); + +extern void XGrabKey( +#if NeedFunctionPrototypes + Display* /* display */, + int /* keycode */, + unsigned int /* modifiers */, + Window /* grab_window */, + Bool /* owner_events */, + int /* pointer_mode */, + int /* keyboard_mode */ +#endif +); + +extern int XGrabKeyboard( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* grab_window */, + Bool /* owner_events */, + int /* pointer_mode */, + int /* keyboard_mode */, + Time /* time */ +#endif +); + +extern int XGrabPointer( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* grab_window */, + Bool /* owner_events */, + unsigned int /* event_mask */, + int /* pointer_mode */, + int /* keyboard_mode */, + Window /* confine_to */, + Cursor /* cursor */, + Time /* time */ +#endif +); + +extern void XGrabServer( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern int XHeightMMOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +extern int XHeightOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +extern void XIfEvent( +#if NeedFunctionPrototypes + Display* /* display */, + XEvent* /* event_return */, + Bool (*) ( +#if NeedNestedPrototypes + Display* /* display */, + XEvent* /* event */, + XPointer /* arg */ +#endif + ) /* predicate */, + XPointer /* arg */ +#endif +); + +extern int XImageByteOrder( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XInstallColormap( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */ +#endif +); + +extern KeyCode XKeysymToKeycode( +#if NeedFunctionPrototypes + Display* /* display */, + KeySym /* keysym */ +#endif +); + +extern void XKillClient( +#if NeedFunctionPrototypes + Display* /* display */, + XID /* resource */ +#endif +); + +extern unsigned long XLastKnownRequestProcessed( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern Status XLookupColor( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* color_name */, + XColor* /* exact_def_return */, + XColor* /* screen_def_return */ +#endif +); + +extern void XLowerWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern void XMapRaised( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern void XMapSubwindows( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern void XMapWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern void XMaskEvent( +#if NeedFunctionPrototypes + Display* /* display */, + long /* event_mask */, + XEvent* /* event_return */ +#endif +); + +extern int XMaxCmapsOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +extern int XMinCmapsOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +extern void XMoveResizeWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + int /* x */, + int /* y */, + unsigned int /* width */, + unsigned int /* height */ +#endif +); + +extern void XMoveWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + int /* x */, + int /* y */ +#endif +); + +extern void XNextEvent( +#if NeedFunctionPrototypes + Display* /* display */, + XEvent* /* event_return */ +#endif +); + +extern void XNoOp( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern Status XParseColor( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* spec */, + XColor* /* exact_def_return */ +#endif +); + +extern int XParseGeometry( +#if NeedFunctionPrototypes + _Xconst char* /* parsestring */, + int* /* x_return */, + int* /* y_return */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +#endif +); + +extern void XPeekEvent( +#if NeedFunctionPrototypes + Display* /* display */, + XEvent* /* event_return */ +#endif +); + +extern void XPeekIfEvent( +#if NeedFunctionPrototypes + Display* /* display */, + XEvent* /* event_return */, + Bool (*) ( +#if NeedNestedPrototypes + Display* /* display */, + XEvent* /* event */, + XPointer /* arg */ +#endif + ) /* predicate */, + XPointer /* arg */ +#endif +); + +extern int XPending( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern int XPlanesOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ + +#endif +); + +extern int XProtocolRevision( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern int XProtocolVersion( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + + +extern void XPutBackEvent( +#if NeedFunctionPrototypes + Display* /* display */, + XEvent* /* event */ +#endif +); + +extern void XPutImage( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + XImage* /* image */, + int /* src_x */, + int /* src_y */, + int /* dest_x */, + int /* dest_y */, + unsigned int /* width */, + unsigned int /* height */ +#endif +); + +extern int XQLength( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern Status XQueryBestCursor( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +#endif +); + +extern Status XQueryBestSize( +#if NeedFunctionPrototypes + Display* /* display */, + int /* class */, + Drawable /* which_screen */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +#endif +); + +extern Status XQueryBestStipple( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* which_screen */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +#endif +); + +extern Status XQueryBestTile( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* which_screen */, + unsigned int /* width */, + unsigned int /* height */, + unsigned int* /* width_return */, + unsigned int* /* height_return */ +#endif +); + +extern void XQueryColor( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + XColor* /* def_in_out */ +#endif +); + +extern void XQueryColors( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + XColor* /* defs_in_out */, + int /* ncolors */ +#endif +); + +extern Bool XQueryExtension( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* name */, + int* /* major_opcode_return */, + int* /* first_event_return */, + int* /* first_error_return */ +#endif +); + +extern void XQueryKeymap( +#if NeedFunctionPrototypes + Display* /* display */, + char [32] /* keys_return */ +#endif +); + +extern Bool XQueryPointer( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Window* /* root_return */, + Window* /* child_return */, + int* /* root_x_return */, + int* /* root_y_return */, + int* /* win_x_return */, + int* /* win_y_return */, + unsigned int* /* mask_return */ +#endif +); + +extern void XQueryTextExtents( +#if NeedFunctionPrototypes + Display* /* display */, + XID /* font_ID */, + _Xconst char* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +#endif +); + +extern void XQueryTextExtents16( +#if NeedFunctionPrototypes + Display* /* display */, + XID /* font_ID */, + _Xconst XChar2b* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +#endif +); + +extern Status XQueryTree( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Window* /* root_return */, + Window* /* parent_return */, + Window** /* children_return */, + unsigned int* /* nchildren_return */ +#endif +); + +extern void XRaiseWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern int XReadBitmapFile( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + _Xconst char* /* filename */, + unsigned int* /* width_return */, + unsigned int* /* height_return */, + Pixmap* /* bitmap_return */, + int* /* x_hot_return */, + int* /* y_hot_return */ +#endif +); + +extern void XRebindKeysym( +#if NeedFunctionPrototypes + Display* /* display */, + KeySym /* keysym */, + KeySym* /* list */, + int /* mod_count */, + _Xconst unsigned char* /* string */, + int /* bytes_string */ +#endif +); + +extern void XRecolorCursor( +#if NeedFunctionPrototypes + Display* /* display */, + Cursor /* cursor */, + XColor* /* foreground_color */, + XColor* /* background_color */ +#endif +); + +extern void XRefreshKeyboardMapping( +#if NeedFunctionPrototypes + XMappingEvent* /* event_map */ +#endif +); + +extern void XRemoveFromSaveSet( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern void XRemoveHost( +#if NeedFunctionPrototypes + Display* /* display */, + XHostAddress* /* host */ +#endif +); + +extern void XRemoveHosts( +#if NeedFunctionPrototypes + Display* /* display */, + XHostAddress* /* hosts */, + int /* num_hosts */ +#endif +); + +extern void XReparentWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Window /* parent */, + int /* x */, + int /* y */ +#endif +); + +extern void XResetScreenSaver( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XResizeWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + unsigned int /* width */, + unsigned int /* height */ +#endif +); + +extern void XRestackWindows( +#if NeedFunctionPrototypes + Display* /* display */, + Window* /* windows */, + int /* nwindows */ +#endif +); + +extern void XRotateBuffers( +#if NeedFunctionPrototypes + Display* /* display */, + int /* rotate */ +#endif +); + +extern void XRotateWindowProperties( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Atom* /* properties */, + int /* num_prop */, + int /* npositions */ +#endif +); + +extern int XScreenCount( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XSelectInput( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + long /* event_mask */ +#endif +); + +extern Status XSendEvent( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Bool /* propagate */, + long /* event_mask */, + XEvent* /* event_send */ +#endif +); + +extern void XSetAccessControl( +#if NeedFunctionPrototypes + Display* /* display */, + int /* mode */ +#endif +); + +extern void XSetArcMode( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + int /* arc_mode */ +#endif +); + +extern void XSetBackground( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + unsigned long /* background */ +#endif +); + +extern void XSetClipMask( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + Pixmap /* pixmap */ +#endif +); + +extern void XSetClipOrigin( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + int /* clip_x_origin */, + int /* clip_y_origin */ +#endif +); + +extern void XSetClipRectangles( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + int /* clip_x_origin */, + int /* clip_y_origin */, + XRectangle* /* rectangles */, + int /* n */, + int /* ordering */ +#endif +); + +extern void XSetCloseDownMode( +#if NeedFunctionPrototypes + Display* /* display */, + int /* close_mode */ +#endif +); + +extern void XSetCommand( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + char** /* argv */, + int /* argc */ +#endif +); + +extern void XSetDashes( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + int /* dash_offset */, + _Xconst char* /* dash_list */, + int /* n */ +#endif +); + +extern void XSetFillRule( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + int /* fill_rule */ +#endif +); + +extern void XSetFillStyle( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + int /* fill_style */ +#endif +); + +extern void XSetFont( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + Font /* font */ +#endif +); + +extern void XSetFontPath( +#if NeedFunctionPrototypes + Display* /* display */, + char** /* directories */, + int /* ndirs */ +#endif +); + +extern void XSetForeground( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + unsigned long /* foreground */ +#endif +); + +extern void XSetFunction( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + int /* function */ +#endif +); + +extern void XSetGraphicsExposures( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + Bool /* graphics_exposures */ +#endif +); + +extern void XSetIconName( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + _Xconst char* /* icon_name */ +#endif +); + +extern void XSetInputFocus( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* focus */, + int /* revert_to */, + Time /* time */ +#endif +); + +extern void XSetLineAttributes( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + unsigned int /* line_width */, + int /* line_style */, + int /* cap_style */, + int /* join_style */ +#endif +); + +extern int XSetModifierMapping( +#if NeedFunctionPrototypes + Display* /* display */, + XModifierKeymap* /* modmap */ +#endif +); + +extern void XSetPlaneMask( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + unsigned long /* plane_mask */ +#endif +); + +extern int XSetPointerMapping( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst unsigned char* /* map */, + int /* nmap */ +#endif +); + +extern void XSetScreenSaver( +#if NeedFunctionPrototypes + Display* /* display */, + int /* timeout */, + int /* interval */, + int /* prefer_blanking */, + int /* allow_exposures */ +#endif +); + +extern void XSetSelectionOwner( +#if NeedFunctionPrototypes + Display* /* display */, + Atom /* selection */, + Window /* owner */, + Time /* time */ +#endif +); + +extern void XSetState( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + unsigned long /* foreground */, + unsigned long /* background */, + int /* function */, + unsigned long /* plane_mask */ +#endif +); + +extern void XSetStipple( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + Pixmap /* stipple */ +#endif +); + +extern void XSetSubwindowMode( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + int /* subwindow_mode */ +#endif +); + +extern void XSetTSOrigin( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + int /* ts_x_origin */, + int /* ts_y_origin */ +#endif +); + +extern void XSetTile( +#if NeedFunctionPrototypes + Display* /* display */, + GC /* gc */, + Pixmap /* tile */ +#endif +); + +extern void XSetWindowBackground( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + unsigned long /* background_pixel */ +#endif +); + +extern void XSetWindowBackgroundPixmap( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Pixmap /* background_pixmap */ +#endif +); + +extern void XSetWindowBorder( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + unsigned long /* border_pixel */ +#endif +); + +extern void XSetWindowBorderPixmap( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Pixmap /* border_pixmap */ +#endif +); + +extern void XSetWindowBorderWidth( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + unsigned int /* width */ +#endif +); + +extern void XSetWindowColormap( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + Colormap /* colormap */ +#endif +); + +extern void XStoreBuffer( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* bytes */, + int /* nbytes */, + int /* buffer */ +#endif +); + +extern void XStoreBytes( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* bytes */, + int /* nbytes */ +#endif +); + +extern void XStoreColor( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + XColor* /* color */ +#endif +); + +extern void XStoreColors( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + XColor* /* color */, + int /* ncolors */ +#endif +); + +extern void XStoreName( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + _Xconst char* /* window_name */ +#endif +); + +extern void XStoreNamedColor( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */, + _Xconst char* /* color */, + unsigned long /* pixel */, + int /* flags */ +#endif +); + +extern void XSync( +#if NeedFunctionPrototypes + Display* /* display */, + Bool /* discard */ +#endif +); + +extern void XTextExtents( +#if NeedFunctionPrototypes + XFontStruct* /* font_struct */, + _Xconst char* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +#endif +); + +extern void XTextExtents16( +#if NeedFunctionPrototypes + XFontStruct* /* font_struct */, + _Xconst XChar2b* /* string */, + int /* nchars */, + int* /* direction_return */, + int* /* font_ascent_return */, + int* /* font_descent_return */, + XCharStruct* /* overall_return */ +#endif +); + +extern int XTextWidth( +#if NeedFunctionPrototypes + XFontStruct* /* font_struct */, + _Xconst char* /* string */, + int /* count */ +#endif +); + +extern int XTextWidth16( +#if NeedFunctionPrototypes + XFontStruct* /* font_struct */, + _Xconst XChar2b* /* string */, + int /* count */ +#endif +); + +extern Bool XTranslateCoordinates( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* src_w */, + Window /* dest_w */, + int /* src_x */, + int /* src_y */, + int* /* dest_x_return */, + int* /* dest_y_return */, + Window* /* child_return */ +#endif +); + +extern void XUndefineCursor( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern void XUngrabButton( +#if NeedFunctionPrototypes + Display* /* display */, + unsigned int /* button */, + unsigned int /* modifiers */, + Window /* grab_window */ +#endif +); + +extern void XUngrabKey( +#if NeedFunctionPrototypes + Display* /* display */, + int /* keycode */, + unsigned int /* modifiers */, + Window /* grab_window */ +#endif +); + +extern void XUngrabKeyboard( +#if NeedFunctionPrototypes + Display* /* display */, + Time /* time */ +#endif +); + +extern void XUngrabPointer( +#if NeedFunctionPrototypes + Display* /* display */, + Time /* time */ +#endif +); + +extern void XUngrabServer( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XUninstallColormap( +#if NeedFunctionPrototypes + Display* /* display */, + Colormap /* colormap */ +#endif +); + +extern void XUnloadFont( +#if NeedFunctionPrototypes + Display* /* display */, + Font /* font */ +#endif +); + +extern void XUnmapSubwindows( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern void XUnmapWindow( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */ +#endif +); + +extern int XVendorRelease( +#if NeedFunctionPrototypes + Display* /* display */ +#endif +); + +extern void XWarpPointer( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* src_w */, + Window /* dest_w */, + int /* src_x */, + int /* src_y */, + unsigned int /* src_width */, + unsigned int /* src_height */, + int /* dest_x */, + int /* dest_y */ +#endif +); + +extern int XWidthMMOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +extern int XWidthOfScreen( +#if NeedFunctionPrototypes + Screen* /* screen */ +#endif +); + +extern void XWindowEvent( +#if NeedFunctionPrototypes + Display* /* display */, + Window /* w */, + long /* event_mask */, + XEvent* /* event_return */ +#endif +); + +extern int XWriteBitmapFile( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* filename */, + Pixmap /* bitmap */, + unsigned int /* width */, + unsigned int /* height */, + int /* x_hot */, + int /* y_hot */ +#endif +); + +extern Bool XSupportsLocale( +#if NeedFunctionPrototypes + void +#endif +); + +extern char *XSetLocaleModifiers( +#if NeedFunctionPrototypes + _Xconst char* /* modifier_list */ +#endif +); + +extern XFontSet XCreateFontSet( +#if NeedFunctionPrototypes + Display* /* display */, + _Xconst char* /* base_font_name_list */, + char*** /* missing_charset_list */, + int* /* missing_charset_count */, + char** /* def_string */ +#endif +); + +extern void XFreeFontSet( +#if NeedFunctionPrototypes + Display* /* display */, + XFontSet /* font_set */ +#endif +); + +extern int XFontsOfFontSet( +#if NeedFunctionPrototypes + XFontSet /* font_set */, + XFontStruct*** /* font_struct_list */, + char*** /* font_name_list */ +#endif +); + +extern char *XBaseFontNameListOfFontSet( +#if NeedFunctionPrototypes + XFontSet /* font_set */ +#endif +); + +extern char *XLocaleOfFontSet( +#if NeedFunctionPrototypes + XFontSet /* font_set */ +#endif +); + +extern Bool XContextDependentDrawing( +#if NeedFunctionPrototypes + XFontSet /* font_set */ +#endif +); + +extern XFontSetExtents *XExtentsOfFontSet( +#if NeedFunctionPrototypes + XFontSet /* font_set */ +#endif +); + +extern int XmbTextEscapement( +#if NeedFunctionPrototypes + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */ +#endif +); + +extern int XwcTextEscapement( +#if NeedFunctionPrototypes + XFontSet /* font_set */, + wchar_t* /* text */, + int /* num_wchars */ +#endif +); + +extern int XmbTextExtents( +#if NeedFunctionPrototypes + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +#endif +); + +extern int XwcTextExtents( +#if NeedFunctionPrototypes + XFontSet /* font_set */, + wchar_t* /* text */, + int /* num_wchars */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +#endif +); + +extern Status XmbTextPerCharExtents( +#if NeedFunctionPrototypes + XFontSet /* font_set */, + _Xconst char* /* text */, + int /* bytes_text */, + XRectangle* /* ink_extents_buffer */, + XRectangle* /* logical_extents_buffer */, + int /* buffer_size */, + int* /* num_chars */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +#endif +); + +extern Status XwcTextPerCharExtents( +#if NeedFunctionPrototypes + XFontSet /* font_set */, + wchar_t* /* text */, + int /* num_wchars */, + XRectangle* /* ink_extents_buffer */, + XRectangle* /* logical_extents_buffer */, + int /* buffer_size */, + int* /* num_chars */, + XRectangle* /* overall_ink_return */, + XRectangle* /* overall_logical_return */ +#endif +); + +extern void XmbDrawText( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XmbTextItem* /* text_items */, + int /* nitems */ +#endif +); + +extern void XwcDrawText( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + GC /* gc */, + int /* x */, + int /* y */, + XwcTextItem* /* text_items */, + int /* nitems */ +#endif +); + +extern void XmbDrawString( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* text */, + int /* bytes_text */ +#endif +); + +extern void XwcDrawString( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + wchar_t* /* text */, + int /* num_wchars */ +#endif +); + +extern void XmbDrawImageString( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + _Xconst char* /* text */, + int /* bytes_text */ +#endif +); + +extern void XwcDrawImageString( +#if NeedFunctionPrototypes + Display* /* display */, + Drawable /* d */, + XFontSet /* font_set */, + GC /* gc */, + int /* x */, + int /* y */, + wchar_t* /* text */, + int /* num_wchars */ +#endif +); + +extern XIM XOpenIM( +#if NeedFunctionPrototypes + Display* /* dpy */, + struct _XrmHashBucketRec* /* rdb */, + char* /* res_name */, + char* /* res_class */ +#endif +); + +extern Status XCloseIM( +#if NeedFunctionPrototypes + XIM /* im */ +#endif +); + +extern char *XGetIMValues( +#if NeedVarargsPrototypes + XIM /* im */, ... +#endif +); + +extern Display *XDisplayOfIM( +#if NeedFunctionPrototypes + XIM /* im */ +#endif +); + +extern char *XLocaleOfIM( +#if NeedFunctionPrototypes + XIM /* im*/ +#endif +); + +extern XIC XCreateIC( +#if NeedVarargsPrototypes + XIM /* im */, ... +#endif +); + +extern void XDestroyIC( +#if NeedFunctionPrototypes + XIC /* ic */ +#endif +); + +extern void XSetICFocus( +#if NeedFunctionPrototypes + XIC /* ic */ +#endif +); + +extern void XUnsetICFocus( +#if NeedFunctionPrototypes + XIC /* ic */ +#endif +); + +extern wchar_t *XwcResetIC( +#if NeedFunctionPrototypes + XIC /* ic */ +#endif +); + +extern char *XmbResetIC( +#if NeedFunctionPrototypes + XIC /* ic */ +#endif +); + +extern char *XSetICValues( +#if NeedVarargsPrototypes + XIC /* ic */, ... +#endif +); + +extern char *XGetICValues( +#if NeedVarargsPrototypes + XIC /* ic */, ... +#endif +); + +extern XIM XIMOfIC( +#if NeedFunctionPrototypes + XIC /* ic */ +#endif +); + +extern Bool XFilterEvent( +#if NeedFunctionPrototypes + XEvent* /* event */, + Window /* window */ +#endif +); + +extern int XmbLookupString( +#if NeedFunctionPrototypes + XIC /* ic */, + XKeyPressedEvent* /* event */, + char* /* buffer_return */, + int /* bytes_buffer */, + KeySym* /* keysym_return */, + Status* /* status_return */ +#endif +); + +extern int XwcLookupString( +#if NeedFunctionPrototypes + XIC /* ic */, + XKeyPressedEvent* /* event */, + wchar_t* /* buffer_return */, + int /* wchars_buffer */, + KeySym* /* keysym_return */, + Status* /* status_return */ +#endif +); + +extern XVaNestedList XVaCreateNestedList( +#if NeedVarargsPrototypes + int /*unused*/, ... +#endif +); + +_XFUNCPROTOEND + +#ifdef MAC_TCL +# undef Cursor +# undef Region +#endif + +#endif /* _XLIB_H_ */ |