/* $XConsortium: Xlib.h,v 11.239 95/05/22 19:37:37 kaleb Exp $ */ /* $XFree86: xc/lib/X11/Xlib.h,v 3.5 1995/06/14 07:07:08 dawes Exp $ */ /* Copyright (c) 1985, 1986, 1987, 1991 X Consortium Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the X Consortium. */ /* * 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 6 #ifdef USG #ifndef __TYPES__ #include /* forgot to protect it... */ #define __TYPES__ #endif /* __TYPES__ */ #else #if defined(_POSIX_SOURCE) && defined(MOTOROLA) #undef _POSIX_SOURCE #include #define _POSIX_SOURCE #else #include #endif #endif /* USG */ #include /* applications should not depend on these two headers being included! */ #include #include #ifndef X_WCHAR #ifdef X_NOT_STDC_ENV #ifndef SCO324 #ifndef ISC #define X_WCHAR #endif #endif #endif #endif #ifndef X_WCHAR #include #else #ifdef __EMX__ #include #else /* replace this with #include or typedef appropriate for your system */ typedef unsigned long wchar_t; #endif #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) (((_XPrivDisplay)dpy)->fd) #define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root) #define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen) #define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root) #define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual) #define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc) #define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel) #define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel) #define AllPlanes ((unsigned long)~0L) #define QLength(dpy) (((_XPrivDisplay)dpy)->qlen) #define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width) #define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height) #define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth) #define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight) #define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth) #define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries) #define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens) #define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor) #define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version) #define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version) #define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release) #define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name) #define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth) #define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap) #define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit) #define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order) #define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad) #define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order) #ifdef CRAY /* unable to get WORD64 without pulling in other symbols */ #define NextRequest(dpy) XNextRequest(dpy) #else #define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1) #endif #define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read) /* macros for screen oriented applications (toolkit) */ #define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr]) #define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy)) #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 struct _XGC #ifdef XLIB_ILLEGAL_ACCESS { XExtData *ext_data; /* hook for extension to hang data */ GContext gid; /* protocol ID for graphics context */ /* there is more to this structure, but it is private to Xlib */ } #endif *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. */ struct _XDisplay; /* Forward declare before use for C++ */ 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. */ #ifndef XLIB_ILLEGAL_ACCESS typedef struct _XDisplay Display; #endif struct _XPrivate; /* Forward declare before use for C++ */ struct _XrmHashBucketRec; typedef struct #ifdef XLIB_ILLEGAL_ACCESS _XDisplay #endif { XExtData *ext_data; /* hook for extension to hang data */ struct _XPrivate *private1; int fd; /* Network socket. */ int private2; int proto_major_version;/* major version of server's X protocol */ int proto_minor_version;/* minor version of servers X protocol */ char *vendor; /* vendor of the server hardware */ XID private3; XID private4; XID private5; int private6; 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 private8; int release; /* release of the server */ struct _XPrivate *private9, *private10; int qlen; /* Length of input event queue */ unsigned long last_request_read; /* seq number of last event read */ unsigned long request; /* sequence number of last request. */ XPointer private11; XPointer private12; XPointer private13; XPointer private14; unsigned max_request_size; /* maximum number 32 bit words in request*/ struct _XrmHashBucketRec *db; int (*private15)(); 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 private16; int min_keycode; /* minimum defined keycode */ int max_keycode; /* maximum defined keycode */ XPointer private17; XPointer private18; int private19; char *xdefaults; /* contents of defaults from server */ /* there is more to this structure, but it is private to Xlib */ } #ifdef XLIB_ILLEGAL_ACCESS Display, #endif *_XPrivDisplay; #if NeedFunctionPrototypes /* prototypes require event type definitions */ #undef _XEVENT_ #endif #ifndef _XEVENT_ /* * 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 */ } 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) ((*((_XPrivDisplay)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 void (*XOMProc)(); typedef struct _XOM *XOM; typedef struct _XOC *XOC, *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; #define XNRequiredCharSet "requiredCharSet" #define XNQueryOrientation "queryOrientation" #define XNBaseFontName "baseFontName" #define XNOMAutomatic "omAutomatic" #define XNMissingCharSet "missingCharSet" #define XNDefaultString "defaultString" #define XNOrientation "orientation" #define XNDirectionalDependentDrawing "directionalDependentDrawing" #define XNContextualDrawing "contextualDrawing" #define XNFontInfo "fontInfo" typedef struct { int charset_count; char **charset_list; } XOMCharSetList; typedef enum { XOMOrientation_LTR_TTB, XOMOrientation_RTL_TTB, XOMOrientation_TTB_LTR, XOMOrientation_TTB_RTL, XOMOrientation_Context } XOrientation; typedef struct { int num_orientation; XOrientation *orientation; /* Input Text description */ } XOMOrientation; typedef struct { int num_font; XFontStruct **font_struct_list; char **font_name_list; } XOMFontInfo; 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 XNQueryInputStyle "queryInputStyle" #define XNClientWindow "clientWindow" #define XNInputStyle "inputStyle" #define XNFocusWindow "focusWindow" #define XNResourceName "resourceName" #define XNResourceClass "resourceClass" #define XNGeometryCallback "geometryCallback" #define XNDestroyCallback "destroyCallback" #define XNFilterEvents "filterEvents" #define XNPreeditStartCallback "preeditStartCallback" #define XNPreeditDoneCallback "preeditDoneCallback" #define XNPreeditDrawCallback "preeditDrawCallback" #define XNPreeditCaretCallback "preeditCaretCallback" #define XNPreeditStateNotifyCallback "preeditStateNotifyCallback" #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 XNQueryIMValuesList "queryIMValuesList" #define XNQueryICValuesList "queryICValuesList" #define XNVisiblePosition "visiblePosition" #define XNR6PreeditCallback "r6PreeditCallback" #define XNStringConversionCallback "stringConversionCallback" #define XNStringConversion "stringConversion" #define XNResetState "resetState" #define XNHotKey "hotKey" #define XNHotKeyState "hotKeyState" #define XNPreeditState "preeditState" #define XNSeparatorofNestedList "separatorofNestedList" #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 1L #define XIMUnderline (1L<<1) #define XIMHighlight (1L<<2) #define XIMPrimary (1L<<5) #define XIMSecondary (1L<<6) #define XIMTertiary (1L<<7) #define XIMVisibleToForward (1L<<8) #define XIMVisibleToBackword (1L<<9) #define XIMVisibleToCenter (1L<<10) typedef struct _XIMText { unsigned short length; XIMFeedback *feedback; Bool encoding_is_wchar; union { char *multi_byte; wchar_t *wide_char; } string; } XIMText; typedef unsigned long XIMPreeditState; #define XIMPreeditUnKnown 0L #define XIMPreeditEnable 1L #define XIMPreeditDisable (1L<<1) typedef struct _XIMPreeditStateNotifyCallbackStruct { XIMPreeditState state; } XIMPreeditStateNotifyCallbackStruct; typedef unsigned long XIMResetState; #define XIMInitialState 1L #define XIMPreserveState (1L<<1) typedef unsigned long XIMStringConversionFeedback; #define XIMStringConversionLeftEdge (0x00000001) #define XIMStringConversionRightEdge (0x00000002) #define XIMStringConversionTopEdge (0x00000004) #define XIMStringConversionBottomEdge (0x00000008) #define XIMStringConversionConcealed (0x00000010) #define XIMStringConversionWrapped (0x00000020) typedef struct _XIMStringConversionText { unsigned short length; XIMStringConversionFeedback *feedback; Bool encoding_is_wchar; union { char *mbs; wchar_t *wcs; } string; } XIMStringConversionText; typedef unsigned short XIMStringConversionPosition; typedef unsigned short XIMStringConversionType; #define XIMStringConversionBuffer (0x0001) #define XIMStringConversionLine (0x0002) #define XIMStringConversionWord (0x0003) #define XIMStringConversionChar (0x0004) typedef unsigned short XIMStringConversionOperation; #define XIMStringConversionSubstitution (0x0001) #define XIMStringConversionRetrival (0x0002) typedef enum { XIMForwardChar, XIMBackwardChar, XIMForwardWord, XIMBackwardWord, XIMCaretUp, XIMCaretDown, XIMNextLine, XIMPreviousLine, XIMLineStart, XIMLineEnd, XIMAbsolutePosition, XIMDontChange } XIMCaretDirection; typedef struct _XIMStringConversionCallbackStruct { XIMStringConversionPosition position; XIMCaretDirection direction; XIMStringConversionOperation operation; unsigned short factor; XIMStringConversionText *text; } XIMStringConversionCallbackStruct; 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 { 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; typedef struct _XIMHotKeyTrigger { KeySym keysym; int modifier; int modifier_mask; } XIMHotKeyTrigger; typedef struct _XIMHotKeyTriggers { int num_hot_key; XIMHotKeyTrigger *key; } XIMHotKeyTriggers; typedef unsigned long XIMHotKeyState; #define XIMHotKeyStateON (0x0001L) #define XIMHotKeyStateOFF (0x0002L) typedef struct { unsigned short count_values; char **supported_values; } XIMValuesList; _XFUNCPROTOBEGIN #if defined(WIN32) && !defined(_XLIBINT_) #define _Xdebug (*_Xdebug_p) #endif extern int _Xdebug; 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 Status XInitImage( #if NeedFunctionPrototypes XImage* /* image */ #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 Status XGetAtomNames( #if NeedFunctionPrototypes Display* /* dpy */, Atom* /* atoms */, int /* count */, char** /* names_return */ #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 Status XInternAtoms( #if NeedFunctionPrototypes Display* /* dpy */, char** /* names */, int /* count */, Bool /* onlyIfExists */, Atom* /* atoms_return */ #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 ); /* multithread routines */ extern Status XInitThreads( #if NeedFunctionPrototypes void #endif ); extern void XLockDisplay( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern void XUnlockDisplay( #if NeedFunctionPrototypes Display* /* display */ #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 XSetTransientForHint( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, Window /* prop_window */ #endif ); /* The following are given in alphabetical order */ extern XActivateScreenSaver( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern XAddHost( #if NeedFunctionPrototypes Display* /* display */, XHostAddress* /* host */ #endif ); extern XAddHosts( #if NeedFunctionPrototypes Display* /* display */, XHostAddress* /* hosts */, int /* num_hosts */ #endif ); extern XAddToExtensionList( #if NeedFunctionPrototypes struct _XExtData** /* structure */, XExtData* /* ext_data */ #endif ); extern 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 XAllowEvents( #if NeedFunctionPrototypes Display* /* display */, int /* event_mode */, Time /* time */ #endif ); extern XAutoRepeatOff( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern XAutoRepeatOn( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern 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 XChangeActivePointerGrab( #if NeedFunctionPrototypes Display* /* display */, unsigned int /* event_mask */, Cursor /* cursor */, Time /* time */ #endif ); extern XChangeGC( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, unsigned long /* valuemask */, XGCValues* /* values */ #endif ); extern XChangeKeyboardControl( #if NeedFunctionPrototypes Display* /* display */, unsigned long /* value_mask */, XKeyboardControl* /* values */ #endif ); extern XChangeKeyboardMapping( #if NeedFunctionPrototypes Display* /* display */, int /* first_keycode */, int /* keysyms_per_keycode */, KeySym* /* keysyms */, int /* num_codes */ #endif ); extern XChangePointerControl( #if NeedFunctionPrototypes Display* /* display */, Bool /* do_accel */, Bool /* do_threshold */, int /* accel_numerator */, int /* accel_denominator */, int /* threshold */ #endif ); extern XChangeProperty( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, Atom /* property */, Atom /* type */, int /* format */, int /* mode */, _Xconst unsigned char* /* data */, int /* nelements */ #endif ); extern XChangeSaveSet( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, int /* change_mode */ #endif ); extern 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 XCirculateSubwindows( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, int /* direction */ #endif ); extern XCirculateSubwindowsDown( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern XCirculateSubwindowsUp( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern XClearArea( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, int /* x */, int /* y */, unsigned int /* width */, unsigned int /* height */, Bool /* exposures */ #endif ); extern XClearWindow( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern XCloseDisplay( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern XConfigureWindow( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, unsigned int /* value_mask */, XWindowChanges* /* values */ #endif ); extern int XConnectionNumber( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern XConvertSelection( #if NeedFunctionPrototypes Display* /* display */, Atom /* selection */, Atom /* target */, Atom /* property */, Window /* requestor */, Time /* time */ #endif ); extern 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 XCopyGC( #if NeedFunctionPrototypes Display* /* display */, GC /* src */, unsigned long /* valuemask */, GC /* dest */ #endif ); extern 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 XDefineCursor( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, Cursor /* cursor */ #endif ); extern XDeleteProperty( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, Atom /* property */ #endif ); extern XDestroyWindow( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern 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 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 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 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 XDrawArcs( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, XArc* /* arcs */, int /* narcs */ #endif ); extern XDrawImageString( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, int /* x */, int /* y */, _Xconst char* /* string */, int /* length */ #endif ); extern XDrawImageString16( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, int /* x */, int /* y */, _Xconst XChar2b* /* string */, int /* length */ #endif ); extern XDrawLine( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, int /* x1 */, int /* x2 */, int /* y1 */, int /* y2 */ #endif ); extern XDrawLines( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, XPoint* /* points */, int /* npoints */, int /* mode */ #endif ); extern XDrawPoint( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, int /* x */, int /* y */ #endif ); extern XDrawPoints( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, XPoint* /* points */, int /* npoints */, int /* mode */ #endif ); extern XDrawRectangle( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, int /* x */, int /* y */, unsigned int /* width */, unsigned int /* height */ #endif ); extern XDrawRectangles( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, XRectangle* /* rectangles */, int /* nrectangles */ #endif ); extern XDrawSegments( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, XSegment* /* segments */, int /* nsegments */ #endif ); extern XDrawString( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, int /* x */, int /* y */, _Xconst char* /* string */, int /* length */ #endif ); extern XDrawString16( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, int /* x */, int /* y */, _Xconst XChar2b* /* string */, int /* length */ #endif ); extern XDrawText( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, int /* x */, int /* y */, XTextItem* /* items */, int /* nitems */ #endif ); extern XDrawText16( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, int /* x */, int /* y */, XTextItem16* /* items */, int /* nitems */ #endif ); extern 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 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 XFillArcs( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, XArc* /* arcs */, int /* narcs */ #endif ); extern XFillPolygon( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, XPoint* /* points */, int /* npoints */, int /* shape */, int /* mode */ #endif ); extern XFillRectangle( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, int /* x */, int /* y */, unsigned int /* width */, unsigned int /* height */ #endif ); extern XFillRectangles( #if NeedFunctionPrototypes Display* /* display */, Drawable /* d */, GC /* gc */, XRectangle* /* rectangles */, int /* nrectangles */ #endif ); extern XFlush( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern XForceScreenSaver( #if NeedFunctionPrototypes Display* /* display */, int /* mode */ #endif ); extern XFree( #if NeedFunctionPrototypes void* /* data */ #endif ); extern XFreeColormap( #if NeedFunctionPrototypes Display* /* display */, Colormap /* colormap */ #endif ); extern XFreeColors( #if NeedFunctionPrototypes Display* /* display */, Colormap /* colormap */, unsigned long* /* pixels */, int /* npixels */, unsigned long /* planes */ #endif ); extern XFreeCursor( #if NeedFunctionPrototypes Display* /* display */, Cursor /* cursor */ #endif ); extern XFreeExtensionList( #if NeedFunctionPrototypes char** /* list */ #endif ); extern XFreeFont( #if NeedFunctionPrototypes Display* /* display */, XFontStruct* /* font_struct */ #endif ); extern XFreeFontInfo( #if NeedFunctionPrototypes char** /* names */, XFontStruct* /* free_info */, int /* actual_count */ #endif ); extern XFreeFontNames( #if NeedFunctionPrototypes char** /* list */ #endif ); extern XFreeFontPath( #if NeedFunctionPrototypes char** /* list */ #endif ); extern XFreeGC( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */ #endif ); extern XFreeModifiermap( #if NeedFunctionPrototypes XModifierKeymap* /* modmap */ #endif ); extern 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 XGetErrorDatabaseText( #if NeedFunctionPrototypes Display* /* display */, _Xconst char* /* name */, _Xconst char* /* message */, _Xconst char* /* default_string */, char* /* buffer_return */, int /* length */ #endif ); extern 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 XGetInputFocus( #if NeedFunctionPrototypes Display* /* display */, Window* /* focus_return */, int* /* revert_to_return */ #endif ); extern XGetKeyboardControl( #if NeedFunctionPrototypes Display* /* display */, XKeyboardState* /* values_return */ #endif ); extern 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 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 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 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 XGrabServer( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern int XHeightMMOfScreen( #if NeedFunctionPrototypes Screen* /* screen */ #endif ); extern int XHeightOfScreen( #if NeedFunctionPrototypes Screen* /* screen */ #endif ); extern 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 XInstallColormap( #if NeedFunctionPrototypes Display* /* display */, Colormap /* colormap */ #endif ); extern KeyCode XKeysymToKeycode( #if NeedFunctionPrototypes Display* /* display */, KeySym /* keysym */ #endif ); extern 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 XLowerWindow( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern XMapRaised( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern XMapSubwindows( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern XMapWindow( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern 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 XMoveResizeWindow( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, int /* x */, int /* y */, unsigned int /* width */, unsigned int /* height */ #endif ); extern XMoveWindow( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, int /* x */, int /* y */ #endif ); extern XNextEvent( #if NeedFunctionPrototypes Display* /* display */, XEvent* /* event_return */ #endif ); extern 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 XPeekEvent( #if NeedFunctionPrototypes Display* /* display */, XEvent* /* event_return */ #endif ); extern 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 XPutBackEvent( #if NeedFunctionPrototypes Display* /* display */, XEvent* /* event */ #endif ); extern 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 XQueryColor( #if NeedFunctionPrototypes Display* /* display */, Colormap /* colormap */, XColor* /* def_in_out */ #endif ); extern 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 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 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 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 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 int XReadBitmapFileData( #if NeedFunctionPrototypes _Xconst char* /* filename */, unsigned int* /* width_return */, unsigned int* /* height_return */, unsigned char** /* data_return */, int* /* x_hot_return */, int* /* y_hot_return */ #endif ); extern XRebindKeysym( #if NeedFunctionPrototypes Display* /* display */, KeySym /* keysym */, KeySym* /* list */, int /* mod_count */, _Xconst unsigned char* /* string */, int /* bytes_string */ #endif ); extern XRecolorCursor( #if NeedFunctionPrototypes Display* /* display */, Cursor /* cursor */, XColor* /* foreground_color */, XColor* /* background_color */ #endif ); extern XRefreshKeyboardMapping( #if NeedFunctionPrototypes XMappingEvent* /* event_map */ #endif ); extern XRemoveFromSaveSet( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern XRemoveHost( #if NeedFunctionPrototypes Display* /* display */, XHostAddress* /* host */ #endif ); extern XRemoveHosts( #if NeedFunctionPrototypes Display* /* display */, XHostAddress* /* hosts */, int /* num_hosts */ #endif ); extern XReparentWindow( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, Window /* parent */, int /* x */, int /* y */ #endif ); extern XResetScreenSaver( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern XResizeWindow( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, unsigned int /* width */, unsigned int /* height */ #endif ); extern XRestackWindows( #if NeedFunctionPrototypes Display* /* display */, Window* /* windows */, int /* nwindows */ #endif ); extern XRotateBuffers( #if NeedFunctionPrototypes Display* /* display */, int /* rotate */ #endif ); extern XRotateWindowProperties( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, Atom* /* properties */, int /* num_prop */, int /* npositions */ #endif ); extern int XScreenCount( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern 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 XSetAccessControl( #if NeedFunctionPrototypes Display* /* display */, int /* mode */ #endif ); extern XSetArcMode( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, int /* arc_mode */ #endif ); extern XSetBackground( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, unsigned long /* background */ #endif ); extern XSetClipMask( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, Pixmap /* pixmap */ #endif ); extern XSetClipOrigin( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, int /* clip_x_origin */, int /* clip_y_origin */ #endif ); extern XSetClipRectangles( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, int /* clip_x_origin */, int /* clip_y_origin */, XRectangle* /* rectangles */, int /* n */, int /* ordering */ #endif ); extern XSetCloseDownMode( #if NeedFunctionPrototypes Display* /* display */, int /* close_mode */ #endif ); extern XSetCommand( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, char** /* argv */, int /* argc */ #endif ); extern XSetDashes( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, int /* dash_offset */, _Xconst char* /* dash_list */, int /* n */ #endif ); extern XSetFillRule( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, int /* fill_rule */ #endif ); extern XSetFillStyle( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, int /* fill_style */ #endif ); extern XSetFont( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, Font /* font */ #endif ); extern XSetFontPath( #if NeedFunctionPrototypes Display* /* display */, char** /* directories */, int /* ndirs */ #endif ); extern XSetForeground( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, unsigned long /* foreground */ #endif ); extern XSetFunction( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, int /* function */ #endif ); extern XSetGraphicsExposures( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, Bool /* graphics_exposures */ #endif ); extern XSetIconName( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, _Xconst char* /* icon_name */ #endif ); extern XSetInputFocus( #if NeedFunctionPrototypes Display* /* display */, Window /* focus */, int /* revert_to */, Time /* time */ #endif ); extern 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 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 XSetScreenSaver( #if NeedFunctionPrototypes Display* /* display */, int /* timeout */, int /* interval */, int /* prefer_blanking */, int /* allow_exposures */ #endif ); extern XSetSelectionOwner( #if NeedFunctionPrototypes Display* /* display */, Atom /* selection */, Window /* owner */, Time /* time */ #endif ); extern XSetState( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, unsigned long /* foreground */, unsigned long /* background */, int /* function */, unsigned long /* plane_mask */ #endif ); extern XSetStipple( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, Pixmap /* stipple */ #endif ); extern XSetSubwindowMode( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, int /* subwindow_mode */ #endif ); extern XSetTSOrigin( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, int /* ts_x_origin */, int /* ts_y_origin */ #endif ); extern XSetTile( #if NeedFunctionPrototypes Display* /* display */, GC /* gc */, Pixmap /* tile */ #endif ); extern XSetWindowBackground( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, unsigned long /* background_pixel */ #endif ); extern XSetWindowBackgroundPixmap( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, Pixmap /* background_pixmap */ #endif ); extern XSetWindowBorder( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, unsigned long /* border_pixel */ #endif ); extern XSetWindowBorderPixmap( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, Pixmap /* border_pixmap */ #endif ); extern XSetWindowBorderWidth( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, unsigned int /* width */ #endif ); extern XSetWindowColormap( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, Colormap /* colormap */ #endif ); extern XStoreBuffer( #if NeedFunctionPrototypes Display* /* display */, _Xconst char* /* bytes */, int /* nbytes */, int /* buffer */ #endif ); extern XStoreBytes( #if NeedFunctionPrototypes Display* /* display */, _Xconst char* /* bytes */, int /* nbytes */ #endif ); extern XStoreColor( #if NeedFunctionPrototypes Display* /* display */, Colormap /* colormap */, XColor* /* color */ #endif ); extern XStoreColors( #if NeedFunctionPrototypes Display* /* display */, Colormap /* colormap */, XColor* /* color */, int /* ncolors */ #endif ); extern XStoreName( #if NeedFunctionPrototypes Display* /* display */, Window /* w */, _Xconst char* /* window_name */ #endif ); extern XStoreNamedColor( #if NeedFunctionPrototypes Display* /* display */, Colormap /* colormap */, _Xconst char* /* color */, unsigned long /* pixel */, int /* flags */ #endif ); extern XSync( #if NeedFunctionPrototypes Display* /* display */, Bool /* discard */ #endif ); extern 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 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 XUndefineCursor( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern XUngrabButton( #if NeedFunctionPrototypes Display* /* display */, unsigned int /* button */, unsigned int /* modifiers */, Window /* grab_window */ #endif ); extern XUngrabKey( #if NeedFunctionPrototypes Display* /* display */, int /* keycode */, unsigned int /* modifiers */, Window /* grab_window */ #endif ); extern XUngrabKeyboard( #if NeedFunctionPrototypes Display* /* display */, Time /* time */ #endif ); extern XUngrabPointer( #if NeedFunctionPrototypes Display* /* display */, Time /* time */ #endif ); extern XUngrabServer( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern XUninstallColormap( #if NeedFunctionPrototypes Display* /* display */, Colormap /* colormap */ #endif ); extern XUnloadFont( #if NeedFunctionPrototypes Display* /* display */, Font /* font */ #endif ); extern XUnmapSubwindows( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern XUnmapWindow( #if NeedFunctionPrototypes Display* /* display */, Window /* w */ #endif ); extern int XVendorRelease( #if NeedFunctionPrototypes Display* /* display */ #endif ); extern 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 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 XOM XOpenOM( #if NeedFunctionPrototypes Display* /* display */, struct _XrmHashBucketRec* /* rdb */, _Xconst char* /* res_name */, _Xconst char* /* res_class */ #endif ); extern Status XCloseOM( #if NeedFunctionPrototypes XOM /* om */ #endif ); extern char *XSetOMValues( #if NeedVarargsPrototypes XOM /* om */, ... #endif ); extern char *XGetOMValues( #if NeedVarargsPrototypes XOM /* om */, ... #endif ); extern Display *XDisplayOfOM( #if NeedFunctionPrototypes XOM /* om */ #endif ); extern char *XLocaleOfOM( #if NeedFunctionPrototypes XOM /* om */ #endif ); extern XOC XCreateOC( #if NeedVarargsPrototypes XOM /* om */, ... #endif ); extern void XDestroyOC( #if NeedFunctionPrototypes XOC /* oc */ #endif ); extern XOM XOMOfOC( #if NeedFunctionPrototypes XOC /* oc */ #endif ); extern char *XSetOCValues( #if NeedVarargsPrototypes XOC /* oc */, ... #endif ); extern char *XGetOCValues( #if NeedVarargsPrototypes XOC /* oc */, ... #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 Bool XDirectionalDependentDrawing( #if NeedFunctionPrototypes XFontSet /* font_set */ #endif ); extern Bool XContextualDrawing( #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 */, _Xconst 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 */, _Xconst 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 */, _Xconst 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 */, _Xconst 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 */, _Xconst 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 ); /* internal connections for IMs */ extern Bool XRegisterIMInstantiateCallback( #if NeedFunctionPrototypes Display* /* dpy */, struct _XrmHashBucketRec* /* rdb */, char* /* res_name */, char* /* res_class */, XIMProc /* callback */, XPointer* /* client_data */ #endif ); extern Bool XUnregisterIMInstantiateCallback( #if NeedFunctionPrototypes Display* /* dpy */, struct _XrmHashBucketRec* /* rdb */, char* /* res_name */, char* /* res_class */, XIMProc /* callback */, XPointer* /* client_data */ #endif ); typedef void (*XConnectionWatchProc)( #if NeedFunctionPrototypes Display* /* dpy */, XPointer /* client_data */, int /* fd */, Bool /* opening */, /* open or close flag */ XPointer* /* watch_data */ /* open sets, close uses */ #endif ); extern Status XInternalConnectionNumbers( #if NeedFunctionPrototypes Display* /* dpy */, int** /* fd_return */, int* /* count_return */ #endif ); extern void XProcessInternalConnection( #if NeedFunctionPrototypes Display* /* dpy */, int /* fd */ #endif ); extern Status XAddConnectionWatch( #if NeedFunctionPrototypes Display* /* dpy */, XConnectionWatchProc /* callback */, XPointer /* client_data */ #endif ); extern void XRemoveConnectionWatch( #if NeedFunctionPrototypes Display* /* dpy */, XConnectionWatchProc /* callback */, XPointer /* client_data */ #endif ); _XFUNCPROTOEND #endif /* _XLIB_H_ */