jpayne@69: /* jpayne@69: jpayne@69: Copyright 1985, 1986, 1987, 1991, 1998 The Open Group jpayne@69: jpayne@69: Permission to use, copy, modify, distribute, and sell this software and its jpayne@69: documentation for any purpose is hereby granted without fee, provided that jpayne@69: the above copyright notice appear in all copies and that both that jpayne@69: copyright notice and this permission notice appear in supporting jpayne@69: documentation. jpayne@69: jpayne@69: The above copyright notice and this permission notice shall be included in jpayne@69: all copies or substantial portions of the Software. jpayne@69: jpayne@69: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR jpayne@69: IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, jpayne@69: FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE jpayne@69: OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN jpayne@69: AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN jpayne@69: CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. jpayne@69: jpayne@69: Except as contained in this notice, the name of The Open Group shall not be jpayne@69: used in advertising or otherwise to promote the sale, use or other dealings jpayne@69: in this Software without prior written authorization from The Open Group. jpayne@69: jpayne@69: */ jpayne@69: jpayne@69: jpayne@69: /* jpayne@69: * Xlib.h - Header definition and support file for the C subroutine jpayne@69: * interface library (Xlib) to the X Window System Protocol (V11). jpayne@69: * Structures and symbols starting with "_" are private to the library. jpayne@69: */ jpayne@69: #ifndef _X11_XLIB_H_ jpayne@69: #define _X11_XLIB_H_ jpayne@69: jpayne@69: #define XlibSpecificationRelease 6 jpayne@69: jpayne@69: #include jpayne@69: jpayne@69: #if defined(__SCO__) || defined(__UNIXWARE__) jpayne@69: #include jpayne@69: #endif jpayne@69: jpayne@69: #include jpayne@69: jpayne@69: /* applications should not depend on these two headers being included! */ jpayne@69: #include jpayne@69: #include jpayne@69: jpayne@69: #ifndef X_WCHAR jpayne@69: #include jpayne@69: #else jpayne@69: /* replace this with #include or typedef appropriate for your system */ jpayne@69: typedef unsigned long wchar_t; jpayne@69: #endif jpayne@69: jpayne@69: jpayne@69: extern int jpayne@69: _Xmblen( jpayne@69: char *str, jpayne@69: int len jpayne@69: ); jpayne@69: jpayne@69: /* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in jpayne@69: November 2000. Its presence is indicated through the following macro. */ jpayne@69: #define X_HAVE_UTF8_STRING 1 jpayne@69: jpayne@69: /* The Xlib structs are full of implicit padding to properly align members. jpayne@69: We can't clean that up without breaking ABI, so tell clang not to bother jpayne@69: complaining about it. */ jpayne@69: #ifdef __clang__ jpayne@69: #pragma clang diagnostic push jpayne@69: #pragma clang diagnostic ignored "-Wpadded" jpayne@69: #endif jpayne@69: jpayne@69: typedef char *XPointer; jpayne@69: jpayne@69: #define Bool int jpayne@69: #define Status int jpayne@69: #define True 1 jpayne@69: #define False 0 jpayne@69: jpayne@69: #define QueuedAlready 0 jpayne@69: #define QueuedAfterReading 1 jpayne@69: #define QueuedAfterFlush 2 jpayne@69: jpayne@69: #define ConnectionNumber(dpy) (((_XPrivDisplay)(dpy))->fd) jpayne@69: #define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root) jpayne@69: #define DefaultScreen(dpy) (((_XPrivDisplay)(dpy))->default_screen) jpayne@69: #define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root) jpayne@69: #define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual) jpayne@69: #define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc) jpayne@69: #define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel) jpayne@69: #define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel) jpayne@69: #define AllPlanes ((unsigned long)~0L) jpayne@69: #define QLength(dpy) (((_XPrivDisplay)(dpy))->qlen) jpayne@69: #define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width) jpayne@69: #define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height) jpayne@69: #define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth) jpayne@69: #define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight) jpayne@69: #define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth) jpayne@69: #define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries) jpayne@69: #define ScreenCount(dpy) (((_XPrivDisplay)(dpy))->nscreens) jpayne@69: #define ServerVendor(dpy) (((_XPrivDisplay)(dpy))->vendor) jpayne@69: #define ProtocolVersion(dpy) (((_XPrivDisplay)(dpy))->proto_major_version) jpayne@69: #define ProtocolRevision(dpy) (((_XPrivDisplay)(dpy))->proto_minor_version) jpayne@69: #define VendorRelease(dpy) (((_XPrivDisplay)(dpy))->release) jpayne@69: #define DisplayString(dpy) (((_XPrivDisplay)(dpy))->display_name) jpayne@69: #define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth) jpayne@69: #define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap) jpayne@69: #define BitmapUnit(dpy) (((_XPrivDisplay)(dpy))->bitmap_unit) jpayne@69: #define BitmapBitOrder(dpy) (((_XPrivDisplay)(dpy))->bitmap_bit_order) jpayne@69: #define BitmapPad(dpy) (((_XPrivDisplay)(dpy))->bitmap_pad) jpayne@69: #define ImageByteOrder(dpy) (((_XPrivDisplay)(dpy))->byte_order) jpayne@69: #define NextRequest(dpy) (((_XPrivDisplay)(dpy))->request + 1) jpayne@69: #define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)(dpy))->last_request_read) jpayne@69: jpayne@69: /* macros for screen oriented applications (toolkit) */ jpayne@69: #define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)(dpy))->screens[scr]) jpayne@69: #define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy)) jpayne@69: #define DisplayOfScreen(s) ((s)->display) jpayne@69: #define RootWindowOfScreen(s) ((s)->root) jpayne@69: #define BlackPixelOfScreen(s) ((s)->black_pixel) jpayne@69: #define WhitePixelOfScreen(s) ((s)->white_pixel) jpayne@69: #define DefaultColormapOfScreen(s)((s)->cmap) jpayne@69: #define DefaultDepthOfScreen(s) ((s)->root_depth) jpayne@69: #define DefaultGCOfScreen(s) ((s)->default_gc) jpayne@69: #define DefaultVisualOfScreen(s)((s)->root_visual) jpayne@69: #define WidthOfScreen(s) ((s)->width) jpayne@69: #define HeightOfScreen(s) ((s)->height) jpayne@69: #define WidthMMOfScreen(s) ((s)->mwidth) jpayne@69: #define HeightMMOfScreen(s) ((s)->mheight) jpayne@69: #define PlanesOfScreen(s) ((s)->root_depth) jpayne@69: #define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries) jpayne@69: #define MinCmapsOfScreen(s) ((s)->min_maps) jpayne@69: #define MaxCmapsOfScreen(s) ((s)->max_maps) jpayne@69: #define DoesSaveUnders(s) ((s)->save_unders) jpayne@69: #define DoesBackingStore(s) ((s)->backing_store) jpayne@69: #define EventMaskOfScreen(s) ((s)->root_input_mask) jpayne@69: jpayne@69: /* jpayne@69: * Extensions need a way to hang private data on some structures. jpayne@69: */ jpayne@69: typedef struct _XExtData { jpayne@69: int number; /* number returned by XRegisterExtension */ jpayne@69: struct _XExtData *next; /* next item on list of data for structure */ jpayne@69: int (*free_private)( /* called to free private storage */ jpayne@69: struct _XExtData *extension jpayne@69: ); jpayne@69: XPointer private_data; /* data private to this extension. */ jpayne@69: } XExtData; jpayne@69: jpayne@69: /* jpayne@69: * This file contains structures used by the extension mechanism. jpayne@69: */ jpayne@69: typedef struct { /* public to extension, cannot be changed */ jpayne@69: int extension; /* extension number */ jpayne@69: int major_opcode; /* major op-code assigned by server */ jpayne@69: int first_event; /* first event number for the extension */ jpayne@69: int first_error; /* first error number for the extension */ jpayne@69: } XExtCodes; jpayne@69: jpayne@69: /* jpayne@69: * Data structure for retrieving info about pixmap formats. jpayne@69: */ jpayne@69: jpayne@69: typedef struct { jpayne@69: int depth; jpayne@69: int bits_per_pixel; jpayne@69: int scanline_pad; jpayne@69: } XPixmapFormatValues; jpayne@69: jpayne@69: jpayne@69: /* jpayne@69: * Data structure for setting graphics context. jpayne@69: */ jpayne@69: typedef struct { jpayne@69: int function; /* logical operation */ jpayne@69: unsigned long plane_mask;/* plane mask */ jpayne@69: unsigned long foreground;/* foreground pixel */ jpayne@69: unsigned long background;/* background pixel */ jpayne@69: int line_width; /* line width */ jpayne@69: int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */ jpayne@69: int cap_style; /* CapNotLast, CapButt, jpayne@69: CapRound, CapProjecting */ jpayne@69: int join_style; /* JoinMiter, JoinRound, JoinBevel */ jpayne@69: int fill_style; /* FillSolid, FillTiled, jpayne@69: FillStippled, FillOpaqueStippled */ jpayne@69: int fill_rule; /* EvenOddRule, WindingRule */ jpayne@69: int arc_mode; /* ArcChord, ArcPieSlice */ jpayne@69: Pixmap tile; /* tile pixmap for tiling operations */ jpayne@69: Pixmap stipple; /* stipple 1 plane pixmap for stippling */ jpayne@69: int ts_x_origin; /* offset for tile or stipple operations */ jpayne@69: int ts_y_origin; jpayne@69: Font font; /* default text font for text operations */ jpayne@69: int subwindow_mode; /* ClipByChildren, IncludeInferiors */ jpayne@69: Bool graphics_exposures;/* boolean, should exposures be generated */ jpayne@69: int clip_x_origin; /* origin for clipping */ jpayne@69: int clip_y_origin; jpayne@69: Pixmap clip_mask; /* bitmap clipping; other calls for rects */ jpayne@69: int dash_offset; /* patterned/dashed line information */ jpayne@69: char dashes; jpayne@69: } XGCValues; jpayne@69: jpayne@69: /* jpayne@69: * Graphics context. The contents of this structure are implementation jpayne@69: * dependent. A GC should be treated as opaque by application code. jpayne@69: */ jpayne@69: jpayne@69: typedef struct _XGC jpayne@69: #ifdef XLIB_ILLEGAL_ACCESS jpayne@69: { jpayne@69: XExtData *ext_data; /* hook for extension to hang data */ jpayne@69: GContext gid; /* protocol ID for graphics context */ jpayne@69: /* there is more to this structure, but it is private to Xlib */ jpayne@69: } jpayne@69: #endif jpayne@69: *GC; jpayne@69: jpayne@69: /* jpayne@69: * Visual structure; contains information about colormapping possible. jpayne@69: */ jpayne@69: typedef struct { jpayne@69: XExtData *ext_data; /* hook for extension to hang data */ jpayne@69: VisualID visualid; /* visual id of this visual */ jpayne@69: #if defined(__cplusplus) || defined(c_plusplus) jpayne@69: int c_class; /* C++ class of screen (monochrome, etc.) */ jpayne@69: #else jpayne@69: int class; /* class of screen (monochrome, etc.) */ jpayne@69: #endif jpayne@69: unsigned long red_mask, green_mask, blue_mask; /* mask values */ jpayne@69: int bits_per_rgb; /* log base 2 of distinct color values */ jpayne@69: int map_entries; /* color map entries */ jpayne@69: } Visual; jpayne@69: jpayne@69: /* jpayne@69: * Depth structure; contains information for each possible depth. jpayne@69: */ jpayne@69: typedef struct { jpayne@69: int depth; /* this depth (Z) of the depth */ jpayne@69: int nvisuals; /* number of Visual types at this depth */ jpayne@69: Visual *visuals; /* list of visuals possible at this depth */ jpayne@69: } Depth; jpayne@69: jpayne@69: /* jpayne@69: * Information about the screen. The contents of this structure are jpayne@69: * implementation dependent. A Screen should be treated as opaque jpayne@69: * by application code. jpayne@69: */ jpayne@69: jpayne@69: struct _XDisplay; /* Forward declare before use for C++ */ jpayne@69: jpayne@69: typedef struct { jpayne@69: XExtData *ext_data; /* hook for extension to hang data */ jpayne@69: struct _XDisplay *display;/* back pointer to display structure */ jpayne@69: Window root; /* Root window id. */ jpayne@69: int width, height; /* width and height of screen */ jpayne@69: int mwidth, mheight; /* width and height of in millimeters */ jpayne@69: int ndepths; /* number of depths possible */ jpayne@69: Depth *depths; /* list of allowable depths on the screen */ jpayne@69: int root_depth; /* bits per pixel */ jpayne@69: Visual *root_visual; /* root visual */ jpayne@69: GC default_gc; /* GC for the root root visual */ jpayne@69: Colormap cmap; /* default color map */ jpayne@69: unsigned long white_pixel; jpayne@69: unsigned long black_pixel; /* White and Black pixel values */ jpayne@69: int max_maps, min_maps; /* max and min color maps */ jpayne@69: int backing_store; /* Never, WhenMapped, Always */ jpayne@69: Bool save_unders; jpayne@69: long root_input_mask; /* initial root input mask */ jpayne@69: } Screen; jpayne@69: jpayne@69: /* jpayne@69: * Format structure; describes ZFormat data the screen will understand. jpayne@69: */ jpayne@69: typedef struct { jpayne@69: XExtData *ext_data; /* hook for extension to hang data */ jpayne@69: int depth; /* depth of this image format */ jpayne@69: int bits_per_pixel; /* bits/pixel at this depth */ jpayne@69: int scanline_pad; /* scanline must padded to this multiple */ jpayne@69: } ScreenFormat; jpayne@69: jpayne@69: /* jpayne@69: * Data structure for setting window attributes. jpayne@69: */ jpayne@69: typedef struct { jpayne@69: Pixmap background_pixmap; /* background or None or ParentRelative */ jpayne@69: unsigned long background_pixel; /* background pixel */ jpayne@69: Pixmap border_pixmap; /* border of the window */ jpayne@69: unsigned long border_pixel; /* border pixel value */ jpayne@69: int bit_gravity; /* one of bit gravity values */ jpayne@69: int win_gravity; /* one of the window gravity values */ jpayne@69: int backing_store; /* NotUseful, WhenMapped, Always */ jpayne@69: unsigned long backing_planes;/* planes to be preserved if possible */ jpayne@69: unsigned long backing_pixel;/* value to use in restoring planes */ jpayne@69: Bool save_under; /* should bits under be saved? (popups) */ jpayne@69: long event_mask; /* set of events that should be saved */ jpayne@69: long do_not_propagate_mask; /* set of events that should not propagate */ jpayne@69: Bool override_redirect; /* boolean value for override-redirect */ jpayne@69: Colormap colormap; /* color map to be associated with window */ jpayne@69: Cursor cursor; /* cursor to be displayed (or None) */ jpayne@69: } XSetWindowAttributes; jpayne@69: jpayne@69: typedef struct { jpayne@69: int x, y; /* location of window */ jpayne@69: int width, height; /* width and height of window */ jpayne@69: int border_width; /* border width of window */ jpayne@69: int depth; /* depth of window */ jpayne@69: Visual *visual; /* the associated visual structure */ jpayne@69: Window root; /* root of screen containing window */ jpayne@69: #if defined(__cplusplus) || defined(c_plusplus) jpayne@69: int c_class; /* C++ InputOutput, InputOnly*/ jpayne@69: #else jpayne@69: int class; /* InputOutput, InputOnly*/ jpayne@69: #endif jpayne@69: int bit_gravity; /* one of bit gravity values */ jpayne@69: int win_gravity; /* one of the window gravity values */ jpayne@69: int backing_store; /* NotUseful, WhenMapped, Always */ jpayne@69: unsigned long backing_planes;/* planes to be preserved if possible */ jpayne@69: unsigned long backing_pixel;/* value to be used when restoring planes */ jpayne@69: Bool save_under; /* boolean, should bits under be saved? */ jpayne@69: Colormap colormap; /* color map to be associated with window */ jpayne@69: Bool map_installed; /* boolean, is color map currently installed*/ jpayne@69: int map_state; /* IsUnmapped, IsUnviewable, IsViewable */ jpayne@69: long all_event_masks; /* set of events all people have interest in*/ jpayne@69: long your_event_mask; /* my event mask */ jpayne@69: long do_not_propagate_mask; /* set of events that should not propagate */ jpayne@69: Bool override_redirect; /* boolean value for override-redirect */ jpayne@69: Screen *screen; /* back pointer to correct screen */ jpayne@69: } XWindowAttributes; jpayne@69: jpayne@69: /* jpayne@69: * Data structure for host setting; getting routines. jpayne@69: * jpayne@69: */ jpayne@69: jpayne@69: typedef struct { jpayne@69: int family; /* for example FamilyInternet */ jpayne@69: int length; /* length of address, in bytes */ jpayne@69: char *address; /* pointer to where to find the bytes */ jpayne@69: } XHostAddress; jpayne@69: jpayne@69: /* jpayne@69: * Data structure for ServerFamilyInterpreted addresses in host routines jpayne@69: */ jpayne@69: typedef struct { jpayne@69: int typelength; /* length of type string, in bytes */ jpayne@69: int valuelength; /* length of value string, in bytes */ jpayne@69: char *type; /* pointer to where to find the type string */ jpayne@69: char *value; /* pointer to where to find the address */ jpayne@69: } XServerInterpretedAddress; jpayne@69: jpayne@69: /* jpayne@69: * Data structure for "image" data, used by image manipulation routines. jpayne@69: */ jpayne@69: typedef struct _XImage { jpayne@69: int width, height; /* size of image */ jpayne@69: int xoffset; /* number of pixels offset in X direction */ jpayne@69: int format; /* XYBitmap, XYPixmap, ZPixmap */ jpayne@69: char *data; /* pointer to image data */ jpayne@69: int byte_order; /* data byte order, LSBFirst, MSBFirst */ jpayne@69: int bitmap_unit; /* quant. of scanline 8, 16, 32 */ jpayne@69: int bitmap_bit_order; /* LSBFirst, MSBFirst */ jpayne@69: int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */ jpayne@69: int depth; /* depth of image */ jpayne@69: int bytes_per_line; /* accelerator to next line */ jpayne@69: int bits_per_pixel; /* bits per pixel (ZPixmap) */ jpayne@69: unsigned long red_mask; /* bits in z arrangement */ jpayne@69: unsigned long green_mask; jpayne@69: unsigned long blue_mask; jpayne@69: XPointer obdata; /* hook for the object routines to hang on */ jpayne@69: struct funcs { /* image manipulation routines */ jpayne@69: struct _XImage *(*create_image)( jpayne@69: struct _XDisplay* /* display */, jpayne@69: Visual* /* visual */, jpayne@69: unsigned int /* depth */, jpayne@69: int /* format */, jpayne@69: int /* offset */, jpayne@69: char* /* data */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: int /* bitmap_pad */, jpayne@69: int /* bytes_per_line */); jpayne@69: int (*destroy_image) (struct _XImage *); jpayne@69: unsigned long (*get_pixel) (struct _XImage *, int, int); jpayne@69: int (*put_pixel) (struct _XImage *, int, int, unsigned long); jpayne@69: struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int); jpayne@69: int (*add_pixel) (struct _XImage *, long); jpayne@69: } f; jpayne@69: } XImage; jpayne@69: jpayne@69: /* jpayne@69: * Data structure for XReconfigureWindow jpayne@69: */ jpayne@69: typedef struct { jpayne@69: int x, y; jpayne@69: int width, height; jpayne@69: int border_width; jpayne@69: Window sibling; jpayne@69: int stack_mode; jpayne@69: } XWindowChanges; jpayne@69: jpayne@69: /* jpayne@69: * Data structure used by color operations jpayne@69: */ jpayne@69: typedef struct { jpayne@69: unsigned long pixel; jpayne@69: unsigned short red, green, blue; jpayne@69: char flags; /* do_red, do_green, do_blue */ jpayne@69: char pad; jpayne@69: } XColor; jpayne@69: jpayne@69: /* jpayne@69: * Data structures for graphics operations. On most machines, these are jpayne@69: * congruent with the wire protocol structures, so reformatting the data jpayne@69: * can be avoided on these architectures. jpayne@69: */ jpayne@69: typedef struct { jpayne@69: short x1, y1, x2, y2; jpayne@69: } XSegment; jpayne@69: jpayne@69: typedef struct { jpayne@69: short x, y; jpayne@69: } XPoint; jpayne@69: jpayne@69: typedef struct { jpayne@69: short x, y; jpayne@69: unsigned short width, height; jpayne@69: } XRectangle; jpayne@69: jpayne@69: typedef struct { jpayne@69: short x, y; jpayne@69: unsigned short width, height; jpayne@69: short angle1, angle2; jpayne@69: } XArc; jpayne@69: jpayne@69: jpayne@69: /* Data structure for XChangeKeyboardControl */ jpayne@69: jpayne@69: typedef struct { jpayne@69: int key_click_percent; jpayne@69: int bell_percent; jpayne@69: int bell_pitch; jpayne@69: int bell_duration; jpayne@69: int led; jpayne@69: int led_mode; jpayne@69: int key; jpayne@69: int auto_repeat_mode; /* On, Off, Default */ jpayne@69: } XKeyboardControl; jpayne@69: jpayne@69: /* Data structure for XGetKeyboardControl */ jpayne@69: jpayne@69: typedef struct { jpayne@69: int key_click_percent; jpayne@69: int bell_percent; jpayne@69: unsigned int bell_pitch, bell_duration; jpayne@69: unsigned long led_mask; jpayne@69: int global_auto_repeat; jpayne@69: char auto_repeats[32]; jpayne@69: } XKeyboardState; jpayne@69: jpayne@69: /* Data structure for XGetMotionEvents. */ jpayne@69: jpayne@69: typedef struct { jpayne@69: Time time; jpayne@69: short x, y; jpayne@69: } XTimeCoord; jpayne@69: jpayne@69: /* Data structure for X{Set,Get}ModifierMapping */ jpayne@69: jpayne@69: typedef struct { jpayne@69: int max_keypermod; /* The server's max # of keys per modifier */ jpayne@69: KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */ jpayne@69: } XModifierKeymap; jpayne@69: jpayne@69: jpayne@69: /* jpayne@69: * Display datatype maintaining display specific data. jpayne@69: * The contents of this structure are implementation dependent. jpayne@69: * A Display should be treated as opaque by application code. jpayne@69: */ jpayne@69: #ifndef XLIB_ILLEGAL_ACCESS jpayne@69: typedef struct _XDisplay Display; jpayne@69: #endif jpayne@69: jpayne@69: struct _XPrivate; /* Forward declare before use for C++ */ jpayne@69: struct _XrmHashBucketRec; jpayne@69: jpayne@69: typedef struct jpayne@69: #ifdef XLIB_ILLEGAL_ACCESS jpayne@69: _XDisplay jpayne@69: #endif jpayne@69: { jpayne@69: XExtData *ext_data; /* hook for extension to hang data */ jpayne@69: struct _XPrivate *private1; jpayne@69: int fd; /* Network socket. */ jpayne@69: int private2; jpayne@69: int proto_major_version;/* major version of server's X protocol */ jpayne@69: int proto_minor_version;/* minor version of servers X protocol */ jpayne@69: char *vendor; /* vendor of the server hardware */ jpayne@69: XID private3; jpayne@69: XID private4; jpayne@69: XID private5; jpayne@69: int private6; jpayne@69: XID (*resource_alloc)( /* allocator function */ jpayne@69: struct _XDisplay* jpayne@69: ); jpayne@69: int byte_order; /* screen byte order, LSBFirst, MSBFirst */ jpayne@69: int bitmap_unit; /* padding and data requirements */ jpayne@69: int bitmap_pad; /* padding requirements on bitmaps */ jpayne@69: int bitmap_bit_order; /* LeastSignificant or MostSignificant */ jpayne@69: int nformats; /* number of pixmap formats in list */ jpayne@69: ScreenFormat *pixmap_format; /* pixmap format list */ jpayne@69: int private8; jpayne@69: int release; /* release of the server */ jpayne@69: struct _XPrivate *private9, *private10; jpayne@69: int qlen; /* Length of input event queue */ jpayne@69: unsigned long last_request_read; /* seq number of last event read */ jpayne@69: unsigned long request; /* sequence number of last request. */ jpayne@69: XPointer private11; jpayne@69: XPointer private12; jpayne@69: XPointer private13; jpayne@69: XPointer private14; jpayne@69: unsigned max_request_size; /* maximum number 32 bit words in request*/ jpayne@69: struct _XrmHashBucketRec *db; jpayne@69: int (*private15)( jpayne@69: struct _XDisplay* jpayne@69: ); jpayne@69: char *display_name; /* "host:display" string used on this connect*/ jpayne@69: int default_screen; /* default screen for operations */ jpayne@69: int nscreens; /* number of screens on this server*/ jpayne@69: Screen *screens; /* pointer to list of screens */ jpayne@69: unsigned long motion_buffer; /* size of motion buffer */ jpayne@69: unsigned long private16; jpayne@69: int min_keycode; /* minimum defined keycode */ jpayne@69: int max_keycode; /* maximum defined keycode */ jpayne@69: XPointer private17; jpayne@69: XPointer private18; jpayne@69: int private19; jpayne@69: char *xdefaults; /* contents of defaults from server */ jpayne@69: /* there is more to this structure, but it is private to Xlib */ jpayne@69: } jpayne@69: #ifdef XLIB_ILLEGAL_ACCESS jpayne@69: Display, jpayne@69: #endif jpayne@69: *_XPrivDisplay; jpayne@69: jpayne@69: #undef _XEVENT_ jpayne@69: #ifndef _XEVENT_ jpayne@69: /* jpayne@69: * Definitions of specific events. jpayne@69: */ jpayne@69: typedef struct { jpayne@69: int type; /* of event */ jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; /* "event" window it is reported relative to */ jpayne@69: Window root; /* root window that the event occurred on */ jpayne@69: Window subwindow; /* child window */ jpayne@69: Time time; /* milliseconds */ jpayne@69: int x, y; /* pointer x, y coordinates in event window */ jpayne@69: int x_root, y_root; /* coordinates relative to root */ jpayne@69: unsigned int state; /* key or button mask */ jpayne@69: unsigned int keycode; /* detail */ jpayne@69: Bool same_screen; /* same screen flag */ jpayne@69: } XKeyEvent; jpayne@69: typedef XKeyEvent XKeyPressedEvent; jpayne@69: typedef XKeyEvent XKeyReleasedEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; /* of event */ jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; /* "event" window it is reported relative to */ jpayne@69: Window root; /* root window that the event occurred on */ jpayne@69: Window subwindow; /* child window */ jpayne@69: Time time; /* milliseconds */ jpayne@69: int x, y; /* pointer x, y coordinates in event window */ jpayne@69: int x_root, y_root; /* coordinates relative to root */ jpayne@69: unsigned int state; /* key or button mask */ jpayne@69: unsigned int button; /* detail */ jpayne@69: Bool same_screen; /* same screen flag */ jpayne@69: } XButtonEvent; jpayne@69: typedef XButtonEvent XButtonPressedEvent; jpayne@69: typedef XButtonEvent XButtonReleasedEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; /* of event */ jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; /* "event" window reported relative to */ jpayne@69: Window root; /* root window that the event occurred on */ jpayne@69: Window subwindow; /* child window */ jpayne@69: Time time; /* milliseconds */ jpayne@69: int x, y; /* pointer x, y coordinates in event window */ jpayne@69: int x_root, y_root; /* coordinates relative to root */ jpayne@69: unsigned int state; /* key or button mask */ jpayne@69: char is_hint; /* detail */ jpayne@69: Bool same_screen; /* same screen flag */ jpayne@69: } XMotionEvent; jpayne@69: typedef XMotionEvent XPointerMovedEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; /* of event */ jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; /* "event" window reported relative to */ jpayne@69: Window root; /* root window that the event occurred on */ jpayne@69: Window subwindow; /* child window */ jpayne@69: Time time; /* milliseconds */ jpayne@69: int x, y; /* pointer x, y coordinates in event window */ jpayne@69: int x_root, y_root; /* coordinates relative to root */ jpayne@69: int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */ jpayne@69: int detail; jpayne@69: /* jpayne@69: * NotifyAncestor, NotifyVirtual, NotifyInferior, jpayne@69: * NotifyNonlinear,NotifyNonlinearVirtual jpayne@69: */ jpayne@69: Bool same_screen; /* same screen flag */ jpayne@69: Bool focus; /* boolean focus */ jpayne@69: unsigned int state; /* key or button mask */ jpayne@69: } XCrossingEvent; jpayne@69: typedef XCrossingEvent XEnterWindowEvent; jpayne@69: typedef XCrossingEvent XLeaveWindowEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; /* FocusIn or FocusOut */ jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; /* window of event */ jpayne@69: int mode; /* NotifyNormal, NotifyWhileGrabbed, jpayne@69: NotifyGrab, NotifyUngrab */ jpayne@69: int detail; jpayne@69: /* jpayne@69: * NotifyAncestor, NotifyVirtual, NotifyInferior, jpayne@69: * NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer, jpayne@69: * NotifyPointerRoot, NotifyDetailNone jpayne@69: */ jpayne@69: } XFocusChangeEvent; jpayne@69: typedef XFocusChangeEvent XFocusInEvent; jpayne@69: typedef XFocusChangeEvent XFocusOutEvent; jpayne@69: jpayne@69: /* generated on EnterWindow and FocusIn when KeyMapState selected */ jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; jpayne@69: char key_vector[32]; jpayne@69: } XKeymapEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; jpayne@69: int x, y; jpayne@69: int width, height; jpayne@69: int count; /* if non-zero, at least this many more */ jpayne@69: } XExposeEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Drawable drawable; jpayne@69: int x, y; jpayne@69: int width, height; jpayne@69: int count; /* if non-zero, at least this many more */ jpayne@69: int major_code; /* core is CopyArea or CopyPlane */ jpayne@69: int minor_code; /* not defined in the core */ jpayne@69: } XGraphicsExposeEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Drawable drawable; jpayne@69: int major_code; /* core is CopyArea or CopyPlane */ jpayne@69: int minor_code; /* not defined in the core */ jpayne@69: } XNoExposeEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; jpayne@69: int state; /* Visibility state */ jpayne@69: } XVisibilityEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window parent; /* parent of the window */ jpayne@69: Window window; /* window id of window created */ jpayne@69: int x, y; /* window location */ jpayne@69: int width, height; /* size of window */ jpayne@69: int border_width; /* border width */ jpayne@69: Bool override_redirect; /* creation should be overridden */ jpayne@69: } XCreateWindowEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window event; jpayne@69: Window window; jpayne@69: } XDestroyWindowEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window event; jpayne@69: Window window; jpayne@69: Bool from_configure; jpayne@69: } XUnmapEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window event; jpayne@69: Window window; jpayne@69: Bool override_redirect; /* boolean, is override set... */ jpayne@69: } XMapEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window parent; jpayne@69: Window window; jpayne@69: } XMapRequestEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window event; jpayne@69: Window window; jpayne@69: Window parent; jpayne@69: int x, y; jpayne@69: Bool override_redirect; jpayne@69: } XReparentEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window event; jpayne@69: Window window; jpayne@69: int x, y; jpayne@69: int width, height; jpayne@69: int border_width; jpayne@69: Window above; jpayne@69: Bool override_redirect; jpayne@69: } XConfigureEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window event; jpayne@69: Window window; jpayne@69: int x, y; jpayne@69: } XGravityEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; jpayne@69: int width, height; jpayne@69: } XResizeRequestEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window parent; jpayne@69: Window window; jpayne@69: int x, y; jpayne@69: int width, height; jpayne@69: int border_width; jpayne@69: Window above; jpayne@69: int detail; /* Above, Below, TopIf, BottomIf, Opposite */ jpayne@69: unsigned long value_mask; jpayne@69: } XConfigureRequestEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window event; jpayne@69: Window window; jpayne@69: int place; /* PlaceOnTop, PlaceOnBottom */ jpayne@69: } XCirculateEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window parent; jpayne@69: Window window; jpayne@69: int place; /* PlaceOnTop, PlaceOnBottom */ jpayne@69: } XCirculateRequestEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; jpayne@69: Atom atom; jpayne@69: Time time; jpayne@69: int state; /* NewValue, Deleted */ jpayne@69: } XPropertyEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; jpayne@69: Atom selection; jpayne@69: Time time; jpayne@69: } XSelectionClearEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window owner; jpayne@69: Window requestor; jpayne@69: Atom selection; jpayne@69: Atom target; jpayne@69: Atom property; jpayne@69: Time time; jpayne@69: } XSelectionRequestEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window requestor; jpayne@69: Atom selection; jpayne@69: Atom target; jpayne@69: Atom property; /* ATOM or None */ jpayne@69: Time time; jpayne@69: } XSelectionEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; jpayne@69: Colormap colormap; /* COLORMAP or None */ jpayne@69: #if defined(__cplusplus) || defined(c_plusplus) jpayne@69: Bool c_new; /* C++ */ jpayne@69: #else jpayne@69: Bool new; jpayne@69: #endif jpayne@69: int state; /* ColormapInstalled, ColormapUninstalled */ jpayne@69: } XColormapEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; jpayne@69: Atom message_type; jpayne@69: int format; jpayne@69: union { jpayne@69: char b[20]; jpayne@69: short s[10]; jpayne@69: long l[5]; jpayne@69: } data; jpayne@69: } XClientMessageEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: Window window; /* unused */ jpayne@69: int request; /* one of MappingModifier, MappingKeyboard, jpayne@69: MappingPointer */ jpayne@69: int first_keycode; /* first keycode */ jpayne@69: int count; /* defines range of change w. first_keycode*/ jpayne@69: } XMappingEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: XID resourceid; /* resource id */ jpayne@69: unsigned long serial; /* serial number of failed request */ jpayne@69: unsigned char error_code; /* error code of failed request */ jpayne@69: unsigned char request_code; /* Major op-code of failed request */ jpayne@69: unsigned char minor_code; /* Minor op-code of failed request */ jpayne@69: } XErrorEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; jpayne@69: unsigned long serial; /* # of last request processed by server */ jpayne@69: Bool send_event; /* true if this came from a SendEvent request */ jpayne@69: Display *display;/* Display the event was read from */ jpayne@69: Window window; /* window on which event was requested in event mask */ jpayne@69: } XAnyEvent; jpayne@69: jpayne@69: jpayne@69: /*************************************************************** jpayne@69: * jpayne@69: * GenericEvent. This event is the standard event for all newer extensions. jpayne@69: */ jpayne@69: jpayne@69: typedef struct jpayne@69: { jpayne@69: int type; /* of event. Always GenericEvent */ jpayne@69: unsigned long serial; /* # of last request processed */ jpayne@69: Bool send_event; /* true if from SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: int extension; /* major opcode of extension that caused the event */ jpayne@69: int evtype; /* actual event type. */ jpayne@69: } XGenericEvent; jpayne@69: jpayne@69: typedef struct { jpayne@69: int type; /* of event. Always GenericEvent */ jpayne@69: unsigned long serial; /* # of last request processed */ jpayne@69: Bool send_event; /* true if from SendEvent request */ jpayne@69: Display *display; /* Display the event was read from */ jpayne@69: int extension; /* major opcode of extension that caused the event */ jpayne@69: int evtype; /* actual event type. */ jpayne@69: unsigned int cookie; jpayne@69: void *data; jpayne@69: } XGenericEventCookie; jpayne@69: jpayne@69: /* jpayne@69: * this union is defined so Xlib can always use the same sized jpayne@69: * event structure internally, to avoid memory fragmentation. jpayne@69: */ jpayne@69: typedef union _XEvent { jpayne@69: int type; /* must not be changed; first element */ jpayne@69: XAnyEvent xany; jpayne@69: XKeyEvent xkey; jpayne@69: XButtonEvent xbutton; jpayne@69: XMotionEvent xmotion; jpayne@69: XCrossingEvent xcrossing; jpayne@69: XFocusChangeEvent xfocus; jpayne@69: XExposeEvent xexpose; jpayne@69: XGraphicsExposeEvent xgraphicsexpose; jpayne@69: XNoExposeEvent xnoexpose; jpayne@69: XVisibilityEvent xvisibility; jpayne@69: XCreateWindowEvent xcreatewindow; jpayne@69: XDestroyWindowEvent xdestroywindow; jpayne@69: XUnmapEvent xunmap; jpayne@69: XMapEvent xmap; jpayne@69: XMapRequestEvent xmaprequest; jpayne@69: XReparentEvent xreparent; jpayne@69: XConfigureEvent xconfigure; jpayne@69: XGravityEvent xgravity; jpayne@69: XResizeRequestEvent xresizerequest; jpayne@69: XConfigureRequestEvent xconfigurerequest; jpayne@69: XCirculateEvent xcirculate; jpayne@69: XCirculateRequestEvent xcirculaterequest; jpayne@69: XPropertyEvent xproperty; jpayne@69: XSelectionClearEvent xselectionclear; jpayne@69: XSelectionRequestEvent xselectionrequest; jpayne@69: XSelectionEvent xselection; jpayne@69: XColormapEvent xcolormap; jpayne@69: XClientMessageEvent xclient; jpayne@69: XMappingEvent xmapping; jpayne@69: XErrorEvent xerror; jpayne@69: XKeymapEvent xkeymap; jpayne@69: XGenericEvent xgeneric; jpayne@69: XGenericEventCookie xcookie; jpayne@69: long pad[24]; jpayne@69: } XEvent; jpayne@69: #endif jpayne@69: jpayne@69: #define XAllocID(dpy) ((*((_XPrivDisplay)(dpy))->resource_alloc)((dpy))) jpayne@69: jpayne@69: /* jpayne@69: * per character font metric information. jpayne@69: */ jpayne@69: typedef struct { jpayne@69: short lbearing; /* origin to left edge of raster */ jpayne@69: short rbearing; /* origin to right edge of raster */ jpayne@69: short width; /* advance to next char's origin */ jpayne@69: short ascent; /* baseline to top edge of raster */ jpayne@69: short descent; /* baseline to bottom edge of raster */ jpayne@69: unsigned short attributes; /* per char flags (not predefined) */ jpayne@69: } XCharStruct; jpayne@69: jpayne@69: /* jpayne@69: * To allow arbitrary information with fonts, there are additional properties jpayne@69: * returned. jpayne@69: */ jpayne@69: typedef struct { jpayne@69: Atom name; jpayne@69: unsigned long card32; jpayne@69: } XFontProp; jpayne@69: jpayne@69: typedef struct { jpayne@69: XExtData *ext_data; /* hook for extension to hang data */ jpayne@69: Font fid; /* Font id for this font */ jpayne@69: unsigned direction; /* hint about direction the font is painted */ jpayne@69: unsigned min_char_or_byte2;/* first character */ jpayne@69: unsigned max_char_or_byte2;/* last character */ jpayne@69: unsigned min_byte1; /* first row that exists */ jpayne@69: unsigned max_byte1; /* last row that exists */ jpayne@69: Bool all_chars_exist;/* flag if all characters have non-zero size*/ jpayne@69: unsigned default_char; /* char to print for undefined character */ jpayne@69: int n_properties; /* how many properties there are */ jpayne@69: XFontProp *properties; /* pointer to array of additional properties*/ jpayne@69: XCharStruct min_bounds; /* minimum bounds over all existing char*/ jpayne@69: XCharStruct max_bounds; /* maximum bounds over all existing char*/ jpayne@69: XCharStruct *per_char; /* first_char to last_char information */ jpayne@69: int ascent; /* log. extent above baseline for spacing */ jpayne@69: int descent; /* log. descent below baseline for spacing */ jpayne@69: } XFontStruct; jpayne@69: jpayne@69: /* jpayne@69: * PolyText routines take these as arguments. jpayne@69: */ jpayne@69: typedef struct { jpayne@69: char *chars; /* pointer to string */ jpayne@69: int nchars; /* number of characters */ jpayne@69: int delta; /* delta between strings */ jpayne@69: Font font; /* font to print it in, None don't change */ jpayne@69: } XTextItem; jpayne@69: jpayne@69: typedef struct { /* normal 16 bit characters are two bytes */ jpayne@69: unsigned char byte1; jpayne@69: unsigned char byte2; jpayne@69: } XChar2b; jpayne@69: jpayne@69: typedef struct { jpayne@69: XChar2b *chars; /* two byte characters */ jpayne@69: int nchars; /* number of characters */ jpayne@69: int delta; /* delta between strings */ jpayne@69: Font font; /* font to print it in, None don't change */ jpayne@69: } XTextItem16; jpayne@69: jpayne@69: jpayne@69: typedef union { Display *display; jpayne@69: GC gc; jpayne@69: Visual *visual; jpayne@69: Screen *screen; jpayne@69: ScreenFormat *pixmap_format; jpayne@69: XFontStruct *font; } XEDataObject; jpayne@69: jpayne@69: typedef struct { jpayne@69: XRectangle max_ink_extent; jpayne@69: XRectangle max_logical_extent; jpayne@69: } XFontSetExtents; jpayne@69: jpayne@69: /* unused: jpayne@69: typedef void (*XOMProc)(); jpayne@69: */ jpayne@69: jpayne@69: typedef struct _XOM *XOM; jpayne@69: typedef struct _XOC *XOC, *XFontSet; jpayne@69: jpayne@69: typedef struct { jpayne@69: char *chars; jpayne@69: int nchars; jpayne@69: int delta; jpayne@69: XFontSet font_set; jpayne@69: } XmbTextItem; jpayne@69: jpayne@69: typedef struct { jpayne@69: wchar_t *chars; jpayne@69: int nchars; jpayne@69: int delta; jpayne@69: XFontSet font_set; jpayne@69: } XwcTextItem; jpayne@69: jpayne@69: #define XNRequiredCharSet "requiredCharSet" jpayne@69: #define XNQueryOrientation "queryOrientation" jpayne@69: #define XNBaseFontName "baseFontName" jpayne@69: #define XNOMAutomatic "omAutomatic" jpayne@69: #define XNMissingCharSet "missingCharSet" jpayne@69: #define XNDefaultString "defaultString" jpayne@69: #define XNOrientation "orientation" jpayne@69: #define XNDirectionalDependentDrawing "directionalDependentDrawing" jpayne@69: #define XNContextualDrawing "contextualDrawing" jpayne@69: #define XNFontInfo "fontInfo" jpayne@69: jpayne@69: typedef struct { jpayne@69: int charset_count; jpayne@69: char **charset_list; jpayne@69: } XOMCharSetList; jpayne@69: jpayne@69: typedef enum { jpayne@69: XOMOrientation_LTR_TTB, jpayne@69: XOMOrientation_RTL_TTB, jpayne@69: XOMOrientation_TTB_LTR, jpayne@69: XOMOrientation_TTB_RTL, jpayne@69: XOMOrientation_Context jpayne@69: } XOrientation; jpayne@69: jpayne@69: typedef struct { jpayne@69: int num_orientation; jpayne@69: XOrientation *orientation; /* Input Text description */ jpayne@69: } XOMOrientation; jpayne@69: jpayne@69: typedef struct { jpayne@69: int num_font; jpayne@69: XFontStruct **font_struct_list; jpayne@69: char **font_name_list; jpayne@69: } XOMFontInfo; jpayne@69: jpayne@69: typedef struct _XIM *XIM; jpayne@69: typedef struct _XIC *XIC; jpayne@69: jpayne@69: typedef void (*XIMProc)( jpayne@69: XIM, jpayne@69: XPointer, jpayne@69: XPointer jpayne@69: ); jpayne@69: jpayne@69: typedef Bool (*XICProc)( jpayne@69: XIC, jpayne@69: XPointer, jpayne@69: XPointer jpayne@69: ); jpayne@69: jpayne@69: typedef void (*XIDProc)( jpayne@69: Display*, jpayne@69: XPointer, jpayne@69: XPointer jpayne@69: ); jpayne@69: jpayne@69: typedef unsigned long XIMStyle; jpayne@69: jpayne@69: typedef struct { jpayne@69: unsigned short count_styles; jpayne@69: XIMStyle *supported_styles; jpayne@69: } XIMStyles; jpayne@69: jpayne@69: #define XIMPreeditArea 0x0001L jpayne@69: #define XIMPreeditCallbacks 0x0002L jpayne@69: #define XIMPreeditPosition 0x0004L jpayne@69: #define XIMPreeditNothing 0x0008L jpayne@69: #define XIMPreeditNone 0x0010L jpayne@69: #define XIMStatusArea 0x0100L jpayne@69: #define XIMStatusCallbacks 0x0200L jpayne@69: #define XIMStatusNothing 0x0400L jpayne@69: #define XIMStatusNone 0x0800L jpayne@69: jpayne@69: #define XNVaNestedList "XNVaNestedList" jpayne@69: #define XNQueryInputStyle "queryInputStyle" jpayne@69: #define XNClientWindow "clientWindow" jpayne@69: #define XNInputStyle "inputStyle" jpayne@69: #define XNFocusWindow "focusWindow" jpayne@69: #define XNResourceName "resourceName" jpayne@69: #define XNResourceClass "resourceClass" jpayne@69: #define XNGeometryCallback "geometryCallback" jpayne@69: #define XNDestroyCallback "destroyCallback" jpayne@69: #define XNFilterEvents "filterEvents" jpayne@69: #define XNPreeditStartCallback "preeditStartCallback" jpayne@69: #define XNPreeditDoneCallback "preeditDoneCallback" jpayne@69: #define XNPreeditDrawCallback "preeditDrawCallback" jpayne@69: #define XNPreeditCaretCallback "preeditCaretCallback" jpayne@69: #define XNPreeditStateNotifyCallback "preeditStateNotifyCallback" jpayne@69: #define XNPreeditAttributes "preeditAttributes" jpayne@69: #define XNStatusStartCallback "statusStartCallback" jpayne@69: #define XNStatusDoneCallback "statusDoneCallback" jpayne@69: #define XNStatusDrawCallback "statusDrawCallback" jpayne@69: #define XNStatusAttributes "statusAttributes" jpayne@69: #define XNArea "area" jpayne@69: #define XNAreaNeeded "areaNeeded" jpayne@69: #define XNSpotLocation "spotLocation" jpayne@69: #define XNColormap "colorMap" jpayne@69: #define XNStdColormap "stdColorMap" jpayne@69: #define XNForeground "foreground" jpayne@69: #define XNBackground "background" jpayne@69: #define XNBackgroundPixmap "backgroundPixmap" jpayne@69: #define XNFontSet "fontSet" jpayne@69: #define XNLineSpace "lineSpace" jpayne@69: #define XNCursor "cursor" jpayne@69: jpayne@69: #define XNQueryIMValuesList "queryIMValuesList" jpayne@69: #define XNQueryICValuesList "queryICValuesList" jpayne@69: #define XNVisiblePosition "visiblePosition" jpayne@69: #define XNR6PreeditCallback "r6PreeditCallback" jpayne@69: #define XNStringConversionCallback "stringConversionCallback" jpayne@69: #define XNStringConversion "stringConversion" jpayne@69: #define XNResetState "resetState" jpayne@69: #define XNHotKey "hotKey" jpayne@69: #define XNHotKeyState "hotKeyState" jpayne@69: #define XNPreeditState "preeditState" jpayne@69: #define XNSeparatorofNestedList "separatorofNestedList" jpayne@69: jpayne@69: #define XBufferOverflow -1 jpayne@69: #define XLookupNone 1 jpayne@69: #define XLookupChars 2 jpayne@69: #define XLookupKeySym 3 jpayne@69: #define XLookupBoth 4 jpayne@69: jpayne@69: typedef void *XVaNestedList; jpayne@69: jpayne@69: typedef struct { jpayne@69: XPointer client_data; jpayne@69: XIMProc callback; jpayne@69: } XIMCallback; jpayne@69: jpayne@69: typedef struct { jpayne@69: XPointer client_data; jpayne@69: XICProc callback; jpayne@69: } XICCallback; jpayne@69: jpayne@69: typedef unsigned long XIMFeedback; jpayne@69: jpayne@69: #define XIMReverse 1L jpayne@69: #define XIMUnderline (1L<<1) jpayne@69: #define XIMHighlight (1L<<2) jpayne@69: #define XIMPrimary (1L<<5) jpayne@69: #define XIMSecondary (1L<<6) jpayne@69: #define XIMTertiary (1L<<7) jpayne@69: #define XIMVisibleToForward (1L<<8) jpayne@69: #define XIMVisibleToBackword (1L<<9) jpayne@69: #define XIMVisibleToCenter (1L<<10) jpayne@69: jpayne@69: typedef struct _XIMText { jpayne@69: unsigned short length; jpayne@69: XIMFeedback *feedback; jpayne@69: Bool encoding_is_wchar; jpayne@69: union { jpayne@69: char *multi_byte; jpayne@69: wchar_t *wide_char; jpayne@69: } string; jpayne@69: } XIMText; jpayne@69: jpayne@69: typedef unsigned long XIMPreeditState; jpayne@69: jpayne@69: #define XIMPreeditUnKnown 0L jpayne@69: #define XIMPreeditEnable 1L jpayne@69: #define XIMPreeditDisable (1L<<1) jpayne@69: jpayne@69: typedef struct _XIMPreeditStateNotifyCallbackStruct { jpayne@69: XIMPreeditState state; jpayne@69: } XIMPreeditStateNotifyCallbackStruct; jpayne@69: jpayne@69: typedef unsigned long XIMResetState; jpayne@69: jpayne@69: #define XIMInitialState 1L jpayne@69: #define XIMPreserveState (1L<<1) jpayne@69: jpayne@69: typedef unsigned long XIMStringConversionFeedback; jpayne@69: jpayne@69: #define XIMStringConversionLeftEdge (0x00000001) jpayne@69: #define XIMStringConversionRightEdge (0x00000002) jpayne@69: #define XIMStringConversionTopEdge (0x00000004) jpayne@69: #define XIMStringConversionBottomEdge (0x00000008) jpayne@69: #define XIMStringConversionConcealed (0x00000010) jpayne@69: #define XIMStringConversionWrapped (0x00000020) jpayne@69: jpayne@69: typedef struct _XIMStringConversionText { jpayne@69: unsigned short length; jpayne@69: XIMStringConversionFeedback *feedback; jpayne@69: Bool encoding_is_wchar; jpayne@69: union { jpayne@69: char *mbs; jpayne@69: wchar_t *wcs; jpayne@69: } string; jpayne@69: } XIMStringConversionText; jpayne@69: jpayne@69: typedef unsigned short XIMStringConversionPosition; jpayne@69: jpayne@69: typedef unsigned short XIMStringConversionType; jpayne@69: jpayne@69: #define XIMStringConversionBuffer (0x0001) jpayne@69: #define XIMStringConversionLine (0x0002) jpayne@69: #define XIMStringConversionWord (0x0003) jpayne@69: #define XIMStringConversionChar (0x0004) jpayne@69: jpayne@69: typedef unsigned short XIMStringConversionOperation; jpayne@69: jpayne@69: #define XIMStringConversionSubstitution (0x0001) jpayne@69: #define XIMStringConversionRetrieval (0x0002) jpayne@69: jpayne@69: typedef enum { jpayne@69: XIMForwardChar, XIMBackwardChar, jpayne@69: XIMForwardWord, XIMBackwardWord, jpayne@69: XIMCaretUp, XIMCaretDown, jpayne@69: XIMNextLine, XIMPreviousLine, jpayne@69: XIMLineStart, XIMLineEnd, jpayne@69: XIMAbsolutePosition, jpayne@69: XIMDontChange jpayne@69: } XIMCaretDirection; jpayne@69: jpayne@69: typedef struct _XIMStringConversionCallbackStruct { jpayne@69: XIMStringConversionPosition position; jpayne@69: XIMCaretDirection direction; jpayne@69: XIMStringConversionOperation operation; jpayne@69: unsigned short factor; jpayne@69: XIMStringConversionText *text; jpayne@69: } XIMStringConversionCallbackStruct; jpayne@69: jpayne@69: typedef struct _XIMPreeditDrawCallbackStruct { jpayne@69: int caret; /* Cursor offset within pre-edit string */ jpayne@69: int chg_first; /* Starting change position */ jpayne@69: int chg_length; /* Length of the change in character count */ jpayne@69: XIMText *text; jpayne@69: } XIMPreeditDrawCallbackStruct; jpayne@69: jpayne@69: typedef enum { jpayne@69: XIMIsInvisible, /* Disable caret feedback */ jpayne@69: XIMIsPrimary, /* UI defined caret feedback */ jpayne@69: XIMIsSecondary /* UI defined caret feedback */ jpayne@69: } XIMCaretStyle; jpayne@69: jpayne@69: typedef struct _XIMPreeditCaretCallbackStruct { jpayne@69: int position; /* Caret offset within pre-edit string */ jpayne@69: XIMCaretDirection direction; /* Caret moves direction */ jpayne@69: XIMCaretStyle style; /* Feedback of the caret */ jpayne@69: } XIMPreeditCaretCallbackStruct; jpayne@69: jpayne@69: typedef enum { jpayne@69: XIMTextType, jpayne@69: XIMBitmapType jpayne@69: } XIMStatusDataType; jpayne@69: jpayne@69: typedef struct _XIMStatusDrawCallbackStruct { jpayne@69: XIMStatusDataType type; jpayne@69: union { jpayne@69: XIMText *text; jpayne@69: Pixmap bitmap; jpayne@69: } data; jpayne@69: } XIMStatusDrawCallbackStruct; jpayne@69: jpayne@69: typedef struct _XIMHotKeyTrigger { jpayne@69: KeySym keysym; jpayne@69: int modifier; jpayne@69: int modifier_mask; jpayne@69: } XIMHotKeyTrigger; jpayne@69: jpayne@69: typedef struct _XIMHotKeyTriggers { jpayne@69: int num_hot_key; jpayne@69: XIMHotKeyTrigger *key; jpayne@69: } XIMHotKeyTriggers; jpayne@69: jpayne@69: typedef unsigned long XIMHotKeyState; jpayne@69: jpayne@69: #define XIMHotKeyStateON (0x0001L) jpayne@69: #define XIMHotKeyStateOFF (0x0002L) jpayne@69: jpayne@69: typedef struct { jpayne@69: unsigned short count_values; jpayne@69: char **supported_values; jpayne@69: } XIMValuesList; jpayne@69: jpayne@69: _XFUNCPROTOBEGIN jpayne@69: jpayne@69: #if defined(WIN32) && !defined(_XLIBINT_) jpayne@69: #define _Xdebug (*_Xdebug_p) jpayne@69: #endif jpayne@69: jpayne@69: extern int _Xdebug; jpayne@69: jpayne@69: extern XFontStruct *XLoadQueryFont( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* name */ jpayne@69: ); jpayne@69: jpayne@69: extern XFontStruct *XQueryFont( jpayne@69: Display* /* display */, jpayne@69: XID /* font_ID */ jpayne@69: ); jpayne@69: jpayne@69: jpayne@69: extern XTimeCoord *XGetMotionEvents( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Time /* start */, jpayne@69: Time /* stop */, jpayne@69: int* /* nevents_return */ jpayne@69: ); jpayne@69: jpayne@69: extern XModifierKeymap *XDeleteModifiermapEntry( jpayne@69: XModifierKeymap* /* modmap */, jpayne@69: #if NeedWidePrototypes jpayne@69: unsigned int /* keycode_entry */, jpayne@69: #else jpayne@69: KeyCode /* keycode_entry */, jpayne@69: #endif jpayne@69: int /* modifier */ jpayne@69: ); jpayne@69: jpayne@69: extern XModifierKeymap *XGetModifierMapping( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern XModifierKeymap *XInsertModifiermapEntry( jpayne@69: XModifierKeymap* /* modmap */, jpayne@69: #if NeedWidePrototypes jpayne@69: unsigned int /* keycode_entry */, jpayne@69: #else jpayne@69: KeyCode /* keycode_entry */, jpayne@69: #endif jpayne@69: int /* modifier */ jpayne@69: ); jpayne@69: jpayne@69: extern XModifierKeymap *XNewModifiermap( jpayne@69: int /* max_keys_per_mod */ jpayne@69: ); jpayne@69: jpayne@69: extern XImage *XCreateImage( jpayne@69: Display* /* display */, jpayne@69: Visual* /* visual */, jpayne@69: unsigned int /* depth */, jpayne@69: int /* format */, jpayne@69: int /* offset */, jpayne@69: char* /* data */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: int /* bitmap_pad */, jpayne@69: int /* bytes_per_line */ jpayne@69: ); jpayne@69: extern Status XInitImage( jpayne@69: XImage* /* image */ jpayne@69: ); jpayne@69: extern XImage *XGetImage( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: unsigned long /* plane_mask */, jpayne@69: int /* format */ jpayne@69: ); jpayne@69: extern XImage *XGetSubImage( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: unsigned long /* plane_mask */, jpayne@69: int /* format */, jpayne@69: XImage* /* dest_image */, jpayne@69: int /* dest_x */, jpayne@69: int /* dest_y */ jpayne@69: ); jpayne@69: jpayne@69: /* jpayne@69: * X function declarations. jpayne@69: */ jpayne@69: extern Display *XOpenDisplay( jpayne@69: _Xconst char* /* display_name */ jpayne@69: ); jpayne@69: jpayne@69: extern void XrmInitialize( jpayne@69: void jpayne@69: ); jpayne@69: jpayne@69: extern char *XFetchBytes( jpayne@69: Display* /* display */, jpayne@69: int* /* nbytes_return */ jpayne@69: ); jpayne@69: extern char *XFetchBuffer( jpayne@69: Display* /* display */, jpayne@69: int* /* nbytes_return */, jpayne@69: int /* buffer */ jpayne@69: ); jpayne@69: extern char *XGetAtomName( jpayne@69: Display* /* display */, jpayne@69: Atom /* atom */ jpayne@69: ); jpayne@69: extern Status XGetAtomNames( jpayne@69: Display* /* dpy */, jpayne@69: Atom* /* atoms */, jpayne@69: int /* count */, jpayne@69: char** /* names_return */ jpayne@69: ); jpayne@69: extern char *XGetDefault( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* program */, jpayne@69: _Xconst char* /* option */ jpayne@69: ); jpayne@69: extern char *XDisplayName( jpayne@69: _Xconst char* /* string */ jpayne@69: ); jpayne@69: extern char *XKeysymToString( jpayne@69: KeySym /* keysym */ jpayne@69: ); jpayne@69: jpayne@69: extern int (*XSynchronize( jpayne@69: Display* /* display */, jpayne@69: Bool /* onoff */ jpayne@69: ))( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern int (*XSetAfterFunction( jpayne@69: Display* /* display */, jpayne@69: int (*) ( jpayne@69: Display* /* display */ jpayne@69: ) /* procedure */ jpayne@69: ))( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern Atom XInternAtom( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* atom_name */, jpayne@69: Bool /* only_if_exists */ jpayne@69: ); jpayne@69: extern Status XInternAtoms( jpayne@69: Display* /* dpy */, jpayne@69: char** /* names */, jpayne@69: int /* count */, jpayne@69: Bool /* onlyIfExists */, jpayne@69: Atom* /* atoms_return */ jpayne@69: ); jpayne@69: extern Colormap XCopyColormapAndFree( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */ jpayne@69: ); jpayne@69: extern Colormap XCreateColormap( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Visual* /* visual */, jpayne@69: int /* alloc */ jpayne@69: ); jpayne@69: extern Cursor XCreatePixmapCursor( jpayne@69: Display* /* display */, jpayne@69: Pixmap /* source */, jpayne@69: Pixmap /* mask */, jpayne@69: XColor* /* foreground_color */, jpayne@69: XColor* /* background_color */, jpayne@69: unsigned int /* x */, jpayne@69: unsigned int /* y */ jpayne@69: ); jpayne@69: extern Cursor XCreateGlyphCursor( jpayne@69: Display* /* display */, jpayne@69: Font /* source_font */, jpayne@69: Font /* mask_font */, jpayne@69: unsigned int /* source_char */, jpayne@69: unsigned int /* mask_char */, jpayne@69: XColor _Xconst * /* foreground_color */, jpayne@69: XColor _Xconst * /* background_color */ jpayne@69: ); jpayne@69: extern Cursor XCreateFontCursor( jpayne@69: Display* /* display */, jpayne@69: unsigned int /* shape */ jpayne@69: ); jpayne@69: extern Font XLoadFont( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* name */ jpayne@69: ); jpayne@69: extern GC XCreateGC( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: unsigned long /* valuemask */, jpayne@69: XGCValues* /* values */ jpayne@69: ); jpayne@69: extern GContext XGContextFromGC( jpayne@69: GC /* gc */ jpayne@69: ); jpayne@69: extern void XFlushGC( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */ jpayne@69: ); jpayne@69: extern Pixmap XCreatePixmap( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: unsigned int /* depth */ jpayne@69: ); jpayne@69: extern Pixmap XCreateBitmapFromData( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: _Xconst char* /* data */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */ jpayne@69: ); jpayne@69: extern Pixmap XCreatePixmapFromBitmapData( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: char* /* data */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: unsigned long /* fg */, jpayne@69: unsigned long /* bg */, jpayne@69: unsigned int /* depth */ jpayne@69: ); jpayne@69: extern Window XCreateSimpleWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* parent */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: unsigned int /* border_width */, jpayne@69: unsigned long /* border */, jpayne@69: unsigned long /* background */ jpayne@69: ); jpayne@69: extern Window XGetSelectionOwner( jpayne@69: Display* /* display */, jpayne@69: Atom /* selection */ jpayne@69: ); jpayne@69: extern Window XCreateWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* parent */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: unsigned int /* border_width */, jpayne@69: int /* depth */, jpayne@69: unsigned int /* class */, jpayne@69: Visual* /* visual */, jpayne@69: unsigned long /* valuemask */, jpayne@69: XSetWindowAttributes* /* attributes */ jpayne@69: ); jpayne@69: extern Colormap *XListInstalledColormaps( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: int* /* num_return */ jpayne@69: ); jpayne@69: extern char **XListFonts( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* pattern */, jpayne@69: int /* maxnames */, jpayne@69: int* /* actual_count_return */ jpayne@69: ); jpayne@69: extern char **XListFontsWithInfo( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* pattern */, jpayne@69: int /* maxnames */, jpayne@69: int* /* count_return */, jpayne@69: XFontStruct** /* info_return */ jpayne@69: ); jpayne@69: extern char **XGetFontPath( jpayne@69: Display* /* display */, jpayne@69: int* /* npaths_return */ jpayne@69: ); jpayne@69: extern char **XListExtensions( jpayne@69: Display* /* display */, jpayne@69: int* /* nextensions_return */ jpayne@69: ); jpayne@69: extern Atom *XListProperties( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: int* /* num_prop_return */ jpayne@69: ); jpayne@69: extern XHostAddress *XListHosts( jpayne@69: Display* /* display */, jpayne@69: int* /* nhosts_return */, jpayne@69: Bool* /* state_return */ jpayne@69: ); jpayne@69: _X_DEPRECATED jpayne@69: extern KeySym XKeycodeToKeysym( jpayne@69: Display* /* display */, jpayne@69: #if NeedWidePrototypes jpayne@69: unsigned int /* keycode */, jpayne@69: #else jpayne@69: KeyCode /* keycode */, jpayne@69: #endif jpayne@69: int /* index */ jpayne@69: ); jpayne@69: extern KeySym XLookupKeysym( jpayne@69: XKeyEvent* /* key_event */, jpayne@69: int /* index */ jpayne@69: ); jpayne@69: extern KeySym *XGetKeyboardMapping( jpayne@69: Display* /* display */, jpayne@69: #if NeedWidePrototypes jpayne@69: unsigned int /* first_keycode */, jpayne@69: #else jpayne@69: KeyCode /* first_keycode */, jpayne@69: #endif jpayne@69: int /* keycode_count */, jpayne@69: int* /* keysyms_per_keycode_return */ jpayne@69: ); jpayne@69: extern KeySym XStringToKeysym( jpayne@69: _Xconst char* /* string */ jpayne@69: ); jpayne@69: extern long XMaxRequestSize( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern long XExtendedMaxRequestSize( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern char *XResourceManagerString( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern char *XScreenResourceString( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: extern unsigned long XDisplayMotionBufferSize( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern VisualID XVisualIDFromVisual( jpayne@69: Visual* /* visual */ jpayne@69: ); jpayne@69: jpayne@69: /* multithread routines */ jpayne@69: jpayne@69: extern Status XInitThreads( jpayne@69: void jpayne@69: ); jpayne@69: jpayne@69: extern Status XFreeThreads( jpayne@69: void jpayne@69: ); jpayne@69: jpayne@69: extern void XLockDisplay( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern void XUnlockDisplay( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: /* routines for dealing with extensions */ jpayne@69: jpayne@69: extern XExtCodes *XInitExtension( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* name */ jpayne@69: ); jpayne@69: jpayne@69: extern XExtCodes *XAddExtension( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern XExtData *XFindOnExtensionList( jpayne@69: XExtData** /* structure */, jpayne@69: int /* number */ jpayne@69: ); jpayne@69: extern XExtData **XEHeadOfExtensionList( jpayne@69: XEDataObject /* object */ jpayne@69: ); jpayne@69: jpayne@69: /* these are routines for which there are also macros */ jpayne@69: extern Window XRootWindow( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: extern Window XDefaultRootWindow( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern Window XRootWindowOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: extern Visual *XDefaultVisual( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: extern Visual *XDefaultVisualOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: extern GC XDefaultGC( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: extern GC XDefaultGCOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: extern unsigned long XBlackPixel( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: extern unsigned long XWhitePixel( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: extern unsigned long XAllPlanes( jpayne@69: void jpayne@69: ); jpayne@69: extern unsigned long XBlackPixelOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: extern unsigned long XWhitePixelOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: extern unsigned long XNextRequest( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern unsigned long XLastKnownRequestProcessed( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern char *XServerVendor( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern char *XDisplayString( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern Colormap XDefaultColormap( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: extern Colormap XDefaultColormapOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: extern Display *XDisplayOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: extern Screen *XScreenOfDisplay( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: extern Screen *XDefaultScreenOfDisplay( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: extern long XEventMaskOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern int XScreenNumberOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */ jpayne@69: Display* /* display */, jpayne@69: XErrorEvent* /* error_event */ jpayne@69: ); jpayne@69: jpayne@69: extern XErrorHandler XSetErrorHandler ( jpayne@69: XErrorHandler /* handler */ jpayne@69: ); jpayne@69: jpayne@69: jpayne@69: typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */ jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern XIOErrorHandler XSetIOErrorHandler ( jpayne@69: XIOErrorHandler /* handler */ jpayne@69: ); jpayne@69: jpayne@69: typedef void (*XIOErrorExitHandler) ( /* WARNING, this type not in Xlib spec */ jpayne@69: Display*, /* display */ jpayne@69: void* /* user_data */ jpayne@69: ); jpayne@69: jpayne@69: extern void XSetIOErrorExitHandler ( jpayne@69: Display*, /* display */ jpayne@69: XIOErrorExitHandler, /* handler */ jpayne@69: void* /* user_data */ jpayne@69: ); jpayne@69: jpayne@69: extern XPixmapFormatValues *XListPixmapFormats( jpayne@69: Display* /* display */, jpayne@69: int* /* count_return */ jpayne@69: ); jpayne@69: extern int *XListDepths( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */, jpayne@69: int* /* count_return */ jpayne@69: ); jpayne@69: jpayne@69: /* ICCCM routines for things that don't require special include files; */ jpayne@69: /* other declarations are given in Xutil.h */ jpayne@69: extern Status XReconfigureWMWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: int /* screen_number */, jpayne@69: unsigned int /* mask */, jpayne@69: XWindowChanges* /* changes */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XGetWMProtocols( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Atom** /* protocols_return */, jpayne@69: int* /* count_return */ jpayne@69: ); jpayne@69: extern Status XSetWMProtocols( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Atom* /* protocols */, jpayne@69: int /* count */ jpayne@69: ); jpayne@69: extern Status XIconifyWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: extern Status XWithdrawWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: extern Status XGetCommand( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: char*** /* argv_return */, jpayne@69: int* /* argc_return */ jpayne@69: ); jpayne@69: extern Status XGetWMColormapWindows( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Window** /* windows_return */, jpayne@69: int* /* count_return */ jpayne@69: ); jpayne@69: extern Status XSetWMColormapWindows( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Window* /* colormap_windows */, jpayne@69: int /* count */ jpayne@69: ); jpayne@69: extern void XFreeStringList( jpayne@69: char** /* list */ jpayne@69: ); jpayne@69: extern int XSetTransientForHint( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Window /* prop_window */ jpayne@69: ); jpayne@69: jpayne@69: /* The following are given in alphabetical order */ jpayne@69: jpayne@69: extern int XActivateScreenSaver( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XAddHost( jpayne@69: Display* /* display */, jpayne@69: XHostAddress* /* host */ jpayne@69: ); jpayne@69: jpayne@69: extern int XAddHosts( jpayne@69: Display* /* display */, jpayne@69: XHostAddress* /* hosts */, jpayne@69: int /* num_hosts */ jpayne@69: ); jpayne@69: jpayne@69: extern int XAddToExtensionList( jpayne@69: struct _XExtData** /* structure */, jpayne@69: XExtData* /* ext_data */ jpayne@69: ); jpayne@69: jpayne@69: extern int XAddToSaveSet( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XAllocColor( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: XColor* /* screen_in_out */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XAllocColorCells( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: Bool /* contig */, jpayne@69: unsigned long* /* plane_masks_return */, jpayne@69: unsigned int /* nplanes */, jpayne@69: unsigned long* /* pixels_return */, jpayne@69: unsigned int /* npixels */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XAllocColorPlanes( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: Bool /* contig */, jpayne@69: unsigned long* /* pixels_return */, jpayne@69: int /* ncolors */, jpayne@69: int /* nreds */, jpayne@69: int /* ngreens */, jpayne@69: int /* nblues */, jpayne@69: unsigned long* /* rmask_return */, jpayne@69: unsigned long* /* gmask_return */, jpayne@69: unsigned long* /* bmask_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XAllocNamedColor( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: _Xconst char* /* color_name */, jpayne@69: XColor* /* screen_def_return */, jpayne@69: XColor* /* exact_def_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XAllowEvents( jpayne@69: Display* /* display */, jpayne@69: int /* event_mode */, jpayne@69: Time /* time */ jpayne@69: ); jpayne@69: jpayne@69: extern int XAutoRepeatOff( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XAutoRepeatOn( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XBell( jpayne@69: Display* /* display */, jpayne@69: int /* percent */ jpayne@69: ); jpayne@69: jpayne@69: extern int XBitmapBitOrder( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XBitmapPad( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XBitmapUnit( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XCellsOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern int XChangeActivePointerGrab( jpayne@69: Display* /* display */, jpayne@69: unsigned int /* event_mask */, jpayne@69: Cursor /* cursor */, jpayne@69: Time /* time */ jpayne@69: ); jpayne@69: jpayne@69: extern int XChangeGC( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: unsigned long /* valuemask */, jpayne@69: XGCValues* /* values */ jpayne@69: ); jpayne@69: jpayne@69: extern int XChangeKeyboardControl( jpayne@69: Display* /* display */, jpayne@69: unsigned long /* value_mask */, jpayne@69: XKeyboardControl* /* values */ jpayne@69: ); jpayne@69: jpayne@69: extern int XChangeKeyboardMapping( jpayne@69: Display* /* display */, jpayne@69: int /* first_keycode */, jpayne@69: int /* keysyms_per_keycode */, jpayne@69: KeySym* /* keysyms */, jpayne@69: int /* num_codes */ jpayne@69: ); jpayne@69: jpayne@69: extern int XChangePointerControl( jpayne@69: Display* /* display */, jpayne@69: Bool /* do_accel */, jpayne@69: Bool /* do_threshold */, jpayne@69: int /* accel_numerator */, jpayne@69: int /* accel_denominator */, jpayne@69: int /* threshold */ jpayne@69: ); jpayne@69: jpayne@69: extern int XChangeProperty( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Atom /* property */, jpayne@69: Atom /* type */, jpayne@69: int /* format */, jpayne@69: int /* mode */, jpayne@69: _Xconst unsigned char* /* data */, jpayne@69: int /* nelements */ jpayne@69: ); jpayne@69: jpayne@69: extern int XChangeSaveSet( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: int /* change_mode */ jpayne@69: ); jpayne@69: jpayne@69: extern int XChangeWindowAttributes( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: unsigned long /* valuemask */, jpayne@69: XSetWindowAttributes* /* attributes */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XCheckIfEvent( jpayne@69: Display* /* display */, jpayne@69: XEvent* /* event_return */, jpayne@69: Bool (*) ( jpayne@69: Display* /* display */, jpayne@69: XEvent* /* event */, jpayne@69: XPointer /* arg */ jpayne@69: ) /* predicate */, jpayne@69: XPointer /* arg */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XCheckMaskEvent( jpayne@69: Display* /* display */, jpayne@69: long /* event_mask */, jpayne@69: XEvent* /* event_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XCheckTypedEvent( jpayne@69: Display* /* display */, jpayne@69: int /* event_type */, jpayne@69: XEvent* /* event_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XCheckTypedWindowEvent( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: int /* event_type */, jpayne@69: XEvent* /* event_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XCheckWindowEvent( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: long /* event_mask */, jpayne@69: XEvent* /* event_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XCirculateSubwindows( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: int /* direction */ jpayne@69: ); jpayne@69: jpayne@69: extern int XCirculateSubwindowsDown( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XCirculateSubwindowsUp( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XClearArea( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: Bool /* exposures */ jpayne@69: ); jpayne@69: jpayne@69: extern int XClearWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XCloseDisplay( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XConfigureWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: unsigned int /* value_mask */, jpayne@69: XWindowChanges* /* values */ jpayne@69: ); jpayne@69: jpayne@69: extern int XConnectionNumber( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XConvertSelection( jpayne@69: Display* /* display */, jpayne@69: Atom /* selection */, jpayne@69: Atom /* target */, jpayne@69: Atom /* property */, jpayne@69: Window /* requestor */, jpayne@69: Time /* time */ jpayne@69: ); jpayne@69: jpayne@69: extern int XCopyArea( jpayne@69: Display* /* display */, jpayne@69: Drawable /* src */, jpayne@69: Drawable /* dest */, jpayne@69: GC /* gc */, jpayne@69: int /* src_x */, jpayne@69: int /* src_y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: int /* dest_x */, jpayne@69: int /* dest_y */ jpayne@69: ); jpayne@69: jpayne@69: extern int XCopyGC( jpayne@69: Display* /* display */, jpayne@69: GC /* src */, jpayne@69: unsigned long /* valuemask */, jpayne@69: GC /* dest */ jpayne@69: ); jpayne@69: jpayne@69: extern int XCopyPlane( jpayne@69: Display* /* display */, jpayne@69: Drawable /* src */, jpayne@69: Drawable /* dest */, jpayne@69: GC /* gc */, jpayne@69: int /* src_x */, jpayne@69: int /* src_y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: int /* dest_x */, jpayne@69: int /* dest_y */, jpayne@69: unsigned long /* plane */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDefaultDepth( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDefaultDepthOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDefaultScreen( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDefineCursor( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Cursor /* cursor */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDeleteProperty( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Atom /* property */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDestroyWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDestroySubwindows( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDoesBackingStore( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XDoesSaveUnders( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDisableAccessControl( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: jpayne@69: extern int XDisplayCells( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDisplayHeight( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDisplayHeightMM( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDisplayKeycodes( jpayne@69: Display* /* display */, jpayne@69: int* /* min_keycodes_return */, jpayne@69: int* /* max_keycodes_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDisplayPlanes( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDisplayWidth( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDisplayWidthMM( jpayne@69: Display* /* display */, jpayne@69: int /* screen_number */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawArc( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: int /* angle1 */, jpayne@69: int /* angle2 */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawArcs( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: XArc* /* arcs */, jpayne@69: int /* narcs */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawImageString( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: _Xconst char* /* string */, jpayne@69: int /* length */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawImageString16( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: _Xconst XChar2b* /* string */, jpayne@69: int /* length */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawLine( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x1 */, jpayne@69: int /* y1 */, jpayne@69: int /* x2 */, jpayne@69: int /* y2 */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawLines( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: XPoint* /* points */, jpayne@69: int /* npoints */, jpayne@69: int /* mode */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawPoint( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawPoints( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: XPoint* /* points */, jpayne@69: int /* npoints */, jpayne@69: int /* mode */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawRectangle( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawRectangles( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: XRectangle* /* rectangles */, jpayne@69: int /* nrectangles */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawSegments( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: XSegment* /* segments */, jpayne@69: int /* nsegments */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawString( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: _Xconst char* /* string */, jpayne@69: int /* length */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawString16( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: _Xconst XChar2b* /* string */, jpayne@69: int /* length */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawText( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: XTextItem* /* items */, jpayne@69: int /* nitems */ jpayne@69: ); jpayne@69: jpayne@69: extern int XDrawText16( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: XTextItem16* /* items */, jpayne@69: int /* nitems */ jpayne@69: ); jpayne@69: jpayne@69: extern int XEnableAccessControl( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XEventsQueued( jpayne@69: Display* /* display */, jpayne@69: int /* mode */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XFetchName( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: char** /* window_name_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFillArc( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: int /* angle1 */, jpayne@69: int /* angle2 */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFillArcs( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: XArc* /* arcs */, jpayne@69: int /* narcs */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFillPolygon( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: XPoint* /* points */, jpayne@69: int /* npoints */, jpayne@69: int /* shape */, jpayne@69: int /* mode */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFillRectangle( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFillRectangles( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: XRectangle* /* rectangles */, jpayne@69: int /* nrectangles */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFlush( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XForceScreenSaver( jpayne@69: Display* /* display */, jpayne@69: int /* mode */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFree( jpayne@69: void* /* data */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFreeColormap( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFreeColors( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: unsigned long* /* pixels */, jpayne@69: int /* npixels */, jpayne@69: unsigned long /* planes */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFreeCursor( jpayne@69: Display* /* display */, jpayne@69: Cursor /* cursor */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFreeExtensionList( jpayne@69: char** /* list */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFreeFont( jpayne@69: Display* /* display */, jpayne@69: XFontStruct* /* font_struct */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFreeFontInfo( jpayne@69: char** /* names */, jpayne@69: XFontStruct* /* free_info */, jpayne@69: int /* actual_count */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFreeFontNames( jpayne@69: char** /* list */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFreeFontPath( jpayne@69: char** /* list */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFreeGC( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFreeModifiermap( jpayne@69: XModifierKeymap* /* modmap */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFreePixmap( jpayne@69: Display* /* display */, jpayne@69: Pixmap /* pixmap */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGeometry( jpayne@69: Display* /* display */, jpayne@69: int /* screen */, jpayne@69: _Xconst char* /* position */, jpayne@69: _Xconst char* /* default_position */, jpayne@69: unsigned int /* bwidth */, jpayne@69: unsigned int /* fwidth */, jpayne@69: unsigned int /* fheight */, jpayne@69: int /* xadder */, jpayne@69: int /* yadder */, jpayne@69: int* /* x_return */, jpayne@69: int* /* y_return */, jpayne@69: int* /* width_return */, jpayne@69: int* /* height_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGetErrorDatabaseText( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* name */, jpayne@69: _Xconst char* /* message */, jpayne@69: _Xconst char* /* default_string */, jpayne@69: char* /* buffer_return */, jpayne@69: int /* length */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGetErrorText( jpayne@69: Display* /* display */, jpayne@69: int /* code */, jpayne@69: char* /* buffer_return */, jpayne@69: int /* length */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XGetFontProperty( jpayne@69: XFontStruct* /* font_struct */, jpayne@69: Atom /* atom */, jpayne@69: unsigned long* /* value_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XGetGCValues( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: unsigned long /* valuemask */, jpayne@69: XGCValues* /* values_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XGetGeometry( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: Window* /* root_return */, jpayne@69: int* /* x_return */, jpayne@69: int* /* y_return */, jpayne@69: unsigned int* /* width_return */, jpayne@69: unsigned int* /* height_return */, jpayne@69: unsigned int* /* border_width_return */, jpayne@69: unsigned int* /* depth_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XGetIconName( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: char** /* icon_name_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGetInputFocus( jpayne@69: Display* /* display */, jpayne@69: Window* /* focus_return */, jpayne@69: int* /* revert_to_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGetKeyboardControl( jpayne@69: Display* /* display */, jpayne@69: XKeyboardState* /* values_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGetPointerControl( jpayne@69: Display* /* display */, jpayne@69: int* /* accel_numerator_return */, jpayne@69: int* /* accel_denominator_return */, jpayne@69: int* /* threshold_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGetPointerMapping( jpayne@69: Display* /* display */, jpayne@69: unsigned char* /* map_return */, jpayne@69: int /* nmap */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGetScreenSaver( jpayne@69: Display* /* display */, jpayne@69: int* /* timeout_return */, jpayne@69: int* /* interval_return */, jpayne@69: int* /* prefer_blanking_return */, jpayne@69: int* /* allow_exposures_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XGetTransientForHint( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Window* /* prop_window_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGetWindowProperty( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Atom /* property */, jpayne@69: long /* long_offset */, jpayne@69: long /* long_length */, jpayne@69: Bool /* delete */, jpayne@69: Atom /* req_type */, jpayne@69: Atom* /* actual_type_return */, jpayne@69: int* /* actual_format_return */, jpayne@69: unsigned long* /* nitems_return */, jpayne@69: unsigned long* /* bytes_after_return */, jpayne@69: unsigned char** /* prop_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XGetWindowAttributes( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: XWindowAttributes* /* window_attributes_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGrabButton( jpayne@69: Display* /* display */, jpayne@69: unsigned int /* button */, jpayne@69: unsigned int /* modifiers */, jpayne@69: Window /* grab_window */, jpayne@69: Bool /* owner_events */, jpayne@69: unsigned int /* event_mask */, jpayne@69: int /* pointer_mode */, jpayne@69: int /* keyboard_mode */, jpayne@69: Window /* confine_to */, jpayne@69: Cursor /* cursor */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGrabKey( jpayne@69: Display* /* display */, jpayne@69: int /* keycode */, jpayne@69: unsigned int /* modifiers */, jpayne@69: Window /* grab_window */, jpayne@69: Bool /* owner_events */, jpayne@69: int /* pointer_mode */, jpayne@69: int /* keyboard_mode */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGrabKeyboard( jpayne@69: Display* /* display */, jpayne@69: Window /* grab_window */, jpayne@69: Bool /* owner_events */, jpayne@69: int /* pointer_mode */, jpayne@69: int /* keyboard_mode */, jpayne@69: Time /* time */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGrabPointer( jpayne@69: Display* /* display */, jpayne@69: Window /* grab_window */, jpayne@69: Bool /* owner_events */, jpayne@69: unsigned int /* event_mask */, jpayne@69: int /* pointer_mode */, jpayne@69: int /* keyboard_mode */, jpayne@69: Window /* confine_to */, jpayne@69: Cursor /* cursor */, jpayne@69: Time /* time */ jpayne@69: ); jpayne@69: jpayne@69: extern int XGrabServer( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XHeightMMOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern int XHeightOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern int XIfEvent( jpayne@69: Display* /* display */, jpayne@69: XEvent* /* event_return */, jpayne@69: Bool (*) ( jpayne@69: Display* /* display */, jpayne@69: XEvent* /* event */, jpayne@69: XPointer /* arg */ jpayne@69: ) /* predicate */, jpayne@69: XPointer /* arg */ jpayne@69: ); jpayne@69: jpayne@69: extern int XImageByteOrder( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XInstallColormap( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */ jpayne@69: ); jpayne@69: jpayne@69: extern KeyCode XKeysymToKeycode( jpayne@69: Display* /* display */, jpayne@69: KeySym /* keysym */ jpayne@69: ); jpayne@69: jpayne@69: extern int XKillClient( jpayne@69: Display* /* display */, jpayne@69: XID /* resource */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XLookupColor( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: _Xconst char* /* color_name */, jpayne@69: XColor* /* exact_def_return */, jpayne@69: XColor* /* screen_def_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XLowerWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XMapRaised( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XMapSubwindows( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XMapWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XMaskEvent( jpayne@69: Display* /* display */, jpayne@69: long /* event_mask */, jpayne@69: XEvent* /* event_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XMaxCmapsOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern int XMinCmapsOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern int XMoveResizeWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */ jpayne@69: ); jpayne@69: jpayne@69: extern int XMoveWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: int /* x */, jpayne@69: int /* y */ jpayne@69: ); jpayne@69: jpayne@69: extern int XNextEvent( jpayne@69: Display* /* display */, jpayne@69: XEvent* /* event_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XNoOp( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XParseColor( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: _Xconst char* /* spec */, jpayne@69: XColor* /* exact_def_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XParseGeometry( jpayne@69: _Xconst char* /* parsestring */, jpayne@69: int* /* x_return */, jpayne@69: int* /* y_return */, jpayne@69: unsigned int* /* width_return */, jpayne@69: unsigned int* /* height_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XPeekEvent( jpayne@69: Display* /* display */, jpayne@69: XEvent* /* event_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XPeekIfEvent( jpayne@69: Display* /* display */, jpayne@69: XEvent* /* event_return */, jpayne@69: Bool (*) ( jpayne@69: Display* /* display */, jpayne@69: XEvent* /* event */, jpayne@69: XPointer /* arg */ jpayne@69: ) /* predicate */, jpayne@69: XPointer /* arg */ jpayne@69: ); jpayne@69: jpayne@69: extern int XPending( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XPlanesOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern int XProtocolRevision( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XProtocolVersion( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: jpayne@69: extern int XPutBackEvent( jpayne@69: Display* /* display */, jpayne@69: XEvent* /* event */ jpayne@69: ); jpayne@69: jpayne@69: extern int XPutImage( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: XImage* /* image */, jpayne@69: int /* src_x */, jpayne@69: int /* src_y */, jpayne@69: int /* dest_x */, jpayne@69: int /* dest_y */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */ jpayne@69: ); jpayne@69: jpayne@69: extern int XQLength( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XQueryBestCursor( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: unsigned int* /* width_return */, jpayne@69: unsigned int* /* height_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XQueryBestSize( jpayne@69: Display* /* display */, jpayne@69: int /* class */, jpayne@69: Drawable /* which_screen */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: unsigned int* /* width_return */, jpayne@69: unsigned int* /* height_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XQueryBestStipple( jpayne@69: Display* /* display */, jpayne@69: Drawable /* which_screen */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: unsigned int* /* width_return */, jpayne@69: unsigned int* /* height_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XQueryBestTile( jpayne@69: Display* /* display */, jpayne@69: Drawable /* which_screen */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: unsigned int* /* width_return */, jpayne@69: unsigned int* /* height_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XQueryColor( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: XColor* /* def_in_out */ jpayne@69: ); jpayne@69: jpayne@69: extern int XQueryColors( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: XColor* /* defs_in_out */, jpayne@69: int /* ncolors */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XQueryExtension( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* name */, jpayne@69: int* /* major_opcode_return */, jpayne@69: int* /* first_event_return */, jpayne@69: int* /* first_error_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XQueryKeymap( jpayne@69: Display* /* display */, jpayne@69: char [32] /* keys_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XQueryPointer( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Window* /* root_return */, jpayne@69: Window* /* child_return */, jpayne@69: int* /* root_x_return */, jpayne@69: int* /* root_y_return */, jpayne@69: int* /* win_x_return */, jpayne@69: int* /* win_y_return */, jpayne@69: unsigned int* /* mask_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XQueryTextExtents( jpayne@69: Display* /* display */, jpayne@69: XID /* font_ID */, jpayne@69: _Xconst char* /* string */, jpayne@69: int /* nchars */, jpayne@69: int* /* direction_return */, jpayne@69: int* /* font_ascent_return */, jpayne@69: int* /* font_descent_return */, jpayne@69: XCharStruct* /* overall_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XQueryTextExtents16( jpayne@69: Display* /* display */, jpayne@69: XID /* font_ID */, jpayne@69: _Xconst XChar2b* /* string */, jpayne@69: int /* nchars */, jpayne@69: int* /* direction_return */, jpayne@69: int* /* font_ascent_return */, jpayne@69: int* /* font_descent_return */, jpayne@69: XCharStruct* /* overall_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XQueryTree( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Window* /* root_return */, jpayne@69: Window* /* parent_return */, jpayne@69: Window** /* children_return */, jpayne@69: unsigned int* /* nchildren_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XRaiseWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XReadBitmapFile( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: _Xconst char* /* filename */, jpayne@69: unsigned int* /* width_return */, jpayne@69: unsigned int* /* height_return */, jpayne@69: Pixmap* /* bitmap_return */, jpayne@69: int* /* x_hot_return */, jpayne@69: int* /* y_hot_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XReadBitmapFileData( jpayne@69: _Xconst char* /* filename */, jpayne@69: unsigned int* /* width_return */, jpayne@69: unsigned int* /* height_return */, jpayne@69: unsigned char** /* data_return */, jpayne@69: int* /* x_hot_return */, jpayne@69: int* /* y_hot_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XRebindKeysym( jpayne@69: Display* /* display */, jpayne@69: KeySym /* keysym */, jpayne@69: KeySym* /* list */, jpayne@69: int /* mod_count */, jpayne@69: _Xconst unsigned char* /* string */, jpayne@69: int /* bytes_string */ jpayne@69: ); jpayne@69: jpayne@69: extern int XRecolorCursor( jpayne@69: Display* /* display */, jpayne@69: Cursor /* cursor */, jpayne@69: XColor* /* foreground_color */, jpayne@69: XColor* /* background_color */ jpayne@69: ); jpayne@69: jpayne@69: extern int XRefreshKeyboardMapping( jpayne@69: XMappingEvent* /* event_map */ jpayne@69: ); jpayne@69: jpayne@69: extern int XRemoveFromSaveSet( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XRemoveHost( jpayne@69: Display* /* display */, jpayne@69: XHostAddress* /* host */ jpayne@69: ); jpayne@69: jpayne@69: extern int XRemoveHosts( jpayne@69: Display* /* display */, jpayne@69: XHostAddress* /* hosts */, jpayne@69: int /* num_hosts */ jpayne@69: ); jpayne@69: jpayne@69: extern int XReparentWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Window /* parent */, jpayne@69: int /* x */, jpayne@69: int /* y */ jpayne@69: ); jpayne@69: jpayne@69: extern int XResetScreenSaver( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XResizeWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */ jpayne@69: ); jpayne@69: jpayne@69: extern int XRestackWindows( jpayne@69: Display* /* display */, jpayne@69: Window* /* windows */, jpayne@69: int /* nwindows */ jpayne@69: ); jpayne@69: jpayne@69: extern int XRotateBuffers( jpayne@69: Display* /* display */, jpayne@69: int /* rotate */ jpayne@69: ); jpayne@69: jpayne@69: extern int XRotateWindowProperties( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Atom* /* properties */, jpayne@69: int /* num_prop */, jpayne@69: int /* npositions */ jpayne@69: ); jpayne@69: jpayne@69: extern int XScreenCount( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSelectInput( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: long /* event_mask */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XSendEvent( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Bool /* propagate */, jpayne@69: long /* event_mask */, jpayne@69: XEvent* /* event_send */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetAccessControl( jpayne@69: Display* /* display */, jpayne@69: int /* mode */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetArcMode( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: int /* arc_mode */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetBackground( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: unsigned long /* background */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetClipMask( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: Pixmap /* pixmap */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetClipOrigin( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: int /* clip_x_origin */, jpayne@69: int /* clip_y_origin */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetClipRectangles( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: int /* clip_x_origin */, jpayne@69: int /* clip_y_origin */, jpayne@69: XRectangle* /* rectangles */, jpayne@69: int /* n */, jpayne@69: int /* ordering */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetCloseDownMode( jpayne@69: Display* /* display */, jpayne@69: int /* close_mode */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetCommand( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: char** /* argv */, jpayne@69: int /* argc */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetDashes( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: int /* dash_offset */, jpayne@69: _Xconst char* /* dash_list */, jpayne@69: int /* n */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetFillRule( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: int /* fill_rule */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetFillStyle( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: int /* fill_style */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetFont( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: Font /* font */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetFontPath( jpayne@69: Display* /* display */, jpayne@69: char** /* directories */, jpayne@69: int /* ndirs */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetForeground( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: unsigned long /* foreground */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetFunction( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: int /* function */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetGraphicsExposures( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: Bool /* graphics_exposures */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetIconName( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: _Xconst char* /* icon_name */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetInputFocus( jpayne@69: Display* /* display */, jpayne@69: Window /* focus */, jpayne@69: int /* revert_to */, jpayne@69: Time /* time */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetLineAttributes( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: unsigned int /* line_width */, jpayne@69: int /* line_style */, jpayne@69: int /* cap_style */, jpayne@69: int /* join_style */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetModifierMapping( jpayne@69: Display* /* display */, jpayne@69: XModifierKeymap* /* modmap */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetPlaneMask( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: unsigned long /* plane_mask */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetPointerMapping( jpayne@69: Display* /* display */, jpayne@69: _Xconst unsigned char* /* map */, jpayne@69: int /* nmap */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetScreenSaver( jpayne@69: Display* /* display */, jpayne@69: int /* timeout */, jpayne@69: int /* interval */, jpayne@69: int /* prefer_blanking */, jpayne@69: int /* allow_exposures */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetSelectionOwner( jpayne@69: Display* /* display */, jpayne@69: Atom /* selection */, jpayne@69: Window /* owner */, jpayne@69: Time /* time */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetState( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: unsigned long /* foreground */, jpayne@69: unsigned long /* background */, jpayne@69: int /* function */, jpayne@69: unsigned long /* plane_mask */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetStipple( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: Pixmap /* stipple */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetSubwindowMode( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: int /* subwindow_mode */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetTSOrigin( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: int /* ts_x_origin */, jpayne@69: int /* ts_y_origin */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetTile( jpayne@69: Display* /* display */, jpayne@69: GC /* gc */, jpayne@69: Pixmap /* tile */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetWindowBackground( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: unsigned long /* background_pixel */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetWindowBackgroundPixmap( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Pixmap /* background_pixmap */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetWindowBorder( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: unsigned long /* border_pixel */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetWindowBorderPixmap( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Pixmap /* border_pixmap */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetWindowBorderWidth( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: unsigned int /* width */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSetWindowColormap( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: Colormap /* colormap */ jpayne@69: ); jpayne@69: jpayne@69: extern int XStoreBuffer( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* bytes */, jpayne@69: int /* nbytes */, jpayne@69: int /* buffer */ jpayne@69: ); jpayne@69: jpayne@69: extern int XStoreBytes( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* bytes */, jpayne@69: int /* nbytes */ jpayne@69: ); jpayne@69: jpayne@69: extern int XStoreColor( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: XColor* /* color */ jpayne@69: ); jpayne@69: jpayne@69: extern int XStoreColors( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: XColor* /* color */, jpayne@69: int /* ncolors */ jpayne@69: ); jpayne@69: jpayne@69: extern int XStoreName( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: _Xconst char* /* window_name */ jpayne@69: ); jpayne@69: jpayne@69: extern int XStoreNamedColor( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */, jpayne@69: _Xconst char* /* color */, jpayne@69: unsigned long /* pixel */, jpayne@69: int /* flags */ jpayne@69: ); jpayne@69: jpayne@69: extern int XSync( jpayne@69: Display* /* display */, jpayne@69: Bool /* discard */ jpayne@69: ); jpayne@69: jpayne@69: extern int XTextExtents( jpayne@69: XFontStruct* /* font_struct */, jpayne@69: _Xconst char* /* string */, jpayne@69: int /* nchars */, jpayne@69: int* /* direction_return */, jpayne@69: int* /* font_ascent_return */, jpayne@69: int* /* font_descent_return */, jpayne@69: XCharStruct* /* overall_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XTextExtents16( jpayne@69: XFontStruct* /* font_struct */, jpayne@69: _Xconst XChar2b* /* string */, jpayne@69: int /* nchars */, jpayne@69: int* /* direction_return */, jpayne@69: int* /* font_ascent_return */, jpayne@69: int* /* font_descent_return */, jpayne@69: XCharStruct* /* overall_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XTextWidth( jpayne@69: XFontStruct* /* font_struct */, jpayne@69: _Xconst char* /* string */, jpayne@69: int /* count */ jpayne@69: ); jpayne@69: jpayne@69: extern int XTextWidth16( jpayne@69: XFontStruct* /* font_struct */, jpayne@69: _Xconst XChar2b* /* string */, jpayne@69: int /* count */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XTranslateCoordinates( jpayne@69: Display* /* display */, jpayne@69: Window /* src_w */, jpayne@69: Window /* dest_w */, jpayne@69: int /* src_x */, jpayne@69: int /* src_y */, jpayne@69: int* /* dest_x_return */, jpayne@69: int* /* dest_y_return */, jpayne@69: Window* /* child_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XUndefineCursor( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XUngrabButton( jpayne@69: Display* /* display */, jpayne@69: unsigned int /* button */, jpayne@69: unsigned int /* modifiers */, jpayne@69: Window /* grab_window */ jpayne@69: ); jpayne@69: jpayne@69: extern int XUngrabKey( jpayne@69: Display* /* display */, jpayne@69: int /* keycode */, jpayne@69: unsigned int /* modifiers */, jpayne@69: Window /* grab_window */ jpayne@69: ); jpayne@69: jpayne@69: extern int XUngrabKeyboard( jpayne@69: Display* /* display */, jpayne@69: Time /* time */ jpayne@69: ); jpayne@69: jpayne@69: extern int XUngrabPointer( jpayne@69: Display* /* display */, jpayne@69: Time /* time */ jpayne@69: ); jpayne@69: jpayne@69: extern int XUngrabServer( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XUninstallColormap( jpayne@69: Display* /* display */, jpayne@69: Colormap /* colormap */ jpayne@69: ); jpayne@69: jpayne@69: extern int XUnloadFont( jpayne@69: Display* /* display */, jpayne@69: Font /* font */ jpayne@69: ); jpayne@69: jpayne@69: extern int XUnmapSubwindows( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XUnmapWindow( jpayne@69: Display* /* display */, jpayne@69: Window /* w */ jpayne@69: ); jpayne@69: jpayne@69: extern int XVendorRelease( jpayne@69: Display* /* display */ jpayne@69: ); jpayne@69: jpayne@69: extern int XWarpPointer( jpayne@69: Display* /* display */, jpayne@69: Window /* src_w */, jpayne@69: Window /* dest_w */, jpayne@69: int /* src_x */, jpayne@69: int /* src_y */, jpayne@69: unsigned int /* src_width */, jpayne@69: unsigned int /* src_height */, jpayne@69: int /* dest_x */, jpayne@69: int /* dest_y */ jpayne@69: ); jpayne@69: jpayne@69: extern int XWidthMMOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern int XWidthOfScreen( jpayne@69: Screen* /* screen */ jpayne@69: ); jpayne@69: jpayne@69: extern int XWindowEvent( jpayne@69: Display* /* display */, jpayne@69: Window /* w */, jpayne@69: long /* event_mask */, jpayne@69: XEvent* /* event_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XWriteBitmapFile( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* filename */, jpayne@69: Pixmap /* bitmap */, jpayne@69: unsigned int /* width */, jpayne@69: unsigned int /* height */, jpayne@69: int /* x_hot */, jpayne@69: int /* y_hot */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XSupportsLocale (void); jpayne@69: jpayne@69: extern char *XSetLocaleModifiers( jpayne@69: const char* /* modifier_list */ jpayne@69: ); jpayne@69: jpayne@69: extern XOM XOpenOM( jpayne@69: Display* /* display */, jpayne@69: struct _XrmHashBucketRec* /* rdb */, jpayne@69: _Xconst char* /* res_name */, jpayne@69: _Xconst char* /* res_class */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XCloseOM( jpayne@69: XOM /* om */ jpayne@69: ); jpayne@69: jpayne@69: extern char *XSetOMValues( jpayne@69: XOM /* om */, jpayne@69: ... jpayne@69: ) _X_SENTINEL(0); jpayne@69: jpayne@69: extern char *XGetOMValues( jpayne@69: XOM /* om */, jpayne@69: ... jpayne@69: ) _X_SENTINEL(0); jpayne@69: jpayne@69: extern Display *XDisplayOfOM( jpayne@69: XOM /* om */ jpayne@69: ); jpayne@69: jpayne@69: extern char *XLocaleOfOM( jpayne@69: XOM /* om */ jpayne@69: ); jpayne@69: jpayne@69: extern XOC XCreateOC( jpayne@69: XOM /* om */, jpayne@69: ... jpayne@69: ) _X_SENTINEL(0); jpayne@69: jpayne@69: extern void XDestroyOC( jpayne@69: XOC /* oc */ jpayne@69: ); jpayne@69: jpayne@69: extern XOM XOMOfOC( jpayne@69: XOC /* oc */ jpayne@69: ); jpayne@69: jpayne@69: extern char *XSetOCValues( jpayne@69: XOC /* oc */, jpayne@69: ... jpayne@69: ) _X_SENTINEL(0); jpayne@69: jpayne@69: extern char *XGetOCValues( jpayne@69: XOC /* oc */, jpayne@69: ... jpayne@69: ) _X_SENTINEL(0); jpayne@69: jpayne@69: extern XFontSet XCreateFontSet( jpayne@69: Display* /* display */, jpayne@69: _Xconst char* /* base_font_name_list */, jpayne@69: char*** /* missing_charset_list */, jpayne@69: int* /* missing_charset_count */, jpayne@69: char** /* def_string */ jpayne@69: ); jpayne@69: jpayne@69: extern void XFreeFontSet( jpayne@69: Display* /* display */, jpayne@69: XFontSet /* font_set */ jpayne@69: ); jpayne@69: jpayne@69: extern int XFontsOfFontSet( jpayne@69: XFontSet /* font_set */, jpayne@69: XFontStruct*** /* font_struct_list */, jpayne@69: char*** /* font_name_list */ jpayne@69: ); jpayne@69: jpayne@69: extern char *XBaseFontNameListOfFontSet( jpayne@69: XFontSet /* font_set */ jpayne@69: ); jpayne@69: jpayne@69: extern char *XLocaleOfFontSet( jpayne@69: XFontSet /* font_set */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XContextDependentDrawing( jpayne@69: XFontSet /* font_set */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XDirectionalDependentDrawing( jpayne@69: XFontSet /* font_set */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XContextualDrawing( jpayne@69: XFontSet /* font_set */ jpayne@69: ); jpayne@69: jpayne@69: extern XFontSetExtents *XExtentsOfFontSet( jpayne@69: XFontSet /* font_set */ jpayne@69: ); jpayne@69: jpayne@69: extern int XmbTextEscapement( jpayne@69: XFontSet /* font_set */, jpayne@69: _Xconst char* /* text */, jpayne@69: int /* bytes_text */ jpayne@69: ); jpayne@69: jpayne@69: extern int XwcTextEscapement( jpayne@69: XFontSet /* font_set */, jpayne@69: _Xconst wchar_t* /* text */, jpayne@69: int /* num_wchars */ jpayne@69: ); jpayne@69: jpayne@69: extern int Xutf8TextEscapement( jpayne@69: XFontSet /* font_set */, jpayne@69: _Xconst char* /* text */, jpayne@69: int /* bytes_text */ jpayne@69: ); jpayne@69: jpayne@69: extern int XmbTextExtents( jpayne@69: XFontSet /* font_set */, jpayne@69: _Xconst char* /* text */, jpayne@69: int /* bytes_text */, jpayne@69: XRectangle* /* overall_ink_return */, jpayne@69: XRectangle* /* overall_logical_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XwcTextExtents( jpayne@69: XFontSet /* font_set */, jpayne@69: _Xconst wchar_t* /* text */, jpayne@69: int /* num_wchars */, jpayne@69: XRectangle* /* overall_ink_return */, jpayne@69: XRectangle* /* overall_logical_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int Xutf8TextExtents( jpayne@69: XFontSet /* font_set */, jpayne@69: _Xconst char* /* text */, jpayne@69: int /* bytes_text */, jpayne@69: XRectangle* /* overall_ink_return */, jpayne@69: XRectangle* /* overall_logical_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XmbTextPerCharExtents( jpayne@69: XFontSet /* font_set */, jpayne@69: _Xconst char* /* text */, jpayne@69: int /* bytes_text */, jpayne@69: XRectangle* /* ink_extents_buffer */, jpayne@69: XRectangle* /* logical_extents_buffer */, jpayne@69: int /* buffer_size */, jpayne@69: int* /* num_chars */, jpayne@69: XRectangle* /* overall_ink_return */, jpayne@69: XRectangle* /* overall_logical_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XwcTextPerCharExtents( jpayne@69: XFontSet /* font_set */, jpayne@69: _Xconst wchar_t* /* text */, jpayne@69: int /* num_wchars */, jpayne@69: XRectangle* /* ink_extents_buffer */, jpayne@69: XRectangle* /* logical_extents_buffer */, jpayne@69: int /* buffer_size */, jpayne@69: int* /* num_chars */, jpayne@69: XRectangle* /* overall_ink_return */, jpayne@69: XRectangle* /* overall_logical_return */ jpayne@69: ); jpayne@69: jpayne@69: extern Status Xutf8TextPerCharExtents( jpayne@69: XFontSet /* font_set */, jpayne@69: _Xconst char* /* text */, jpayne@69: int /* bytes_text */, jpayne@69: XRectangle* /* ink_extents_buffer */, jpayne@69: XRectangle* /* logical_extents_buffer */, jpayne@69: int /* buffer_size */, jpayne@69: int* /* num_chars */, jpayne@69: XRectangle* /* overall_ink_return */, jpayne@69: XRectangle* /* overall_logical_return */ jpayne@69: ); jpayne@69: jpayne@69: extern void XmbDrawText( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: XmbTextItem* /* text_items */, jpayne@69: int /* nitems */ jpayne@69: ); jpayne@69: jpayne@69: extern void XwcDrawText( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: XwcTextItem* /* text_items */, jpayne@69: int /* nitems */ jpayne@69: ); jpayne@69: jpayne@69: extern void Xutf8DrawText( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: XmbTextItem* /* text_items */, jpayne@69: int /* nitems */ jpayne@69: ); jpayne@69: jpayne@69: extern void XmbDrawString( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: XFontSet /* font_set */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: _Xconst char* /* text */, jpayne@69: int /* bytes_text */ jpayne@69: ); jpayne@69: jpayne@69: extern void XwcDrawString( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: XFontSet /* font_set */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: _Xconst wchar_t* /* text */, jpayne@69: int /* num_wchars */ jpayne@69: ); jpayne@69: jpayne@69: extern void Xutf8DrawString( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: XFontSet /* font_set */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: _Xconst char* /* text */, jpayne@69: int /* bytes_text */ jpayne@69: ); jpayne@69: jpayne@69: extern void XmbDrawImageString( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: XFontSet /* font_set */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: _Xconst char* /* text */, jpayne@69: int /* bytes_text */ jpayne@69: ); jpayne@69: jpayne@69: extern void XwcDrawImageString( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: XFontSet /* font_set */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: _Xconst wchar_t* /* text */, jpayne@69: int /* num_wchars */ jpayne@69: ); jpayne@69: jpayne@69: extern void Xutf8DrawImageString( jpayne@69: Display* /* display */, jpayne@69: Drawable /* d */, jpayne@69: XFontSet /* font_set */, jpayne@69: GC /* gc */, jpayne@69: int /* x */, jpayne@69: int /* y */, jpayne@69: _Xconst char* /* text */, jpayne@69: int /* bytes_text */ jpayne@69: ); jpayne@69: jpayne@69: extern XIM XOpenIM( jpayne@69: Display* /* dpy */, jpayne@69: struct _XrmHashBucketRec* /* rdb */, jpayne@69: char* /* res_name */, jpayne@69: char* /* res_class */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XCloseIM( jpayne@69: XIM /* im */ jpayne@69: ); jpayne@69: jpayne@69: extern char *XGetIMValues( jpayne@69: XIM /* im */, ... jpayne@69: ) _X_SENTINEL(0); jpayne@69: jpayne@69: extern char *XSetIMValues( jpayne@69: XIM /* im */, ... jpayne@69: ) _X_SENTINEL(0); jpayne@69: jpayne@69: extern Display *XDisplayOfIM( jpayne@69: XIM /* im */ jpayne@69: ); jpayne@69: jpayne@69: extern char *XLocaleOfIM( jpayne@69: XIM /* im*/ jpayne@69: ); jpayne@69: jpayne@69: extern XIC XCreateIC( jpayne@69: XIM /* im */, ... jpayne@69: ) _X_SENTINEL(0); jpayne@69: jpayne@69: extern void XDestroyIC( jpayne@69: XIC /* ic */ jpayne@69: ); jpayne@69: jpayne@69: extern void XSetICFocus( jpayne@69: XIC /* ic */ jpayne@69: ); jpayne@69: jpayne@69: extern void XUnsetICFocus( jpayne@69: XIC /* ic */ jpayne@69: ); jpayne@69: jpayne@69: extern wchar_t *XwcResetIC( jpayne@69: XIC /* ic */ jpayne@69: ); jpayne@69: jpayne@69: extern char *XmbResetIC( jpayne@69: XIC /* ic */ jpayne@69: ); jpayne@69: jpayne@69: extern char *Xutf8ResetIC( jpayne@69: XIC /* ic */ jpayne@69: ); jpayne@69: jpayne@69: extern char *XSetICValues( jpayne@69: XIC /* ic */, ... jpayne@69: ) _X_SENTINEL(0); jpayne@69: jpayne@69: extern char *XGetICValues( jpayne@69: XIC /* ic */, ... jpayne@69: ) _X_SENTINEL(0); jpayne@69: jpayne@69: extern XIM XIMOfIC( jpayne@69: XIC /* ic */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XFilterEvent( jpayne@69: XEvent* /* event */, jpayne@69: Window /* window */ jpayne@69: ); jpayne@69: jpayne@69: extern int XmbLookupString( jpayne@69: XIC /* ic */, jpayne@69: XKeyPressedEvent* /* event */, jpayne@69: char* /* buffer_return */, jpayne@69: int /* bytes_buffer */, jpayne@69: KeySym* /* keysym_return */, jpayne@69: Status* /* status_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int XwcLookupString( jpayne@69: XIC /* ic */, jpayne@69: XKeyPressedEvent* /* event */, jpayne@69: wchar_t* /* buffer_return */, jpayne@69: int /* wchars_buffer */, jpayne@69: KeySym* /* keysym_return */, jpayne@69: Status* /* status_return */ jpayne@69: ); jpayne@69: jpayne@69: extern int Xutf8LookupString( jpayne@69: XIC /* ic */, jpayne@69: XKeyPressedEvent* /* event */, jpayne@69: char* /* buffer_return */, jpayne@69: int /* bytes_buffer */, jpayne@69: KeySym* /* keysym_return */, jpayne@69: Status* /* status_return */ jpayne@69: ); jpayne@69: jpayne@69: extern XVaNestedList XVaCreateNestedList( jpayne@69: int /*unused*/, ... jpayne@69: ) _X_SENTINEL(0); jpayne@69: jpayne@69: /* internal connections for IMs */ jpayne@69: jpayne@69: extern Bool XRegisterIMInstantiateCallback( jpayne@69: Display* /* dpy */, jpayne@69: struct _XrmHashBucketRec* /* rdb */, jpayne@69: char* /* res_name */, jpayne@69: char* /* res_class */, jpayne@69: XIDProc /* callback */, jpayne@69: XPointer /* client_data */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XUnregisterIMInstantiateCallback( jpayne@69: Display* /* dpy */, jpayne@69: struct _XrmHashBucketRec* /* rdb */, jpayne@69: char* /* res_name */, jpayne@69: char* /* res_class */, jpayne@69: XIDProc /* callback */, jpayne@69: XPointer /* client_data */ jpayne@69: ); jpayne@69: jpayne@69: typedef void (*XConnectionWatchProc)( jpayne@69: Display* /* dpy */, jpayne@69: XPointer /* client_data */, jpayne@69: int /* fd */, jpayne@69: Bool /* opening */, /* open or close flag */ jpayne@69: XPointer* /* watch_data */ /* open sets, close uses */ jpayne@69: ); jpayne@69: jpayne@69: jpayne@69: extern Status XInternalConnectionNumbers( jpayne@69: Display* /* dpy */, jpayne@69: int** /* fd_return */, jpayne@69: int* /* count_return */ jpayne@69: ); jpayne@69: jpayne@69: extern void XProcessInternalConnection( jpayne@69: Display* /* dpy */, jpayne@69: int /* fd */ jpayne@69: ); jpayne@69: jpayne@69: extern Status XAddConnectionWatch( jpayne@69: Display* /* dpy */, jpayne@69: XConnectionWatchProc /* callback */, jpayne@69: XPointer /* client_data */ jpayne@69: ); jpayne@69: jpayne@69: extern void XRemoveConnectionWatch( jpayne@69: Display* /* dpy */, jpayne@69: XConnectionWatchProc /* callback */, jpayne@69: XPointer /* client_data */ jpayne@69: ); jpayne@69: jpayne@69: extern void XSetAuthorization( jpayne@69: char * /* name */, jpayne@69: int /* namelen */, jpayne@69: char * /* data */, jpayne@69: int /* datalen */ jpayne@69: ); jpayne@69: jpayne@69: extern int _Xmbtowc( jpayne@69: wchar_t * /* wstr */, jpayne@69: char * /* str */, jpayne@69: int /* len */ jpayne@69: ); jpayne@69: jpayne@69: extern int _Xwctomb( jpayne@69: char * /* str */, jpayne@69: wchar_t /* wc */ jpayne@69: ); jpayne@69: jpayne@69: extern Bool XGetEventData( jpayne@69: Display* /* dpy */, jpayne@69: XGenericEventCookie* /* cookie*/ jpayne@69: ); jpayne@69: jpayne@69: extern void XFreeEventData( jpayne@69: Display* /* dpy */, jpayne@69: XGenericEventCookie* /* cookie*/ jpayne@69: ); jpayne@69: jpayne@69: #ifdef __clang__ jpayne@69: #pragma clang diagnostic pop jpayne@69: #endif jpayne@69: jpayne@69: _XFUNCPROTOEND jpayne@69: jpayne@69: #endif /* _X11_XLIB_H_ */