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