#undef LIBVNCSERVER_HAVE_XSHM
#define LIBVNCSERVER_HAVE_XSHM 0
#undef LIBVNCSERVER_HAVE_XTEST
#define LIBVNCSERVER_HAVE_XTEST 0
#undef LIBVNCSERVER_HAVE_XTESTGRABCONTROL
#define LIBVNCSERVER_HAVE_XTESTGRABCONTROL 0
#undef LIBVNCSERVER_HAVE_XKEYBOARD
#define LIBVNCSERVER_HAVE_XKEYBOARD 0
#undef LIBVNCSERVER_HAVE_LIBXINERAMA
#define LIBVNCSERVER_HAVE_LIBXINERAMA 0
#undef LIBVNCSERVER_HAVE_LIBXRANDR
#define LIBVNCSERVER_HAVE_LIBXRANDR 0
#undef LIBVNCSERVER_HAVE_LIBXFIXES
#define LIBVNCSERVER_HAVE_LIBXFIXES 0
#undef LIBVNCSERVER_HAVE_LIBXDAMAGE
#define LIBVNCSERVER_HAVE_LIBXDAMAGE 0
#undef LIBVNCSERVER_HAVE_RECORD
#define LIBVNCSERVER_HAVE_RECORD 0
#undef LIBVNCSERVER_HAVE_LIBXTRAP
#define LIBVNCSERVER_HAVE_LIBXTRAP 0
#undef LIBVNCSERVER_HAVE_SOLARIS_XREADSCREEN
#define LIBVNCSERVER_HAVE_SOLARIS_XREADSCREEN 0
#undef LIBVNCSERVER_HAVE_IRIX_XREADDISPLAY
#define LIBVNCSERVER_HAVE_IRIX_XREADDISPLAY 0
#undef LIBVNCSERVER_HAVE_FBPM
#define LIBVNCSERVER_HAVE_FBPM 0
/* default keysyms */
#if 0
/* XXX go with the subset in rfb/keysym.h for now */
#define XK_MISCELLANY
#define XK_XKB_KEYS
#define XK_LATIN1
#define XK_LATIN2
#define XK_LATIN3
#define XK_LATIN4
#define XK_LATIN8
#define XK_LATIN9
#define XK_CAUCASUS
#define XK_GREEK
#define XK_KATAKANA
#define XK_ARABIC
#define XK_CYRILLIC
#define XK_HEBREW
#define XK_THAI
#define XK_KOREAN
#define XK_ARMENIAN
#define XK_GEORGIAN
#define XK_VIETNAMESE
#define XK_CURRENCY
#endif
/*
* $Xorg: X.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $
*/
/* Definitions for the X window system likely to be used by applications */
#ifndef X_H
#define X_H
/***********************************************************
Copyright 1987, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
All Rights Reserved
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 Digital not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
/* $XFree86: xc/include/X.h,v 1.5 2001/12/14 19:53:25 dawes Exp $ */
#define X_PROTOCOL 11 /* current protocol version */
#define X_PROTOCOL_REVISION 0 /* current minor version */
/* Resources */
/*
* _XSERVER64 must ONLY be defined when compiling X server sources on
* systems where unsigned long is not 32 bits, must NOT be used in
* client or library code.
*/
#ifndef _XSERVER64
# ifndef _XTYPEDEF_XID
# define _XTYPEDEF_XID
typedef unsigned long XID;
# endif
# ifndef _XTYPEDEF_MASK
# define _XTYPEDEF_MASK
typedef unsigned long Mask;
# endif
# ifndef _XTYPEDEF_ATOM
# define _XTYPEDEF_ATOM
typedef unsigned long Atom; /* Also in Xdefs.h */
# endif
typedef unsigned long VisualID;
typedef unsigned long Time;
#else
# include <X11/Xmd.h>
# ifndef _XTYPEDEF_XID
# define _XTYPEDEF_XID
typedef CARD32 XID;
# endif
# ifndef _XTYPEDEF_MASK
# define _XTYPEDEF_MASK
typedef CARD32 Mask;
# endif
# ifndef _XTYPEDEF_ATOM
# define _XTYPEDEF_ATOM
typedef CARD32 Atom;
# endif
typedef CARD32 VisualID;
typedef CARD32 Time;
#endif
typedef XID Window;
typedef XID Drawable;
#ifndef _XTYPEDEF_FONT
# define _XTYPEDEF_FONT
typedef XID Font;
#endif
typedef XID Pixmap;
typedef XID Cursor;
typedef XID Colormap;
typedef XID GContext;
typedef XID KeySym;
typedef unsigned char KeyCode;
/*****************************************************************
* RESERVED RESOURCE AND CONSTANT DEFINITIONS
*****************************************************************/
#ifndef None
#define None 0L /* universal null resource or null atom */
#endif
#define ParentRelative 1L /* background pixmap in CreateWindow
and ChangeWindowAttributes */
#define CopyFromParent 0L /* border pixmap in CreateWindow
and ChangeWindowAttributes
special VisualID and special window
class passed to CreateWindow */
#define PointerWindow 0L /* destination window in SendEvent */
#define InputFocus 1L /* destination window in SendEvent */
#define PointerRoot 1L /* focus window in SetInputFocus */
#define AnyPropertyType 0L /* special Atom, passed to GetProperty */
#define AnyKey 0L /* special Key Code, passed to GrabKey */
#define AnyButton 0L /* special Button Code, passed to GrabButton */
#define AllTemporary 0L /* special Resource ID passed to KillClient */
#define CurrentTime 0L /* special Time */
#define NoSymbol 0L /* special KeySym */
/*****************************************************************
* EVENT DEFINITIONS
*****************************************************************/
/* Input Event Masks. Used as event-mask window attribute and as arguments
to Grab requests. Not to be confused with event names. */
#define NoEventMask 0L
#define KeyPressMask (1L<<0)
#define KeyReleaseMask (1L<<1)
#define ButtonPressMask (1L<<2)
#define ButtonReleaseMask (1L<<3)
#define EnterWindowMask (1L<<4)
#define LeaveWindowMask (1L<<5)
#define PointerMotionMask (1L<<6)
#define PointerMotionHintMask (1L<<7)
#define Button1MotionMask (1L<<8)
#define Button2MotionMask (1L<<9)
#define Button3MotionMask (1L<<10)
#define Button4MotionMask (1L<<11)
#define Button5MotionMask (1L<<12)
#define ButtonMotionMask (1L<<13)
#define KeymapStateMask (1L<<14)
#define ExposureMask (1L<<15)
#define VisibilityChangeMask (1L<<16)
#define StructureNotifyMask (1L<<17)
#define ResizeRedirectMask (1L<<18)
#define SubstructureNotifyMask (1L<<19)
#define SubstructureRedirectMask (1L<<20)
#define FocusChangeMask (1L<<21)
#define PropertyChangeMask (1L<<22)
#define ColormapChangeMask (1L<<23)
#define OwnerGrabButtonMask (1L<<24)
/* Event names. Used in "type" field in XEvent structures. Not to be
confused with event masks above. They start from 2 because 0 and 1
are reserved in the protocol for errors and replies. */
#define KeyPress 2
#define KeyRelease 3
#define ButtonPress 4
#define ButtonRelease 5
#define MotionNotify 6
#define EnterNotify 7
#define LeaveNotify 8
#define FocusIn 9
#define FocusOut 10
#define KeymapNotify 11
#define Expose 12
#define GraphicsExpose 13
#define NoExpose 14
#define VisibilityNotify 15
#define CreateNotify 16
#define DestroyNotify 17
#define UnmapNotify 18
#define MapNotify 19
#define MapRequest 20
#define ReparentNotify 21
#define ConfigureNotify 22
#define ConfigureRequest 23
#define GravityNotify 24
#define ResizeRequest 25
#define CirculateNotify 26
#define CirculateRequest 27
#define PropertyNotify 28
#define SelectionClear 29
#define SelectionRequest 30
#define SelectionNotify 31
#define ColormapNotify 32
#define ClientMessage 33
#define MappingNotify 34
#define LASTEvent 35 /* must be bigger than any event # */
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
state in various key-, mouse-, and button-related events. */
#define ShiftMask (1<<0)
#define LockMask (1<<1)
#define ControlMask (1<<2)
#define Mod1Mask (1<<3)
#define Mod2Mask (1<<4)
#define Mod3Mask (1<<5)
#define Mod4Mask (1<<6)
#define Mod5Mask (1<<7)
/* modifier names. Used to build a SetModifierMapping request or
to read a GetModifierMapping request. These correspond to the
masks defined above. */
#define ShiftMapIndex 0
#define LockMapIndex 1
#define ControlMapIndex 2
#define Mod1MapIndex 3
#define Mod2MapIndex 4
#define Mod3MapIndex 5
#define Mod4MapIndex 6
#define Mod5MapIndex 7
/* button masks. Used in same manner as Key masks above. Not to be confused
with button names below. */
#define Button1Mask (1<<8)
#define Button2Mask (1<<9)
#define Button3Mask (1<<10)
#define Button4Mask (1<<11)
#define Button5Mask (1<<12)
#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */
/* button names. Used as arguments to GrabButton and as detail in ButtonPress
and ButtonRelease events. Not to be confused with button masks above.
Note that 0 is already defined above as "AnyButton". */
#define Button1 1
#define Button2 2
#define Button3 3
#define Button4 4
#define Button5 5
/* Notify modes */
#define NotifyNormal 0
#define NotifyGrab 1
#define NotifyUngrab 2
#define NotifyWhileGrabbed 3
#define NotifyHint 1 /* for MotionNotify events */
/* Notify detail */
#define NotifyAncestor 0
#define NotifyVirtual 1
#define NotifyInferior 2
#define NotifyNonlinear 3
#define NotifyNonlinearVirtual 4
#define NotifyPointer 5
#define NotifyPointerRoot 6
#define NotifyDetailNone 7
/* Visibility notify */
#define VisibilityUnobscured 0
#define VisibilityPartiallyObscured 1
#define VisibilityFullyObscured 2
/* Circulation request */
#define PlaceOnTop 0
#define PlaceOnBottom 1
/* protocol families */
#define FamilyInternet 0
#define FamilyDECnet 1
#define FamilyChaos 2
/* Property notification */
#define PropertyNewValue 0
#define PropertyDelete 1
/* Color Map notification */
#define ColormapUninstalled 0
#define ColormapInstalled 1
/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
#define GrabModeSync 0
#define GrabModeAsync 1
/* GrabPointer, GrabKeyboard reply status */
#define GrabSuccess 0
#define AlreadyGrabbed 1
#define GrabInvalidTime 2
#define GrabNotViewable 3
#define GrabFrozen 4
/* AllowEvents modes */
#define AsyncPointer 0
#define SyncPointer 1
#define ReplayPointer 2
#define AsyncKeyboard 3
#define SyncKeyboard 4
#define ReplayKeyboard 5
#define AsyncBoth 6
#define SyncBoth 7
/* Used in SetInputFocus, GetInputFocus */
#define RevertToNone (int)None
#define RevertToPointerRoot (int)PointerRoot
#define RevertToParent 2
/*****************************************************************
* ERROR CODES
*****************************************************************/
#define Success 0 /* everything's okay */
#define BadRequest 1 /* bad request code */
#define BadValue 2 /* int parameter out of range */
#define BadWindow 3 /* parameter not a Window */
#define BadPixmap 4 /* parameter not a Pixmap */
#define BadAtom 5 /* parameter not an Atom */
#define BadCursor 6 /* parameter not a Cursor */
#define BadFont 7 /* parameter not a Font */
#define BadMatch 8 /* parameter mismatch */
#define BadDrawable 9 /* parameter not a Pixmap or Window */
#define BadAccess 10 /* depending on context:
- key/button already grabbed
- attempt to free an illegal
cmap entry
- attempt to store into a read-only
color map entry.
- attempt to modify the access control
list from other than the local host.
*/
#define BadAlloc 11 /* insufficient resources */
#define BadColor 12 /* no such colormap */
#define BadGC 13 /* parameter not a GC */
#define BadIDChoice 14 /* choice not in range or already used */
#define BadName 15 /* font or color name doesn't exist */
#define BadLength 16 /* Request length incorrect */
#define BadImplementation 17 /* server is defective */
#define FirstExtensionError 128
#define LastExtensionError 255
/*****************************************************************
* WINDOW DEFINITIONS
*****************************************************************/
/* Window classes used by CreateWindow */
/* Note that CopyFromParent is already defined as 0 above */
#define InputOutput 1
#define InputOnly 2
/* Window attributes for CreateWindow and ChangeWindowAttributes */
#define CWBackPixmap (1L<<0)
#define CWBackPixel (1L<<1)
#define CWBorderPixmap (1L<<2)
#define CWBorderPixel (1L<<3)
#define CWBitGravity (1L<<4)
#define CWWinGravity (1L<<5)
#define CWBackingStore (1L<<6)
#define CWBackingPlanes (1L<<7)
#define CWBackingPixel (1L<<8)
#define CWOverrideRedirect (1L<<9)
#define CWSaveUnder (1L<<10)
#define CWEventMask (1L<<11)
#define CWDontPropagate (1L<<12)
#define CWColormap (1L<<13)
#define CWCursor (1L<<14)
/* ConfigureWindow structure */
#define CWX (1<<0)
#define CWY (1<<1)
#define CWWidth (1<<2)
#define CWHeight (1<<3)
#define CWBorderWidth (1<<4)
#define CWSibling (1<<5)
#define CWStackMode (1<<6)
/* Bit Gravity */
#define ForgetGravity 0
#define NorthWestGravity 1
#define NorthGravity 2
#define NorthEastGravity 3
#define WestGravity 4
#define CenterGravity 5
#define EastGravity 6
#define SouthWestGravity 7
#define SouthGravity 8
#define SouthEastGravity 9
#define StaticGravity 10
/* Window gravity + bit gravity above */
#define UnmapGravity 0
/* Used in CreateWindow for backing-store hint */
#define NotUseful 0
#define WhenMapped 1
#define Always 2
/* Used in GetWindowAttributes reply */
#define IsUnmapped 0
#define IsUnviewable 1
#define IsViewable 2
/* Used in ChangeSaveSet */
#define SetModeInsert 0
#define SetModeDelete 1
/* Used in ChangeCloseDownMode */
#define DestroyAll 0
#define RetainPermanent 1
#define RetainTemporary 2
/* Window stacking method (in configureWindow) */
#define Above 0
#define Below 1
#define TopIf 2
#define BottomIf 3
#define Opposite 4
/* Circulation direction */
#define RaiseLowest 0
#define LowerHighest 1
/* Property modes */
#define PropModeReplace 0
#define PropModePrepend 1
#define PropModeAppend 2
/*****************************************************************
* GRAPHICS DEFINITIONS
*****************************************************************/
/* graphics functions, as in GC.alu */
#define GXclear 0x0 /* 0 */
#define GXand 0x1 /* src AND dst */
#define GXandReverse 0x2 /* src AND NOT dst */
#define GXcopy 0x3 /* src */
#define GXandInverted 0x4 /* NOT src AND dst */
#define GXnoop 0x5 /* dst */
#define GXxor 0x6 /* src XOR dst */
#define GXor 0x7 /* src OR dst */
#define GXnor 0x8 /* NOT src AND NOT dst */
#define GXequiv 0x9 /* NOT src XOR dst */
#define GXinvert 0xa /* NOT dst */
#define GXorReverse 0xb /* src OR NOT dst */
#define GXcopyInverted 0xc /* NOT src */
#define GXorInverted 0xd /* NOT src OR dst */
#define GXnand 0xe /* NOT src OR NOT dst */
#define GXset 0xf /* 1 */
/* LineStyle */
#define LineSolid 0
#define LineOnOffDash 1
#define LineDoubleDash 2
/* capStyle */
#define CapNotLast 0
#define CapButt 1
#define CapRound 2
#define CapProjecting 3
/* joinStyle */
#define JoinMiter 0
#define JoinRound 1
#define JoinBevel 2
/* fillStyle */
#define FillSolid 0
#define FillTiled 1
#define FillStippled 2
#define FillOpaqueStippled 3
/* fillRule */
#define EvenOddRule 0
#define WindingRule 1
/* subwindow mode */
#define ClipByChildren 0
#define IncludeInferiors 1
/* SetClipRectangles ordering */
#define Unsorted 0
#define YSorted 1
#define YXSorted 2
#define YXBanded 3
/* CoordinateMode for drawing routines */
#define CoordModeOrigin 0 /* relative to the origin */
#define CoordModePrevious 1 /* relative to previous point */
/* Polygon shapes */
#define Complex 0 /* paths may intersect */
#define Nonconvex 1 /* no paths intersect, but not convex */
#define Convex 2 /* wholly convex */
/* Arc modes for PolyFillArc */
#define ArcChord 0 /* join endpoints of arc */
#define ArcPieSlice 1 /* join endpoints to center of arc */
/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
GC.stateChanges */
#define GCFunction (1L<<0)
#define GCPlaneMask (1L<<1)
#define GCForeground (1L<<2)
#define GCBackground (1L<<3)
#define GCLineWidth (1L<<4)
#define GCLineStyle (1L<<5)
#define GCCapStyle (1L<<6)
#define GCJoinStyle (1L<<7)
#define GCFillStyle (1L<<8)
#define GCFillRule (1L<<9)
#define GCTile (1L<<10)
#define GCStipple (1L<<11)
#define GCTileStipXOrigin (1L<<12)
#define GCTileStipYOrigin (1L<<13)
#define GCFont (1L<<14)
#define GCSubwindowMode (1L<<15)
#define GCGraphicsExposures (1L<<16)
#define GCClipXOrigin (1L<<17)
#define GCClipYOrigin (1L<<18)
#define GCClipMask (1L<<19)
#define GCDashOffset (1L<<20)
#define GCDashList (1L<<21)
#define GCArcMode (1L<<22)
#define GCLastBit 22
/*****************************************************************
* FONTS
*****************************************************************/
/* used in QueryFont -- draw direction */
#define FontLeftToRight 0
#define FontRightToLeft 1
#define FontChange 255
/*****************************************************************
* IMAGING
*****************************************************************/
/* ImageFormat -- PutImage, GetImage */
#define XYBitmap 0 /* depth 1, XYFormat */
#define XYPixmap 1 /* depth == drawable depth */
#define ZPixmap 2 /* depth == drawable depth */
/*****************************************************************
* COLOR MAP STUFF
*****************************************************************/
/* For CreateColormap */
#define AllocNone 0 /* create map with no entries */
#define AllocAll 1 /* allocate entire map writeable */
/* Flags used in StoreNamedColor, StoreColors */
#define DoRed (1<<0)
#define DoGreen (1<<1)
#define DoBlue (1<<2)
/*****************************************************************
* CURSOR STUFF
*****************************************************************/
/* QueryBestSize Class */
#define CursorShape 0 /* largest size that can be displayed */
#define TileShape 1 /* size tiled fastest */
#define StippleShape 2 /* size stippled fastest */
/*****************************************************************
* KEYBOARD/POINTER STUFF
*****************************************************************/
#define AutoRepeatModeOff 0
#define AutoRepeatModeOn 1
#define AutoRepeatModeDefault 2
#define LedModeOff 0
#define LedModeOn 1
/* masks for ChangeKeyboardControl */
#define KBKeyClickPercent (1L<<0)
#define KBBellPercent (1L<<1)
#define KBBellPitch (1L<<2)
#define KBBellDuration (1L<<3)
#define KBLed (1L<<4)
#define KBLedMode (1L<<5)
#define KBKey (1L<<6)
#define KBAutoRepeatMode (1L<<7)
#define MappingSuccess 0
#define MappingBusy 1
#define MappingFailed 2
#define MappingModifier 0
#define MappingKeyboard 1
#define MappingPointer 2
/*****************************************************************
* SCREEN SAVER STUFF
*****************************************************************/
#define DontPreferBlanking 0
#define PreferBlanking 1
#define DefaultBlanking 2
#define DisableScreenSaver 0
#define DisableScreenInterval 0
#define DontAllowExposures 0
#define AllowExposures 1
#define DefaultExposures 2
/* for ForceScreenSaver */
#define ScreenSaverReset 0
#define ScreenSaverActive 1
/*****************************************************************
* HOSTS AND CONNECTIONS
*****************************************************************/
/* for ChangeHosts */
#define HostInsert 0
#define HostDelete 1
/* for ChangeAccessControl */
#define EnableAccess 1
#define DisableAccess 0
/* Display classes used in opening the connection
* Note that the statically allocated ones are even numbered and the
* dynamically changeable ones are odd numbered */
#define StaticGray 0
#define GrayScale 1
#define StaticColor 2
#define PseudoColor 3
#define TrueColor 4
#define DirectColor 5
/* Byte order used in imageByteOrder and bitmapBitOrder */
#define LSBFirst 0
#define MSBFirst 1
#endif /* X_H */
/* $Xorg: Xlib.h,v 1.6 2001/02/09 02:03:38 xorgcvs Exp $ */
/*
Copyright 1985, 1986, 1987, 1991, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
/* $XFree86: xc/lib/X11/Xlib.h,v 3.23 2002/05/31 18:45:42 dawes Exp $ */
/*
* Xlib.h - Header definition and support file for the C subroutine
* interface library (Xlib) to the X Window System Protocol (V11).
* Structures and symbols starting with "_" are private to the library.
*/
#ifndef _XLIB_H_
#define _XLIB_H_
#define XlibSpecificationRelease 6
#ifdef USG
#ifndef __TYPES__
#include <sys/types.h> /* forgot to protect it... */
#define __TYPES__
#endif /* __TYPES__ */
#else
#if defined(_POSIX_SOURCE) && defined(MOTOROLA)
#undef _POSIX_SOURCE
#include <sys/types.h>
#define _POSIX_SOURCE
#else
#include <sys/types.h>
#endif
#endif /* USG */
#if 0
#include <X11/X.h>
/* applications should not depend on these two headers being included! */
#include <X11/Xfuncproto.h>
#include <X11/Xosdefs.h>
#endif /* if 0 */
#ifndef X_WCHAR
#ifdef X_NOT_STDC_ENV
#ifndef SCO324
#ifndef ISC
#define X_WCHAR
#endif
#endif
#endif
#endif
#ifndef X_WCHAR
#include <stddef.h>
#else
#ifdef __UNIXOS2__
#include <stdlib.h>
#else
/* replace this with #include or typedef appropriate for your system */
typedef unsigned long wchar_t;
#endif
#endif
#if defined(ISC) && defined(USE_XMBTOWC)
#define wctomb(a,b) _Xwctomb(a,b)
#define mblen(a,b) _Xmblen(a,b)
#ifndef USE_XWCHAR_STRING
#define mbtowc(a,b,c) _Xmbtowc(a,b,c)
#endif
#endif
/* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
November 2000. Its presence is indicated through the following macro. */
#define X_HAVE_UTF8_STRING 1
typedef char *XPointer;
#define Bool int
#define Status int
#define True 1
#define False 0
#define QueuedAlready 0
#define QueuedAfterReading 1
#define QueuedAfterFlush 2
#define ConnectionNumber(dpy) (((_XPrivDisplay)dpy)->fd)
#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root)
#define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen)
#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)
#define DefaultGC(dpy, scr) (ScreenOfDisplay(dpy,scr)->default_gc)
#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel)
#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel)
#define AllPlanes ((unsigned long)~0L)
#define QLength(dpy) (((_XPrivDisplay)dpy)->qlen)
#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width)
#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)
#define DisplayWidthMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mwidth)
#define DisplayHeightMM(dpy, scr)(ScreenOfDisplay(dpy,scr)->mheight)
#define DisplayPlanes(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
#define DisplayCells(dpy, scr) (DefaultVisual(dpy,scr)->map_entries)
#define ScreenCount(dpy) (((_XPrivDisplay)dpy)->nscreens)
#define ServerVendor(dpy) (((_XPrivDisplay)dpy)->vendor)
#define ProtocolVersion(dpy) (((_XPrivDisplay)dpy)->proto_major_version)
#define ProtocolRevision(dpy) (((_XPrivDisplay)dpy)->proto_minor_version)
#define VendorRelease(dpy) (((_XPrivDisplay)dpy)->release)
#define DisplayString(dpy) (((_XPrivDisplay)dpy)->display_name)
#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)
#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)
#define BitmapUnit(dpy) (((_XPrivDisplay)dpy)->bitmap_unit)
#define BitmapBitOrder(dpy) (((_XPrivDisplay)dpy)->bitmap_bit_order)
#define BitmapPad(dpy) (((_XPrivDisplay)dpy)->bitmap_pad)
#define ImageByteOrder(dpy) (((_XPrivDisplay)dpy)->byte_order)
#ifdef CRAY /* unable to get WORD64 without pulling in other symbols */
#define NextRequest(dpy) XNextRequest(dpy)
#else
#define NextRequest(dpy) (((_XPrivDisplay)dpy)->request + 1)
#endif
#define LastKnownRequestProcessed(dpy) (((_XPrivDisplay)dpy)->last_request_read)
/* macros for screen oriented applications (toolkit) */
#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])
#define DefaultScreenOfDisplay(dpy) ScreenOfDisplay(dpy,DefaultScreen(dpy))
#define DisplayOfScreen(s) ((s)->display)
#define RootWindowOfScreen(s) ((s)->root)
#define BlackPixelOfScreen(s) ((s)->black_pixel)
#define WhitePixelOfScreen(s) ((s)->white_pixel)
#define DefaultColormapOfScreen(s)((s)->cmap)
#define DefaultDepthOfScreen(s) ((s)->root_depth)
#define DefaultGCOfScreen(s) ((s)->default_gc)
#define DefaultVisualOfScreen(s)((s)->root_visual)
#define WidthOfScreen(s) ((s)->width)
#define HeightOfScreen(s) ((s)->height)
#define WidthMMOfScreen(s) ((s)->mwidth)
#define HeightMMOfScreen(s) ((s)->mheight)
#define PlanesOfScreen(s) ((s)->root_depth)
#define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries)
#define MinCmapsOfScreen(s) ((s)->min_maps)
#define MaxCmapsOfScreen(s) ((s)->max_maps)
#define DoesSaveUnders(s) ((s)->save_unders)
#define DoesBackingStore(s) ((s)->backing_store)
#define EventMaskOfScreen(s) ((s)->root_input_mask)
/*
* Extensions need a way to hang private data on some structures.
*/
typedef struct _XExtData {
int number; /* number returned by XRegisterExtension */
struct _XExtData *next; /* next item on list of data for structure */
int (*free_private)( /* called to free private storage */
#if NeedFunctionPrototypes
struct _XExtData *extension
#endif
);
XPointer private_data; /* data private to this extension. */
} XExtData;
/*
* This file contains structures used by the extension mechanism.
*/
typedef struct { /* public to extension, cannot be changed */
int extension; /* extension number */
int major_opcode; /* major op-code assigned by server */
int first_event; /* first event number for the extension */
int first_error; /* first error number for the extension */
} XExtCodes;
/*
* Data structure for retrieving info about pixmap formats.
*/
typedef struct {
int depth;
int bits_per_pixel;
int scanline_pad;
} XPixmapFormatValues;
/*
* Data structure for setting graphics context.
*/
typedef struct {
int function; /* logical operation */
unsigned long plane_mask;/* plane mask */
unsigned long foreground;/* foreground pixel */
unsigned long background;/* background pixel */
int line_width; /* line width */
int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */
int cap_style; /* CapNotLast, CapButt,
CapRound, CapProjecting */
int join_style; /* JoinMiter, JoinRound, JoinBevel */
int fill_style; /* FillSolid, FillTiled,
FillStippled, FillOpaeueStippled */
int fill_rule; /* EvenOddRule, WindingRule */
int arc_mode; /* ArcChord, ArcPieSlice */
Pixmap tile; /* tile pixmap for tiling operations */
Pixmap stipple; /* stipple 1 plane pixmap for stipping */
int ts_x_origin; /* offset for tile or stipple operations */
int ts_y_origin;
Font font; /* default text font for text operations */
int subwindow_mode; /* ClipByChildren, IncludeInferiors */
Bool graphics_exposures;/* boolean, should exposures be generated */
int clip_x_origin; /* origin for clipping */
int clip_y_origin;
Pixmap clip_mask; /* bitmap clipping; other calls for rects */
int dash_offset; /* patterned/dashed line information */
char dashes;
} XGCValues;
/*
* Graphics context. The contents of this structure are implementation
* dependent. A GC should be treated as opaque by application code.
*/
typedef struct _XGC
#ifdef XLIB_ILLEGAL_ACCESS
{
XExtData *ext_data; /* hook for extension to hang data */
GContext gid; /* protocol ID for graphics context */
/* there is more to this structure, but it is private to Xlib */
}
#endif
*GC;
/*
* Visual structure; contains information about colormapping possible.
*/
typedef struct {
XExtData *ext_data; /* hook for extension to hang data */
VisualID visualid; /* visual id of this visual */
#if defined(__cplusplus) || defined(c_plusplus)
int c_class; /* C++ class of screen (monochrome, etc.) */
#else
int class; /* class of screen (monochrome, etc.) */
#endif
unsigned long red_mask, green_mask, blue_mask; /* mask values */
int bits_per_rgb; /* log base 2 of distinct color values */
int map_entries; /* color map entries */
} Visual;
/*
* Depth structure; contains information for each possible depth.
*/
typedef struct {
int depth; /* this depth (Z) of the depth */
int nvisuals; /* number of Visual types at this depth */
Visual *visuals; /* list of visuals possible at this depth */
} Depth;
/*
* Information about the screen. The contents of this structure are
* implementation dependent. A Screen should be treated as opaque
* by application code.
*/
struct _XDisplay; /* Forward declare before use for C++ */
typedef struct {
XExtData *ext_data; /* hook for extension to hang data */
struct _XDisplay *display;/* back pointer to display structure */
Window root; /* Root window id. */
int width, height; /* width and height of screen */
int mwidth, mheight; /* width and height of in millimeters */
int ndepths; /* number of depths possible */
Depth *depths; /* list of allowable depths on the screen */
int root_depth; /* bits per pixel */
Visual *root_visual; /* root visual */
GC default_gc; /* GC for the root root visual */
Colormap cmap; /* default color map */
unsigned long white_pixel;
unsigned long black_pixel; /* White and Black pixel values */
int max_maps, min_maps; /* max and min color maps */
int backing_store; /* Never, WhenMapped, Always */
Bool save_unders;
long root_input_mask; /* initial root input mask */
} Screen;
/*
* Format structure; describes ZFormat data the screen will understand.
*/
typedef struct {
XExtData *ext_data; /* hook for extension to hang data */
int depth; /* depth of this image format */
int bits_per_pixel; /* bits/pixel at this depth */
int scanline_pad; /* scanline must padded to this multiple */
} ScreenFormat;
/*
* Data structure for setting window attributes.
*/
typedef struct {
Pixmap background_pixmap; /* background or None or ParentRelative */
unsigned long background_pixel; /* background pixel */
Pixmap border_pixmap; /* border of the window */
unsigned long border_pixel; /* border pixel value */
int bit_gravity; /* one of bit gravity values */
int win_gravity; /* one of the window gravity values */
int backing_store; /* NotUseful, WhenMapped, Always */
unsigned long backing_planes;/* planes to be preseved if possible */
unsigned long backing_pixel;/* value to use in restoring planes */
Bool save_under; /* should bits under be saved? (popups) */
long event_mask; /* set of events that should be saved */
long do_not_propagate_mask; /* set of events that should not propagate */
Bool override_redirect; /* boolean value for override-redirect */
Colormap colormap; /* color map to be associated with window */
Cursor cursor; /* cursor to be displayed (or None) */
} XSetWindowAttributes;
typedef struct {
int x, y; /* location of window */
int width, height; /* width and height of window */
int border_width; /* border width of window */
int depth; /* depth of window */
Visual *visual; /* the associated visual structure */
Window root; /* root of screen containing window */
#if defined(__cplusplus) || defined(c_plusplus)
int c_class; /* C++ InputOutput, InputOnly*/
#else
int class; /* InputOutput, InputOnly*/
#endif
int bit_gravity; /* one of bit gravity values */
int win_gravity; /* one of the window gravity values */
int backing_store; /* NotUseful, WhenMapped, Always */
unsigned long backing_planes;/* planes to be preserved if possible */
unsigned long backing_pixel;/* value to be used when restoring planes */
Bool save_under; /* boolean, should bits under be saved? */
Colormap colormap; /* color map to be associated with window */
Bool map_installed; /* boolean, is color map currently installed*/
int map_state; /* IsUnmapped, IsUnviewable, IsViewable */
long all_event_masks; /* set of events all people have interest in*/
long your_event_mask; /* my event mask */
long do_not_propagate_mask; /* set of events that should not propagate */
Bool override_redirect; /* boolean value for override-redirect */
Screen *screen; /* back pointer to correct screen */
} XWindowAttributes;
/*
* Data structure for host setting; getting routines.
*
*/
typedef struct {
int family; /* for example FamilyInternet */
int length; /* length of address, in bytes */
char *address; /* pointer to where to find the bytes */
} XHostAddress;
/*
* Data structure for "image" data, used by image manipulation routines.
*/
typedef struct _XImage {
int width, height; /* size of image */
int xoffset; /* number of pixels offset in X direction */
int format; /* XYBitmap, XYPixmap, ZPixmap */
char *data; /* pointer to image data */
int byte_order; /* data byte order, LSBFirst, MSBFirst */
int bitmap_unit; /* quant. of scanline 8, 16, 32 */
int bitmap_bit_order; /* LSBFirst, MSBFirst */
int bitmap_pad; /* 8, 16, 32 either XY or ZPixmap */
int depth; /* depth of image */
int bytes_per_line; /* accelarator to next line */
int bits_per_pixel; /* bits per pixel (ZPixmap) */
unsigned long red_mask; /* bits in z arrangment */
unsigned long green_mask;
unsigned long blue_mask;
XPointer obdata; /* hook for the object routines to hang on */
struct funcs { /* image manipulation routines */
#if NeedFunctionPrototypes
struct _XImage *(*create_image)(
struct _XDisplay* /* 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 */);
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
struct _XImage *(*create_image)();
int (*destroy_image)();
unsigned long (*get_pixel)();
int (*put_pixel)();
struct _XImage *(*sub_image)();
int (*add_pixel)();
#endif
} f;
} XImage;
/*
* Data structure for XReconfigureWindow
*/
typedef struct {
int x, y;
int width, height;
int border_width;
Window sibling;
int stack_mode;
} XWindowChanges;
/*
* Data structure used by color operations
*/
typedef struct {
unsigned long pixel;
unsigned short red, green, blue;
char flags; /* do_red, do_green, do_blue */
char pad;
} XColor;
/*
* Data structures for graphics operations. On most machines, these are
* congruent with the wire protocol structures, so reformatting the data
* can be avoided on these architectures.
*/
typedef struct {
short x1, y1, x2, y2;
} XSegment;
typedef struct {
short x, y;
} XPoint;
typedef struct {
short x, y;
unsigned short width, height;
} XRectangle;
typedef struct {
short x, y;
unsigned short width, height;
short angle1, angle2;
} XArc;
/* Data structure for XChangeKeyboardControl */
typedef struct {
int key_click_percent;
int bell_percent;
int bell_pitch;
int bell_duration;
int led;
int led_mode;
int key;
int auto_repeat_mode; /* On, Off, Default */
} XKeyboardControl;
/* Data structure for XGetKeyboardControl */
typedef struct {
int key_click_percent;
int bell_percent;
unsigned int bell_pitch, bell_duration;
unsigned long led_mask;
int global_auto_repeat;
char auto_repeats[32];
} XKeyboardState;
/* Data structure for XGetMotionEvents. */
typedef struct {
Time time;
short x, y;
} XTimeCoord;
/* Data structure for X{Set,Get}ModifierMapping */
typedef struct {
int max_keypermod; /* The server's max # of keys per modifier */
KeyCode *modifiermap; /* An 8 by max_keypermod array of modifiers */
} XModifierKeymap;
/*
* Display datatype maintaining display specific data.
* The contents of this structure are implementation dependent.
* A Display should be treated as opaque by application code.
*/
#ifndef XLIB_ILLEGAL_ACCESS
typedef struct _XDisplay Display;
#endif
struct _XPrivate; /* Forward declare before use for C++ */
struct _XrmHashBucketRec;
typedef struct
#ifdef XLIB_ILLEGAL_ACCESS
_XDisplay
#endif
{
XExtData *ext_data; /* hook for extension to hang data */
struct _XPrivate *private1;
int fd; /* Network socket. */
int private2;
int proto_major_version;/* major version of server's X protocol */
int proto_minor_version;/* minor version of servers X protocol */
char *vendor; /* vendor of the server hardware */
XID private3;
XID private4;
XID private5;
int private6;
XID (*resource_alloc)( /* allocator function */
#if NeedFunctionPrototypes
struct _XDisplay*
#endif
);
int byte_order; /* screen byte order, LSBFirst, MSBFirst */
int bitmap_unit; /* padding and data requirements */
int bitmap_pad; /* padding requirements on bitmaps */
int bitmap_bit_order; /* LeastSignificant or MostSignificant */
int nformats; /* number of pixmap formats in list */
ScreenFormat *pixmap_format; /* pixmap format list */
int private8;
int release; /* release of the server */
struct _XPrivate *private9, *private10;
int qlen; /* Length of input event queue */
unsigned long last_request_read; /* seq number of last event read */
unsigned long request; /* sequence number of last request. */
XPointer private11;
XPointer private12;
XPointer private13;
XPointer private14;
unsigned max_request_size; /* maximum number 32 bit words in request*/
struct _XrmHashBucketRec *db;
int (*private15)(
#if NeedFunctionPrototypes
struct _XDisplay*
#endif
);
char *display_name; /* "host:display" string used on this connect*/
int default_screen; /* default screen for operations */
int nscreens; /* number of screens on this server*/
Screen *screens; /* pointer to list of screens */
unsigned long motion_buffer; /* size of motion buffer */
unsigned long private16;
int min_keycode; /* minimum defined keycode */
int max_keycode; /* maximum defined keycode */
XPointer private17;
XPointer private18;
int private19;
char *xdefaults; /* contents of defaults from server */
/* there is more to this structure, but it is private to Xlib */
}
#ifdef XLIB_ILLEGAL_ACCESS
Display,
#endif
*_XPrivDisplay;
#if NeedFunctionPrototypes /* prototypes require event type definitions */
#undef _XEVENT_
#endif
#ifndef _XEVENT_
/*
* Definitions of specific events.
*/
typedef struct {
int type; /* of event */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window; /* "event" window it is reported relative to */
Window root; /* root window that the event occurred on */
Window subwindow; /* child window */
Time time; /* milliseconds */
int x, y; /* pointer x, y coordinates in event window */
int x_root, y_root; /* coordinates relative to root */
unsigned int state; /* key or button mask */
unsigned int keycode; /* detail */
Bool same_screen; /* same screen flag */
} XKeyEvent;
typedef XKeyEvent XKeyPressedEvent;
typedef XKeyEvent XKeyReleasedEvent;
typedef struct {
int type; /* of event */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window; /* "event" window it is reported relative to */
Window root; /* root window that the event occurred 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 occurred 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 occurred on */
Window subwindow; /* child window */
Time time; /* milliseconds */
int x, y; /* pointer x, y coordinates in event window */
int x_root, y_root; /* coordinates relative to root */
int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */
int detail;
/*
* NotifyAncestor, NotifyVirtual, NotifyInferior,
* NotifyNonlinear,NotifyNonlinearVirtual
*/
Bool same_screen; /* same screen flag */
Bool focus; /* boolean focus */
unsigned int state; /* key or button mask */
} XCrossingEvent;
typedef XCrossingEvent XEnterWindowEvent;
typedef XCrossingEvent XLeaveWindowEvent;
typedef struct {
int type; /* FocusIn or FocusOut */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window; /* window of event */
int mode; /* NotifyNormal, NotifyGrab, NotifyUngrab */
int detail;
/*
* NotifyAncestor, NotifyVirtual, NotifyInferior,
* NotifyNonlinear,NotifyNonlinearVirtual, NotifyPointer,
* NotifyPointerRoot, NotifyDetailNone
*/
} XFocusChangeEvent;
typedef XFocusChangeEvent XFocusInEvent;
typedef XFocusChangeEvent XFocusOutEvent;
/* generated on EnterWindow and FocusIn when KeyMapState selected */
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window;
char key_vector[32];
} XKeymapEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window;
int x, y;
int width, height;
int count; /* if non-zero, at least this many more */
} XExposeEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Drawable drawable;
int x, y;
int width, height;
int count; /* if non-zero, at least this many more */
int major_code; /* core is CopyArea or CopyPlane */
int minor_code; /* not defined in the core */
} XGraphicsExposeEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Drawable drawable;
int major_code; /* core is CopyArea or CopyPlane */
int minor_code; /* not defined in the core */
} XNoExposeEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window;
int state; /* Visibility state */
} XVisibilityEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window parent; /* parent of the window */
Window window; /* window id of window created */
int x, y; /* window location */
int width, height; /* size of window */
int border_width; /* border width */
Bool override_redirect; /* creation should be overridden */
} XCreateWindowEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window event;
Window window;
} XDestroyWindowEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window event;
Window window;
Bool from_configure;
} XUnmapEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window event;
Window window;
Bool override_redirect; /* boolean, is override set... */
} XMapEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window parent;
Window window;
} XMapRequestEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window event;
Window window;
Window parent;
int x, y;
Bool override_redirect;
} XReparentEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window event;
Window window;
int x, y;
int width, height;
int border_width;
Window above;
Bool override_redirect;
} XConfigureEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window event;
Window window;
int x, y;
} XGravityEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window;
int width, height;
} XResizeRequestEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window parent;
Window window;
int x, y;
int width, height;
int border_width;
Window above;
int detail; /* Above, Below, TopIf, BottomIf, Opposite */
unsigned long value_mask;
} XConfigureRequestEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window event;
Window window;
int place; /* PlaceOnTop, PlaceOnBottom */
} XCirculateEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window parent;
Window window;
int place; /* PlaceOnTop, PlaceOnBottom */
} XCirculateRequestEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window;
Atom atom;
Time time;
int state; /* NewValue, Deleted */
} XPropertyEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window;
Atom selection;
Time time;
} XSelectionClearEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window owner;
Window requestor;
Atom selection;
Atom target;
Atom property;
Time time;
} XSelectionRequestEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window requestor;
Atom selection;
Atom target;
Atom property; /* ATOM or None */
Time time;
} XSelectionEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window;
Colormap colormap; /* COLORMAP or None */
#if defined(__cplusplus) || defined(c_plusplus)
Bool c_new; /* C++ */
#else
Bool new;
#endif
int state; /* ColormapInstalled, ColormapUninstalled */
} XColormapEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window;
Atom message_type;
int format;
union {
char b[20];
short s[10];
long l[5];
} data;
} XClientMessageEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
Window window; /* unused */
int request; /* one of MappingModifier, MappingKeyboard,
MappingPointer */
int first_keycode; /* first keycode */
int count; /* defines range of change w. first_keycode*/
} XMappingEvent;
typedef struct {
int type;
Display *display; /* Display the event was read from */
XID resourceid; /* resource id */
unsigned long serial; /* serial number of failed request */
unsigned char error_code; /* error code of failed request */
unsigned char request_code; /* Major op-code of failed request */
unsigned char minor_code; /* Minor op-code of failed request */
} XErrorEvent;
typedef struct {
int type;
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display;/* Display the event was read from */
Window window; /* window on which event was requested in event mask */
} XAnyEvent;
/*
* this union is defined so Xlib can always use the same sized
* event structure internally, to avoid memory fragmentation.
*/
typedef union _XEvent {
int type; /* must not be changed; first element */
XAnyEvent xany;
XKeyEvent xkey;
XButtonEvent xbutton;
XMotionEvent xmotion;
XCrossingEvent xcrossing;
XFocusChangeEvent xfocus;
XExposeEvent xexpose;
XGraphicsExposeEvent xgraphicsexpose;
XNoExposeEvent xnoexpose;
XVisibilityEvent xvisibility;
XCreateWindowEvent xcreatewindow;
XDestroyWindowEvent xdestroywindow;
XUnmapEvent xunmap;
XMapEvent xmap;
XMapRequestEvent xmaprequest;
XReparentEvent xreparent;
XConfigureEvent xconfigure;
XGravityEvent xgravity;
XResizeRequestEvent xresizerequest;
XConfigureRequestEvent xconfigurerequest;
XCirculateEvent xcirculate;
XCirculateRequestEvent xcirculaterequest;
XPropertyEvent xproperty;
XSelectionClearEvent xselectionclear;
XSelectionRequestEvent xselectionrequest;
XSelectionEvent xselection;
XColormapEvent xcolormap;
XClientMessageEvent xclient;
XMappingEvent xmapping;
XErrorEvent xerror;
XKeymapEvent xkeymap;
long pad[24];
} XEvent;
#endif
#define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
/*
* per character font metric information.
*/
typedef struct {
short lbearing; /* origin to left edge of raster */
short rbearing; /* origin to right edge of raster */
short width; /* advance to next char's origin */
short ascent; /* baseline to top edge of raster */
short descent; /* baseline to bottom edge of raster */
unsigned short attributes; /* per char flags (not predefined) */
} XCharStruct;
/*
* To allow arbitrary information with fonts, there are additional properties
* returned.
*/
typedef struct {
Atom name;
unsigned long card32;
} XFontProp;
typedef struct {
XExtData *ext_data; /* hook for extension to hang data */
Font fid; /* Font id for this font */
unsigned direction; /* hint about direction the font is painted */
unsigned min_char_or_byte2;/* first character */
unsigned max_char_or_byte2;/* last character */
unsigned min_byte1; /* first row that exists */
unsigned max_byte1; /* last row that exists */
Bool all_chars_exist;/* flag if all characters have non-zero size*/
unsigned default_char; /* char to print for undefined character */
int n_properties; /* how many properties there are */
XFontProp *properties; /* pointer to array of additional properties*/
XCharStruct min_bounds; /* minimum bounds over all existing char*/
XCharStruct max_bounds; /* maximum bounds over all existing char*/
XCharStruct *per_char; /* first_char to last_char information */
int ascent; /* log. extent above baseline for spacing */
int descent; /* log. descent below baseline for spacing */
} XFontStruct;
/*
* PolyText routines take these as arguments.
*/
typedef struct {
char *chars; /* pointer to string */
int nchars; /* number of characters */
int delta; /* delta between strings */
Font font; /* font to print it in, None don't change */
} XTextItem;
typedef struct { /* normal 16 bit characters are two bytes */
unsigned char byte1;
unsigned char byte2;
} XChar2b;
typedef struct {
XChar2b *chars; /* two byte characters */
int nchars; /* number of characters */
int delta; /* delta between strings */
Font font; /* font to print it in, None don't change */
} XTextItem16;
typedef union { Display *display;
GC gc;
Visual *visual;
Screen *screen;
ScreenFormat *pixmap_format;
XFontStruct *font; } XEDataObject;
typedef struct {
XRectangle max_ink_extent;
XRectangle max_logical_extent;
} XFontSetExtents;
/* unused:
typedef void (*XOMProc)();
*/
typedef struct _XOM *XOM;
typedef struct _XOC *XOC, *XFontSet;
typedef struct {
char *chars;
int nchars;
int delta;
XFontSet font_set;
} XmbTextItem;
typedef struct {
wchar_t *chars;
int nchars;
int delta;
XFontSet font_set;
} XwcTextItem;
#define XNRequiredCharSet "requiredCharSet"
#define XNQueryOrientation "queryOrientation"
#define XNBaseFontName "baseFontName"
#define XNOMAutomatic "omAutomatic"
#define XNMissingCharSet "missingCharSet"
#define XNDefaultString "defaultString"
#define XNOrientation "orientation"
#define XNDirectionalDependentDrawing "directionalDependentDrawing"
#define XNContextualDrawing "contextualDrawing"
#define XNFontInfo "fontInfo"
typedef struct {
int charset_count;
char **charset_list;
} XOMCharSetList;
typedef enum {
XOMOrientation_LTR_TTB,
XOMOrientation_RTL_TTB,
XOMOrientation_TTB_LTR,
XOMOrientation_TTB_RTL,
XOMOrientation_Context
} XOrientation;
typedef struct {
int num_orientation;
XOrientation *orientation; /* Input Text description */
} XOMOrientation;
typedef struct {
int num_font;
XFontStruct **font_struct_list;
char **font_name_list;
} XOMFontInfo;
typedef struct _XIM *XIM;
typedef struct _XIC *XIC;
typedef void (*XIMProc)(
#if NeedFunctionPrototypes
XIM,
XPointer,
XPointer
#endif
);
typedef Bool (*XICProc)(
#if NeedFunctionPrototypes
XIC,
XPointer,
XPointer
#endif
);
typedef void (*XIDProc)(
#if NeedFunctionPrototypes
Display*,
XPointer,
XPointer
#endif
);
typedef unsigned long XIMStyle;
typedef struct {
unsigned short count_styles;
XIMStyle *supported_styles;
} XIMStyles;
#define XIMPreeditArea 0x0001L
#define XIMPreeditCallbacks 0x0002L
#define XIMPreeditPosition 0x0004L
#define XIMPreeditNothing 0x0008L
#define XIMPreeditNone 0x0010L
#define XIMStatusArea 0x0100L
#define XIMStatusCallbacks 0x0200L
#define XIMStatusNothing 0x0400L
#define XIMStatusNone 0x0800L
#define XNVaNestedList "XNVaNestedList"
#define XNQueryInputStyle "queryInputStyle"
#define XNClientWindow "clientWindow"
#define XNInputStyle "inputStyle"
#define XNFocusWindow "focusWindow"
#define XNResourceName "resourceName"
#define XNResourceClass "resourceClass"
#define XNGeometryCallback "geometryCallback"
#define XNDestroyCallback "destroyCallback"
#define XNFilterEvents "filterEvents"
#define XNPreeditStartCallback "preeditStartCallback"
#define XNPreeditDoneCallback "preeditDoneCallback"
#define XNPreeditDrawCallback "preeditDrawCallback"
#define XNPreeditCaretCallback "preeditCaretCallback"
#define XNPreeditStateNotifyCallback "preeditStateNotifyCallback"
#define XNPreeditAttributes "preeditAttributes"
#define XNStatusStartCallback "statusStartCallback"
#define XNStatusDoneCallback "statusDoneCallback"
#define XNStatusDrawCallback "statusDrawCallback"
#define XNStatusAttributes "statusAttributes"
#define XNArea "area"
#define XNAreaNeeded "areaNeeded"
#define XNSpotLocation "spotLocation"
#define XNColormap "colorMap"
#define XNStdColormap "stdColorMap"
#define XNForeground "foreground"
#define XNBackground "background"
#define XNBackgroundPixmap "backgroundPixmap"
#define XNFontSet "fontSet"
#define XNLineSpace "lineSpace"
#define XNCursor "cursor"
#define XNQueryIMValuesList "queryIMValuesList"
#define XNQueryICValuesList "queryICValuesList"
#define XNVisiblePosition "visiblePosition"
#define XNR6PreeditCallback "r6PreeditCallback"
#define XNStringConversionCallback "stringConversionCallback"
#define XNStringConversion "stringConversion"
#define XNResetState "resetState"
#define XNHotKey "hotKey"
#define XNHotKeyState "hotKeyState"
#define XNPreeditState "preeditState"
#define XNSeparatorofNestedList "separatorofNestedList"
#define XBufferOverflow -1
#define XLookupNone 1
#define XLookupChars 2
#define XLookupKeySym 3
#define XLookupBoth 4
#if NeedFunctionPrototypes
typedef void *XVaNestedList;
#else
typedef XPointer XVaNestedList;
#endif
typedef struct {
XPointer client_data;
XIMProc callback;
} XIMCallback;
typedef struct {
XPointer client_data;
XICProc callback;
} XICCallback;
typedef unsigned long XIMFeedback;
#define XIMReverse 1L
#define XIMUnderline (1L<<1)
#define XIMHighlight (1L<<2)
#define XIMPrimary (1L<<5)
#define XIMSecondary (1L<<6)
#define XIMTertiary (1L<<7)
#define XIMVisibleToForward (1L<<8)
#define XIMVisibleToBackword (1L<<9)
#define XIMVisibleToCenter (1L<<10)
typedef struct _XIMText {
unsigned short length;
XIMFeedback *feedback;
Bool encoding_is_wchar;
union {
char *multi_byte;
wchar_t *wide_char;
} string;
} XIMText;
typedef unsigned long XIMPreeditState;
#define XIMPreeditUnKnown 0L
#define XIMPreeditEnable 1L
#define XIMPreeditDisable (1L<<1)
typedef struct _XIMPreeditStateNotifyCallbackStruct {
XIMPreeditState state;
} XIMPreeditStateNotifyCallbackStruct;
typedef unsigned long XIMResetState;
#define XIMInitialState 1L
#define XIMPreserveState (1L<<1)
typedef unsigned long XIMStringConversionFeedback;
#define XIMStringConversionLeftEdge (0x00000001)
#define XIMStringConversionRightEdge (0x00000002)
#define XIMStringConversionTopEdge (0x00000004)
#define XIMStringConversionBottomEdge (0x00000008)
#define XIMStringConversionConcealed (0x00000010)
#define XIMStringConversionWrapped (0x00000020)
typedef struct _XIMStringConversionText {
unsigned short length;
XIMStringConversionFeedback *feedback;
Bool encoding_is_wchar;
union {
char *mbs;
wchar_t *wcs;
} string;
} XIMStringConversionText;
typedef unsigned short XIMStringConversionPosition;
typedef unsigned short XIMStringConversionType;
#define XIMStringConversionBuffer (0x0001)
#define XIMStringConversionLine (0x0002)
#define XIMStringConversionWord (0x0003)
#define XIMStringConversionChar (0x0004)
typedef unsigned short XIMStringConversionOperation;
#define XIMStringConversionSubstitution (0x0001)
#define XIMStringConversionRetrieval (0x0002)
typedef enum {
XIMForwardChar, XIMBackwardChar,
XIMForwardWord, XIMBackwardWord,
XIMCaretUp, XIMCaretDown,
XIMNextLine, XIMPreviousLine,
XIMLineStart, XIMLineEnd,
XIMAbsolutePosition,
XIMDontChange
} XIMCaretDirection;
typedef struct _XIMStringConversionCallbackStruct {
XIMStringConversionPosition position;
XIMCaretDirection direction;
XIMStringConversionOperation operation;
unsigned short factor;
XIMStringConversionText *text;
} XIMStringConversionCallbackStruct;
typedef struct _XIMPreeditDrawCallbackStruct {
int caret; /* Cursor offset within pre-edit string */
int chg_first; /* Starting change position */
int chg_length; /* Length of the change in character count */
XIMText *text;
} XIMPreeditDrawCallbackStruct;
typedef enum {
XIMIsInvisible, /* Disable caret feedback */
XIMIsPrimary, /* UI defined caret feedback */
XIMIsSecondary /* UI defined caret feedback */
} XIMCaretStyle;
typedef struct _XIMPreeditCaretCallbackStruct {
int position; /* Caret offset within pre-edit string */
XIMCaretDirection direction; /* Caret moves direction */
XIMCaretStyle style; /* Feedback of the caret */
} XIMPreeditCaretCallbackStruct;
typedef enum {
XIMTextType,
XIMBitmapType
} XIMStatusDataType;
typedef struct _XIMStatusDrawCallbackStruct {
XIMStatusDataType type;
union {
XIMText *text;
Pixmap bitmap;
} data;
} XIMStatusDrawCallbackStruct;
typedef struct _XIMHotKeyTrigger {
KeySym keysym;
int modifier;
int modifier_mask;
} XIMHotKeyTrigger;
typedef struct _XIMHotKeyTriggers {
int num_hot_key;
XIMHotKeyTrigger *key;
} XIMHotKeyTriggers;
typedef unsigned long XIMHotKeyState;
#define XIMHotKeyStateON (0x0001L)
#define XIMHotKeyStateOFF (0x0002L)
typedef struct {
unsigned short count_values;
char **supported_values;
} XIMValuesList;
#if 0
_XFUNCPROTOBEGIN
#if defined(WIN32) && !defined(_XLIBINT_)
#define _Xdebug (*_Xdebug_p)
#endif
extern int _Xdebug;
extern XFontStruct *XLoadQueryFont(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* name */
#endif
);
extern XFontStruct *XQueryFont(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* font_ID */
#endif
);
extern XTimeCoord *XGetMotionEvents(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Time /* start */,
Time /* stop */,
int* /* nevents_return */
#endif
);
extern XModifierKeymap *XDeleteModifiermapEntry(
#if NeedFunctionPrototypes
XModifierKeymap* /* modmap */,
#if NeedWidePrototypes
unsigned int /* keycode_entry */,
#else
KeyCode /* keycode_entry */,
#endif
int /* modifier */
#endif
);
extern XModifierKeymap *XGetModifierMapping(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern XModifierKeymap *XInsertModifiermapEntry(
#if NeedFunctionPrototypes
XModifierKeymap* /* modmap */,
#if NeedWidePrototypes
unsigned int /* keycode_entry */,
#else
KeyCode /* keycode_entry */,
#endif
int /* modifier */
#endif
);
extern XModifierKeymap *XNewModifiermap(
#if NeedFunctionPrototypes
int /* max_keys_per_mod */
#endif
);
extern XImage *XCreateImage(
#if NeedFunctionPrototypes
Display* /* display */,
Visual* /* visual */,
unsigned int /* depth */,
int /* format */,
int /* offset */,
char* /* data */,
unsigned int /* width */,
unsigned int /* height */,
int /* bitmap_pad */,
int /* bytes_per_line */
#endif
);
extern Status XInitImage(
#if NeedFunctionPrototypes
XImage* /* image */
#endif
);
extern XImage *XGetImage(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */,
unsigned long /* plane_mask */,
int /* format */
#endif
);
extern XImage *XGetSubImage(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */,
unsigned long /* plane_mask */,
int /* format */,
XImage* /* dest_image */,
int /* dest_x */,
int /* dest_y */
#endif
);
/*
* X function declarations.
*/
extern Display *XOpenDisplay(
#if NeedFunctionPrototypes
_Xconst char* /* display_name */
#endif
);
extern void XrmInitialize(
#if NeedFunctionPrototypes
void
#endif
);
extern char *XFetchBytes(
#if NeedFunctionPrototypes
Display* /* display */,
int* /* nbytes_return */
#endif
);
extern char *XFetchBuffer(
#if NeedFunctionPrototypes
Display* /* display */,
int* /* nbytes_return */,
int /* buffer */
#endif
);
extern char *XGetAtomName(
#if NeedFunctionPrototypes
Display* /* display */,
Atom /* atom */
#endif
);
extern Status XGetAtomNames(
#if NeedFunctionPrototypes
Display* /* dpy */,
Atom* /* atoms */,
int /* count */,
char** /* names_return */
#endif
);
extern char *XGetDefault(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* program */,
_Xconst char* /* option */
#endif
);
extern char *XDisplayName(
#if NeedFunctionPrototypes
_Xconst char* /* string */
#endif
);
extern char *XKeysymToString(
#if NeedFunctionPrototypes
KeySym /* keysym */
#endif
);
extern int (*XSynchronize(
#if NeedFunctionPrototypes
Display* /* display */,
Bool /* onoff */
#endif
))(
#if NeedNestedPrototypes
Display* /* display */
#endif
);
extern int (*XSetAfterFunction(
#if NeedFunctionPrototypes
Display* /* display */,
int (*) (
#if NeedNestedPrototypes
Display* /* display */
#endif
) /* procedure */
#endif
))(
#if NeedNestedPrototypes
Display* /* display */
#endif
);
extern Atom XInternAtom(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* atom_name */,
Bool /* only_if_exists */
#endif
);
extern Status XInternAtoms(
#if NeedFunctionPrototypes
Display* /* dpy */,
char** /* names */,
int /* count */,
Bool /* onlyIfExists */,
Atom* /* atoms_return */
#endif
);
extern Colormap XCopyColormapAndFree(
#if NeedFunctionPrototypes
Display* /* display */,
Colormap /* colormap */
#endif
);
extern Colormap XCreateColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Visual* /* visual */,
int /* alloc */
#endif
);
extern Cursor XCreatePixmapCursor(
#if NeedFunctionPrototypes
Display* /* display */,
Pixmap /* source */,
Pixmap /* mask */,
XColor* /* foreground_color */,
XColor* /* background_color */,
unsigned int /* x */,
unsigned int /* y */
#endif
);
extern Cursor XCreateGlyphCursor(
#if NeedFunctionPrototypes
Display* /* display */,
Font /* source_font */,
Font /* mask_font */,
unsigned int /* source_char */,
unsigned int /* mask_char */,
XColor _Xconst * /* foreground_color */,
XColor _Xconst * /* background_color */
#endif
);
extern Cursor XCreateFontCursor(
#if NeedFunctionPrototypes
Display* /* display */,
unsigned int /* shape */
#endif
);
extern Font XLoadFont(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* name */
#endif
);
extern GC XCreateGC(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
unsigned long /* valuemask */,
XGCValues* /* values */
#endif
);
extern GContext XGContextFromGC(
#if NeedFunctionPrototypes
GC /* gc */
#endif
);
extern void XFlushGC(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */
#endif
);
extern Pixmap XCreatePixmap(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
unsigned int /* width */,
unsigned int /* height */,
unsigned int /* depth */
#endif
);
extern Pixmap XCreateBitmapFromData(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
_Xconst char* /* data */,
unsigned int /* width */,
unsigned int /* height */
#endif
);
extern Pixmap XCreatePixmapFromBitmapData(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
char* /* data */,
unsigned int /* width */,
unsigned int /* height */,
unsigned long /* fg */,
unsigned long /* bg */,
unsigned int /* depth */
#endif
);
extern Window XCreateSimpleWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* parent */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */,
unsigned int /* border_width */,
unsigned long /* border */,
unsigned long /* background */
#endif
);
extern Window XGetSelectionOwner(
#if NeedFunctionPrototypes
Display* /* display */,
Atom /* selection */
#endif
);
extern Window XCreateWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* parent */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */,
unsigned int /* border_width */,
int /* depth */,
unsigned int /* class */,
Visual* /* visual */,
unsigned long /* valuemask */,
XSetWindowAttributes* /* attributes */
#endif
);
extern Colormap *XListInstalledColormaps(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
int* /* num_return */
#endif
);
extern char **XListFonts(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* pattern */,
int /* maxnames */,
int* /* actual_count_return */
#endif
);
extern char **XListFontsWithInfo(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* pattern */,
int /* maxnames */,
int* /* count_return */,
XFontStruct** /* info_return */
#endif
);
extern char **XGetFontPath(
#if NeedFunctionPrototypes
Display* /* display */,
int* /* npaths_return */
#endif
);
extern char **XListExtensions(
#if NeedFunctionPrototypes
Display* /* display */,
int* /* nextensions_return */
#endif
);
extern Atom *XListProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
int* /* num_prop_return */
#endif
);
extern XHostAddress *XListHosts(
#if NeedFunctionPrototypes
Display* /* display */,
int* /* nhosts_return */,
Bool* /* state_return */
#endif
);
extern KeySym XKeycodeToKeysym(
#if NeedFunctionPrototypes
Display* /* display */,
#if NeedWidePrototypes
unsigned int /* keycode */,
#else
KeyCode /* keycode */,
#endif
int /* index */
#endif
);
extern KeySym XLookupKeysym(
#if NeedFunctionPrototypes
XKeyEvent* /* key_event */,
int /* index */
#endif
);
extern KeySym *XGetKeyboardMapping(
#if NeedFunctionPrototypes
Display* /* display */,
#if NeedWidePrototypes
unsigned int /* first_keycode */,
#else
KeyCode /* first_keycode */,
#endif
int /* keycode_count */,
int* /* keysyms_per_keycode_return */
#endif
);
extern KeySym XStringToKeysym(
#if NeedFunctionPrototypes
_Xconst char* /* string */
#endif
);
extern long XMaxRequestSize(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern long XExtendedMaxRequestSize(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern char *XResourceManagerString(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern char *XScreenResourceString(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
extern unsigned long XDisplayMotionBufferSize(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern VisualID XVisualIDFromVisual(
#if NeedFunctionPrototypes
Visual* /* visual */
#endif
);
/* multithread routines */
extern Status XInitThreads(
#if NeedFunctionPrototypes
void
#endif
);
extern void XLockDisplay(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern void XUnlockDisplay(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
/* routines for dealing with extensions */
extern XExtCodes *XInitExtension(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* name */
#endif
);
extern XExtCodes *XAddExtension(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern XExtData *XFindOnExtensionList(
#if NeedFunctionPrototypes
XExtData** /* structure */,
int /* number */
#endif
);
extern XExtData **XEHeadOfExtensionList(
#if NeedFunctionPrototypes
XEDataObject /* object */
#endif
);
/* these are routines for which there are also macros */
extern Window XRootWindow(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */
#endif
);
extern Window XDefaultRootWindow(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern Window XRootWindowOfScreen(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
extern Visual *XDefaultVisual(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */
#endif
);
extern Visual *XDefaultVisualOfScreen(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
extern GC XDefaultGC(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */
#endif
);
extern GC XDefaultGCOfScreen(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
extern unsigned long XBlackPixel(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */
#endif
);
extern unsigned long XWhitePixel(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */
#endif
);
extern unsigned long XAllPlanes(
#if NeedFunctionPrototypes
void
#endif
);
extern unsigned long XBlackPixelOfScreen(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
extern unsigned long XWhitePixelOfScreen(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
extern unsigned long XNextRequest(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern unsigned long XLastKnownRequestProcessed(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern char *XServerVendor(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern char *XDisplayString(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern Colormap XDefaultColormap(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */
#endif
);
extern Colormap XDefaultColormapOfScreen(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
extern Display *XDisplayOfScreen(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
extern Screen *XScreenOfDisplay(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */
#endif
);
extern Screen *XDefaultScreenOfDisplay(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern long XEventMaskOfScreen(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
extern int XScreenNumberOfScreen(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */
#if NeedFunctionPrototypes
Display* /* display */,
XErrorEvent* /* error_event */
#endif
);
extern XErrorHandler XSetErrorHandler (
#if NeedFunctionPrototypes
XErrorHandler /* handler */
#endif
);
typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern XIOErrorHandler XSetIOErrorHandler (
#if NeedFunctionPrototypes
XIOErrorHandler /* handler */
#endif
);
extern XPixmapFormatValues *XListPixmapFormats(
#if NeedFunctionPrototypes
Display* /* display */,
int* /* count_return */
#endif
);
extern int *XListDepths(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */,
int* /* count_return */
#endif
);
/* ICCCM routines for things that don't require special include files; */
/* other declarations are given in Xutil.h */
extern Status XReconfigureWMWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
int /* screen_number */,
unsigned int /* mask */,
XWindowChanges* /* changes */
#endif
);
extern Status XGetWMProtocols(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Atom** /* protocols_return */,
int* /* count_return */
#endif
);
extern Status XSetWMProtocols(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Atom* /* protocols */,
int /* count */
#endif
);
extern Status XIconifyWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
int /* screen_number */
#endif
);
extern Status XWithdrawWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
int /* screen_number */
#endif
);
extern Status XGetCommand(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
char*** /* argv_return */,
int* /* argc_return */
#endif
);
extern Status XGetWMColormapWindows(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Window** /* windows_return */,
int* /* count_return */
#endif
);
extern Status XSetWMColormapWindows(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Window* /* colormap_windows */,
int /* count */
#endif
);
extern void XFreeStringList(
#if NeedFunctionPrototypes
char** /* list */
#endif
);
extern int XSetTransientForHint(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Window /* prop_window */
#endif
);
/* The following are given in alphabetical order */
extern int XActivateScreenSaver(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern int XAddHost(
#if NeedFunctionPrototypes
Display* /* display */,
XHostAddress* /* host */
#endif
);
extern int XAddHosts(
#if NeedFunctionPrototypes
Display* /* display */,
XHostAddress* /* hosts */,
int /* num_hosts */
#endif
);
extern int XAddToExtensionList(
#if NeedFunctionPrototypes
struct _XExtData** /* structure */,
XExtData* /* ext_data */
#endif
);
extern int 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 int XAllowEvents(
#if NeedFunctionPrototypes
Display* /* display */,
int /* event_mode */,
Time /* time */
#endif
);
extern int XAutoRepeatOff(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern int XAutoRepeatOn(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern int 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 int XChangeActivePointerGrab(
#if NeedFunctionPrototypes
Display* /* display */,
unsigned int /* event_mask */,
Cursor /* cursor */,
Time /* time */
#endif
);
extern int XChangeGC(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
unsigned long /* valuemask */,
XGCValues* /* values */
#endif
);
extern int XChangeKeyboardControl(
#if NeedFunctionPrototypes
Display* /* display */,
unsigned long /* value_mask */,
XKeyboardControl* /* values */
#endif
);
extern int XChangeKeyboardMapping(
#if NeedFunctionPrototypes
Display* /* display */,
int /* first_keycode */,
int /* keysyms_per_keycode */,
KeySym* /* keysyms */,
int /* num_codes */
#endif
);
extern int XChangePointerControl(
#if NeedFunctionPrototypes
Display* /* display */,
Bool /* do_accel */,
Bool /* do_threshold */,
int /* accel_numerator */,
int /* accel_denominator */,
int /* threshold */
#endif
);
extern int XChangeProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Atom /* property */,
Atom /* type */,
int /* format */,
int /* mode */,
_Xconst unsigned char* /* data */,
int /* nelements */
#endif
);
extern int XChangeSaveSet(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
int /* change_mode */
#endif
);
extern int 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 int XCirculateSubwindows(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
int /* direction */
#endif
);
extern int XCirculateSubwindowsDown(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int XCirculateSubwindowsUp(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int XClearArea(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */,
Bool /* exposures */
#endif
);
extern int XClearWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int XCloseDisplay(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern int XConfigureWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
unsigned int /* value_mask */,
XWindowChanges* /* values */
#endif
);
extern int XConnectionNumber(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern int XConvertSelection(
#if NeedFunctionPrototypes
Display* /* display */,
Atom /* selection */,
Atom /* target */,
Atom /* property */,
Window /* requestor */,
Time /* time */
#endif
);
extern int 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 int XCopyGC(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* src */,
unsigned long /* valuemask */,
GC /* dest */
#endif
);
extern int 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 int XDefineCursor(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Cursor /* cursor */
#endif
);
extern int XDeleteProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Atom /* property */
#endif
);
extern int XDestroyWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int 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 int 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 int 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 int 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 int XDrawArcs(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
XArc* /* arcs */,
int /* narcs */
#endif
);
extern int XDrawImageString(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst char* /* string */,
int /* length */
#endif
);
extern int XDrawImageString16(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst XChar2b* /* string */,
int /* length */
#endif
);
extern int XDrawLine(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x1 */,
int /* y1 */,
int /* x2 */,
int /* y2 */
#endif
);
extern int XDrawLines(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
XPoint* /* points */,
int /* npoints */,
int /* mode */
#endif
);
extern int XDrawPoint(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x */,
int /* y */
#endif
);
extern int XDrawPoints(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
XPoint* /* points */,
int /* npoints */,
int /* mode */
#endif
);
extern int XDrawRectangle(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */
#endif
);
extern int XDrawRectangles(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
XRectangle* /* rectangles */,
int /* nrectangles */
#endif
);
extern int XDrawSegments(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
XSegment* /* segments */,
int /* nsegments */
#endif
);
extern int XDrawString(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst char* /* string */,
int /* length */
#endif
);
extern int XDrawString16(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst XChar2b* /* string */,
int /* length */
#endif
);
extern int XDrawText(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x */,
int /* y */,
XTextItem* /* items */,
int /* nitems */
#endif
);
extern int XDrawText16(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x */,
int /* y */,
XTextItem16* /* items */,
int /* nitems */
#endif
);
extern int 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 int 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 int XFillArcs(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
XArc* /* arcs */,
int /* narcs */
#endif
);
extern int XFillPolygon(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
XPoint* /* points */,
int /* npoints */,
int /* shape */,
int /* mode */
#endif
);
extern int XFillRectangle(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */
#endif
);
extern int XFillRectangles(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
XRectangle* /* rectangles */,
int /* nrectangles */
#endif
);
extern int XFlush(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern int XForceScreenSaver(
#if NeedFunctionPrototypes
Display* /* display */,
int /* mode */
#endif
);
extern int XFree(
#if NeedFunctionPrototypes
void* /* data */
#endif
);
extern int XFreeColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Colormap /* colormap */
#endif
);
extern int XFreeColors(
#if NeedFunctionPrototypes
Display* /* display */,
Colormap /* colormap */,
unsigned long* /* pixels */,
int /* npixels */,
unsigned long /* planes */
#endif
);
extern int XFreeCursor(
#if NeedFunctionPrototypes
Display* /* display */,
Cursor /* cursor */
#endif
);
extern int XFreeExtensionList(
#if NeedFunctionPrototypes
char** /* list */
#endif
);
extern int XFreeFont(
#if NeedFunctionPrototypes
Display* /* display */,
XFontStruct* /* font_struct */
#endif
);
extern int XFreeFontInfo(
#if NeedFunctionPrototypes
char** /* names */,
XFontStruct* /* free_info */,
int /* actual_count */
#endif
);
extern int XFreeFontNames(
#if NeedFunctionPrototypes
char** /* list */
#endif
);
extern int XFreeFontPath(
#if NeedFunctionPrototypes
char** /* list */
#endif
);
extern int XFreeGC(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */
#endif
);
extern int XFreeModifiermap(
#if NeedFunctionPrototypes
XModifierKeymap* /* modmap */
#endif
);
extern int 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 int XGetErrorDatabaseText(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* name */,
_Xconst char* /* message */,
_Xconst char* /* default_string */,
char* /* buffer_return */,
int /* length */
#endif
);
extern int 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 int XGetInputFocus(
#if NeedFunctionPrototypes
Display* /* display */,
Window* /* focus_return */,
int* /* revert_to_return */
#endif
);
extern int XGetKeyboardControl(
#if NeedFunctionPrototypes
Display* /* display */,
XKeyboardState* /* values_return */
#endif
);
extern int 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 int 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 int 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 int 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 int XGrabServer(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern int XHeightMMOfScreen(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
extern int XHeightOfScreen(
#if NeedFunctionPrototypes
Screen* /* screen */
#endif
);
extern int 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 int XInstallColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Colormap /* colormap */
#endif
);
extern KeyCode XKeysymToKeycode(
#if NeedFunctionPrototypes
Display* /* display */,
KeySym /* keysym */
#endif
);
extern int XKillClient(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* resource */
#endif
);
extern Status XLookupColor(
#if NeedFunctionPrototypes
Display* /* display */,
Colormap /* colormap */,
_Xconst char* /* color_name */,
XColor* /* exact_def_return */,
XColor* /* screen_def_return */
#endif
);
extern int XLowerWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int XMapRaised(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int XMapSubwindows(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int XMapWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int 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 int XMoveResizeWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */
#endif
);
extern int XMoveWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
int /* x */,
int /* y */
#endif
);
extern int XNextEvent(
#if NeedFunctionPrototypes
Display* /* display */,
XEvent* /* event_return */
#endif
);
extern int 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 int XPeekEvent(
#if NeedFunctionPrototypes
Display* /* display */,
XEvent* /* event_return */
#endif
);
extern int 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 int XPutBackEvent(
#if NeedFunctionPrototypes
Display* /* display */,
XEvent* /* event */
#endif
);
extern int 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 int XQueryColor(
#if NeedFunctionPrototypes
Display* /* display */,
Colormap /* colormap */,
XColor* /* def_in_out */
#endif
);
extern int 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 int 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 int 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 int 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 int XRaiseWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int XReadBitmapFile(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
_Xconst char* /* filename */,
unsigned int* /* width_return */,
unsigned int* /* height_return */,
Pixmap* /* bitmap_return */,
int* /* x_hot_return */,
int* /* y_hot_return */
#endif
);
extern int XReadBitmapFileData(
#if NeedFunctionPrototypes
_Xconst char* /* filename */,
unsigned int* /* width_return */,
unsigned int* /* height_return */,
unsigned char** /* data_return */,
int* /* x_hot_return */,
int* /* y_hot_return */
#endif
);
extern int XRebindKeysym(
#if NeedFunctionPrototypes
Display* /* display */,
KeySym /* keysym */,
KeySym* /* list */,
int /* mod_count */,
_Xconst unsigned char* /* string */,
int /* bytes_string */
#endif
);
extern int XRecolorCursor(
#if NeedFunctionPrototypes
Display* /* display */,
Cursor /* cursor */,
XColor* /* foreground_color */,
XColor* /* background_color */
#endif
);
extern int XRefreshKeyboardMapping(
#if NeedFunctionPrototypes
XMappingEvent* /* event_map */
#endif
);
extern int XRemoveFromSaveSet(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int XRemoveHost(
#if NeedFunctionPrototypes
Display* /* display */,
XHostAddress* /* host */
#endif
);
extern int XRemoveHosts(
#if NeedFunctionPrototypes
Display* /* display */,
XHostAddress* /* hosts */,
int /* num_hosts */
#endif
);
extern int XReparentWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Window /* parent */,
int /* x */,
int /* y */
#endif
);
extern int XResetScreenSaver(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern int XResizeWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
unsigned int /* width */,
unsigned int /* height */
#endif
);
extern int XRestackWindows(
#if NeedFunctionPrototypes
Display* /* display */,
Window* /* windows */,
int /* nwindows */
#endif
);
extern int XRotateBuffers(
#if NeedFunctionPrototypes
Display* /* display */,
int /* rotate */
#endif
);
extern int XRotateWindowProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Atom* /* properties */,
int /* num_prop */,
int /* npositions */
#endif
);
extern int XScreenCount(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern int 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 int XSetAccessControl(
#if NeedFunctionPrototypes
Display* /* display */,
int /* mode */
#endif
);
extern int XSetArcMode(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
int /* arc_mode */
#endif
);
extern int XSetBackground(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
unsigned long /* background */
#endif
);
extern int XSetClipMask(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
Pixmap /* pixmap */
#endif
);
extern int XSetClipOrigin(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
int /* clip_x_origin */,
int /* clip_y_origin */
#endif
);
extern int XSetClipRectangles(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
int /* clip_x_origin */,
int /* clip_y_origin */,
XRectangle* /* rectangles */,
int /* n */,
int /* ordering */
#endif
);
extern int XSetCloseDownMode(
#if NeedFunctionPrototypes
Display* /* display */,
int /* close_mode */
#endif
);
extern int XSetCommand(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
char** /* argv */,
int /* argc */
#endif
);
extern int XSetDashes(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
int /* dash_offset */,
_Xconst char* /* dash_list */,
int /* n */
#endif
);
extern int XSetFillRule(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
int /* fill_rule */
#endif
);
extern int XSetFillStyle(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
int /* fill_style */
#endif
);
extern int XSetFont(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
Font /* font */
#endif
);
extern int XSetFontPath(
#if NeedFunctionPrototypes
Display* /* display */,
char** /* directories */,
int /* ndirs */
#endif
);
extern int XSetForeground(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
unsigned long /* foreground */
#endif
);
extern int XSetFunction(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
int /* function */
#endif
);
extern int XSetGraphicsExposures(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
Bool /* graphics_exposures */
#endif
);
extern int XSetIconName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* icon_name */
#endif
);
extern int XSetInputFocus(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* focus */,
int /* revert_to */,
Time /* time */
#endif
);
extern int 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 int 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 int XSetScreenSaver(
#if NeedFunctionPrototypes
Display* /* display */,
int /* timeout */,
int /* interval */,
int /* prefer_blanking */,
int /* allow_exposures */
#endif
);
extern int XSetSelectionOwner(
#if NeedFunctionPrototypes
Display* /* display */,
Atom /* selection */,
Window /* owner */,
Time /* time */
#endif
);
extern int XSetState(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
unsigned long /* foreground */,
unsigned long /* background */,
int /* function */,
unsigned long /* plane_mask */
#endif
);
extern int XSetStipple(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
Pixmap /* stipple */
#endif
);
extern int XSetSubwindowMode(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
int /* subwindow_mode */
#endif
);
extern int XSetTSOrigin(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
int /* ts_x_origin */,
int /* ts_y_origin */
#endif
);
extern int XSetTile(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
Pixmap /* tile */
#endif
);
extern int XSetWindowBackground(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
unsigned long /* background_pixel */
#endif
);
extern int XSetWindowBackgroundPixmap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Pixmap /* background_pixmap */
#endif
);
extern int XSetWindowBorder(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
unsigned long /* border_pixel */
#endif
);
extern int XSetWindowBorderPixmap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Pixmap /* border_pixmap */
#endif
);
extern int XSetWindowBorderWidth(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
unsigned int /* width */
#endif
);
extern int XSetWindowColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
Colormap /* colormap */
#endif
);
extern int XStoreBuffer(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* bytes */,
int /* nbytes */,
int /* buffer */
#endif
);
extern int XStoreBytes(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* bytes */,
int /* nbytes */
#endif
);
extern int XStoreColor(
#if NeedFunctionPrototypes
Display* /* display */,
Colormap /* colormap */,
XColor* /* color */
#endif
);
extern int XStoreColors(
#if NeedFunctionPrototypes
Display* /* display */,
Colormap /* colormap */,
XColor* /* color */,
int /* ncolors */
#endif
);
extern int XStoreName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */
#endif
);
extern int XStoreNamedColor(
#if NeedFunctionPrototypes
Display* /* display */,
Colormap /* colormap */,
_Xconst char* /* color */,
unsigned long /* pixel */,
int /* flags */
#endif
);
extern int XSync(
#if NeedFunctionPrototypes
Display* /* display */,
Bool /* discard */
#endif
);
extern int 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 int 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 int XUndefineCursor(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int XUngrabButton(
#if NeedFunctionPrototypes
Display* /* display */,
unsigned int /* button */,
unsigned int /* modifiers */,
Window /* grab_window */
#endif
);
extern int XUngrabKey(
#if NeedFunctionPrototypes
Display* /* display */,
int /* keycode */,
unsigned int /* modifiers */,
Window /* grab_window */
#endif
);
extern int XUngrabKeyboard(
#if NeedFunctionPrototypes
Display* /* display */,
Time /* time */
#endif
);
extern int XUngrabPointer(
#if NeedFunctionPrototypes
Display* /* display */,
Time /* time */
#endif
);
extern int XUngrabServer(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern int XUninstallColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Colormap /* colormap */
#endif
);
extern int XUnloadFont(
#if NeedFunctionPrototypes
Display* /* display */,
Font /* font */
#endif
);
extern int XUnmapSubwindows(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int XUnmapWindow(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern int XVendorRelease(
#if NeedFunctionPrototypes
Display* /* display */
#endif
);
extern int 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 int 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 (void);
extern char *XSetLocaleModifiers(
const char* /* modifier_list */
);
extern XOM XOpenOM(
#if NeedFunctionPrototypes
Display* /* display */,
struct _XrmHashBucketRec* /* rdb */,
_Xconst char* /* res_name */,
_Xconst char* /* res_class */
#endif
);
extern Status XCloseOM(
#if NeedFunctionPrototypes
XOM /* om */
#endif
);
extern char *XSetOMValues(
#if NeedVarargsPrototypes
XOM /* om */,
...
#endif
);
extern char *XGetOMValues(
#if NeedVarargsPrototypes
XOM /* om */,
...
#endif
);
extern Display *XDisplayOfOM(
#if NeedFunctionPrototypes
XOM /* om */
#endif
);
extern char *XLocaleOfOM(
#if NeedFunctionPrototypes
XOM /* om */
#endif
);
extern XOC XCreateOC(
#if NeedVarargsPrototypes
XOM /* om */,
...
#endif
);
extern void XDestroyOC(
#if NeedFunctionPrototypes
XOC /* oc */
#endif
);
extern XOM XOMOfOC(
#if NeedFunctionPrototypes
XOC /* oc */
#endif
);
extern char *XSetOCValues(
#if NeedVarargsPrototypes
XOC /* oc */,
...
#endif
);
extern char *XGetOCValues(
#if NeedVarargsPrototypes
XOC /* oc */,
...
#endif
);
extern XFontSet XCreateFontSet(
#if NeedFunctionPrototypes
Display* /* display */,
_Xconst char* /* base_font_name_list */,
char*** /* missing_charset_list */,
int* /* missing_charset_count */,
char** /* def_string */
#endif
);
extern void XFreeFontSet(
#if NeedFunctionPrototypes
Display* /* display */,
XFontSet /* font_set */
#endif
);
extern int XFontsOfFontSet(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
XFontStruct*** /* font_struct_list */,
char*** /* font_name_list */
#endif
);
extern char *XBaseFontNameListOfFontSet(
#if NeedFunctionPrototypes
XFontSet /* font_set */
#endif
);
extern char *XLocaleOfFontSet(
#if NeedFunctionPrototypes
XFontSet /* font_set */
#endif
);
extern Bool XContextDependentDrawing(
#if NeedFunctionPrototypes
XFontSet /* font_set */
#endif
);
extern Bool XDirectionalDependentDrawing(
#if NeedFunctionPrototypes
XFontSet /* font_set */
#endif
);
extern Bool XContextualDrawing(
#if NeedFunctionPrototypes
XFontSet /* font_set */
#endif
);
extern XFontSetExtents *XExtentsOfFontSet(
#if NeedFunctionPrototypes
XFontSet /* font_set */
#endif
);
extern int XmbTextEscapement(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst char* /* text */,
int /* bytes_text */
#endif
);
extern int XwcTextEscapement(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst wchar_t* /* text */,
int /* num_wchars */
#endif
);
extern int Xutf8TextEscapement(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst char* /* text */,
int /* bytes_text */
#endif
);
extern int XmbTextExtents(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst char* /* text */,
int /* bytes_text */,
XRectangle* /* overall_ink_return */,
XRectangle* /* overall_logical_return */
#endif
);
extern int XwcTextExtents(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst wchar_t* /* text */,
int /* num_wchars */,
XRectangle* /* overall_ink_return */,
XRectangle* /* overall_logical_return */
#endif
);
extern int Xutf8TextExtents(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst char* /* text */,
int /* bytes_text */,
XRectangle* /* overall_ink_return */,
XRectangle* /* overall_logical_return */
#endif
);
extern Status XmbTextPerCharExtents(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst char* /* text */,
int /* bytes_text */,
XRectangle* /* ink_extents_buffer */,
XRectangle* /* logical_extents_buffer */,
int /* buffer_size */,
int* /* num_chars */,
XRectangle* /* overall_ink_return */,
XRectangle* /* overall_logical_return */
#endif
);
extern Status XwcTextPerCharExtents(
#if NeedFunctionPrototypes
XFontSet /* font_set */,
_Xconst wchar_t* /* text */,
int /* num_wchars */,
XRectangle* /* ink_extents_buffer */,
XRectangle* /* logical_extents_buffer */,
int /* buffer_size */,
int* /* num_chars */,
XRectangle* /* overall_ink_return */,
XRectangle* /* overall_logical_return */
#endif
);
extern Status Xutf8TextPerCharExtents(
#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 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 Xutf8DrawText(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
GC /* gc */,
int /* x */,
int /* y */,
XmbTextItem* /* text_items */,
int /* nitems */
#endif
);
extern void XmbDrawString(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
XFontSet /* font_set */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst char* /* text */,
int /* bytes_text */
#endif
);
extern void XwcDrawString(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
XFontSet /* font_set */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst wchar_t* /* text */,
int /* num_wchars */
#endif
);
extern void Xutf8DrawString(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
XFontSet /* font_set */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst char* /* text */,
int /* bytes_text */
#endif
);
extern void XmbDrawImageString(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
XFontSet /* font_set */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst char* /* text */,
int /* bytes_text */
#endif
);
extern void XwcDrawImageString(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
XFontSet /* font_set */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst wchar_t* /* text */,
int /* num_wchars */
#endif
);
extern void Xutf8DrawImageString(
#if NeedFunctionPrototypes
Display* /* display */,
Drawable /* d */,
XFontSet /* font_set */,
GC /* gc */,
int /* x */,
int /* y */,
_Xconst char* /* text */,
int /* bytes_text */
#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 char *XSetIMValues(
#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 *Xutf8ResetIC(
#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 int Xutf8LookupString(
#if NeedFunctionPrototypes
XIC /* ic */,
XKeyPressedEvent* /* event */,
char* /* buffer_return */,
int /* bytes_buffer */,
KeySym* /* keysym_return */,
Status* /* status_return */
#endif
);
extern XVaNestedList XVaCreateNestedList(
#if NeedVarargsPrototypes
int /*unused*/, ...
#endif
);
/* internal connections for IMs */
extern Bool XRegisterIMInstantiateCallback(
#if NeedFunctionPrototypes
Display* /* dpy */,
struct _XrmHashBucketRec* /* rdb */,
char* /* res_name */,
char* /* res_class */,
XIDProc /* callback */,
XPointer /* client_data */
#endif
);
extern Bool XUnregisterIMInstantiateCallback(
#if NeedFunctionPrototypes
Display* /* dpy */,
struct _XrmHashBucketRec* /* rdb */,
char* /* res_name */,
char* /* res_class */,
XIDProc /* callback */,
XPointer /* client_data */
#endif
);
typedef void (*XConnectionWatchProc)(
#if NeedFunctionPrototypes
Display* /* dpy */,
XPointer /* client_data */,
int /* fd */,
Bool /* opening */, /* open or close flag */
XPointer* /* watch_data */ /* open sets, close uses */
#endif
);
extern Status XInternalConnectionNumbers(
#if NeedFunctionPrototypes
Display* /* dpy */,
int** /* fd_return */,
int* /* count_return */
#endif
);
extern void XProcessInternalConnection(
#if NeedFunctionPrototypes
Display* /* dpy */,
int /* fd */
#endif
);
extern Status XAddConnectionWatch(
#if NeedFunctionPrototypes
Display* /* dpy */,
XConnectionWatchProc /* callback */,
XPointer /* client_data */
#endif
);
extern void XRemoveConnectionWatch(
#if NeedFunctionPrototypes
Display* /* dpy */,
XConnectionWatchProc /* callback */,
XPointer /* client_data */
#endif
);
extern void XSetAuthorization(
#if NeedFunctionPrototypes
char * /* name */,
int /* namelen */,
char * /* data */,
int /* datalen */
#endif
);
extern int _Xmbtowc(
#if NeedFunctionPrototypes
wchar_t * /* wstr */,
#ifdef ISC
char const * /* str */,
size_t /* len */
#else
char * /* str */,
int /* len */
#endif
#endif
);
extern int _Xwctomb(
#if NeedFunctionPrototypes
char * /* str */,
wchar_t /* wc */
#endif
);
_XFUNCPROTOEND
#endif /* if 0 */
#endif /* _XLIB_H_ */
/* $Xorg: Xutil.h,v 1.8 2001/02/09 02:03:39 xorgcvs Exp $ */
/***********************************************************
Copyright 1987, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
All Rights Reserved
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 Digital not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
/* $XFree86: xc/lib/X11/Xutil.h,v 3.5 2003/01/26 02:40:10 dawes Exp $ */
#ifndef _XUTIL_H_
#define _XUTIL_H_
/* You must include <X11/Xlib.h> before including this file */
#if 0
#include <X11/Xlib.h>
#endif
/*
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
* value (x, y, width, height) was found in the parsed string.
*/
#define NoValue 0x0000
#define XValue 0x0001
#define YValue 0x0002
#define WidthValue 0x0004
#define HeightValue 0x0008
#define AllValues 0x000F
#define XNegative 0x0010
#define YNegative 0x0020
/*
* new version containing base_width, base_height, and win_gravity fields;
* used with WM_NORMAL_HINTS.
*/
typedef struct {
long flags; /* marks which fields in this structure are defined */
int x, y; /* obsolete for new window mgrs, but clients */
int width, height; /* should set so old wm's don't mess up */
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
struct {
int x; /* numerator */
int y; /* denominator */
} min_aspect, max_aspect;
int base_width, base_height; /* added by ICCCM version 1 */
int win_gravity; /* added by ICCCM version 1 */
} XSizeHints;
/*
* The next block of definitions are for window manager properties that
* clients and applications use for communication.
*/
/* flags argument in size hints */
#define USPosition (1L << 0) /* user specified x, y */
#define USSize (1L << 1) /* user specified width, height */
#define PPosition (1L << 2) /* program specified position */
#define PSize (1L << 3) /* program specified size */
#define PMinSize (1L << 4) /* program specified minimum size */
#define PMaxSize (1L << 5) /* program specified maximum size */
#define PResizeInc (1L << 6) /* program specified resize increments */
#define PAspect (1L << 7) /* program specified min and max aspect ratios */
#define PBaseSize (1L << 8) /* program specified base for incrementing */
#define PWinGravity (1L << 9) /* program specified window gravity */
/* obsolete */
#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
typedef struct {
long flags; /* marks which fields in this structure are defined */
Bool input; /* does this application rely on the window manager to
get keyboard input? */
int initial_state; /* see below */
Pixmap icon_pixmap; /* pixmap to be used as icon */
Window icon_window; /* window to be used as icon */
int icon_x, icon_y; /* initial position of icon */
Pixmap icon_mask; /* icon mask bitmap */
XID window_group; /* id of related window group */
/* this structure may be extended in the future */
} XWMHints;
/* definition for flags of XWMHints */
#define InputHint (1L << 0)
#define StateHint (1L << 1)
#define IconPixmapHint (1L << 2)
#define IconWindowHint (1L << 3)
#define IconPositionHint (1L << 4)
#define IconMaskHint (1L << 5)
#define WindowGroupHint (1L << 6)
#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
IconPositionHint|IconMaskHint|WindowGroupHint)
#define XUrgencyHint (1L << 8)
/* definitions for initial window state */
#define WithdrawnState 0 /* for windows that are not mapped */
#define NormalState 1 /* most applications want to start this way */
#define IconicState 3 /* application wants to start as an icon */
/*
* Obsolete states no longer defined by ICCCM
*/
#define DontCareState 0 /* don't know or care */
#define ZoomState 2 /* application wants to start zoomed */
#define InactiveState 4 /* application believes it is seldom used; */
/* some wm's may put it on inactive menu */
/*
* new structure for manipulating TEXT properties; used with WM_NAME,
* WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
*/
typedef struct {
unsigned char *value; /* same as Property routines */
Atom encoding; /* prop type */
int format; /* prop data format: 8, 16, or 32 */
unsigned long nitems; /* number of data items in value */
} XTextProperty;
#define XNoMemory -1
#define XLocaleNotSupported -2
#define XConverterNotFound -3
typedef enum {
XStringStyle, /* STRING */
XCompoundTextStyle, /* COMPOUND_TEXT */
XTextStyle, /* text in owner's encoding (current locale)*/
XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */
/* The following is an XFree86 extension, introduced in November 2000 */
XUTF8StringStyle /* UTF8_STRING */
} XICCEncodingStyle;
typedef struct {
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
} XIconSize;
typedef struct {
char *res_name;
char *res_class;
} XClassHint;
/*
* These macros are used to give some sugar to the image routines so that
* naive people are more comfortable with them.
*/
#define XDestroyImage(ximage) \
((*((ximage)->f.destroy_image))((ximage)))
#define XGetPixel(ximage, x, y) \
((*((ximage)->f.get_pixel))((ximage), (x), (y)))
#define XPutPixel(ximage, x, y, pixel) \
((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
#define XSubImage(ximage, x, y, width, height) \
((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
#define XAddPixel(ximage, value) \
((*((ximage)->f.add_pixel))((ximage), (value)))
/*
* Compose sequence status structure, used in calling XLookupString.
*/
typedef struct _XComposeStatus {
XPointer compose_ptr; /* state table pointer */
int chars_matched; /* match state */
} XComposeStatus;
/*
* Keysym macros, used on Keysyms to test for classes of symbols
*/
#define IsKeypadKey(keysym) \
(((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
#define IsPrivateKeypadKey(keysym) \
(((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
#define IsCursorKey(keysym) \
(((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
#define IsPFKey(keysym) \
(((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
#define IsFunctionKey(keysym) \
(((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
#define IsMiscFunctionKey(keysym) \
(((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
#define IsModifierKey(keysym) \
((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
|| (((KeySym)(keysym) >= XK_ISO_Lock) && \
((KeySym)(keysym) <= XK_ISO_Last_Group_Lock)) \
|| ((KeySym)(keysym) == XK_Mode_switch) \
|| ((KeySym)(keysym) == XK_Num_Lock))
/*
* opaque reference to Region data type
*/
typedef struct _XRegion *Region;
/* Return values from XRectInRegion() */
#define RectangleOut 0
#define RectangleIn 1
#define RectanglePart 2
/*
* Information used by the visual utility routines to find desired visual
* type from the many visuals a display may support.
*/
typedef struct {
Visual *visual;
VisualID visualid;
int screen;
int depth;
#if defined(__cplusplus) || defined(c_plusplus)
int c_class; /* C++ */
#else
int class;
#endif
unsigned long red_mask;
unsigned long green_mask;
unsigned long blue_mask;
int colormap_size;
int bits_per_rgb;
} XVisualInfo;
#define VisualNoMask 0x0
#define VisualIDMask 0x1
#define VisualScreenMask 0x2
#define VisualDepthMask 0x4
#define VisualClassMask 0x8
#define VisualRedMaskMask 0x10
#define VisualGreenMaskMask 0x20
#define VisualBlueMaskMask 0x40
#define VisualColormapSizeMask 0x80
#define VisualBitsPerRGBMask 0x100
#define VisualAllMask 0x1FF
/*
* This defines a window manager property that clients may use to
* share standard color maps of type RGB_COLOR_MAP:
*/
typedef struct {
Colormap colormap;
unsigned long red_max;
unsigned long red_mult;
unsigned long green_max;
unsigned long green_mult;
unsigned long blue_max;
unsigned long blue_mult;
unsigned long base_pixel;
VisualID visualid; /* added by ICCCM version 1 */
XID killid; /* added by ICCCM version 1 */
} XStandardColormap;
#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
/*
* return codes for XReadBitmapFile and XWriteBitmapFile
*/
#define BitmapSuccess 0
#define BitmapOpenFailed 1
#define BitmapFileInvalid 2
#define BitmapNoMemory 3
/****************************************************************
*
* Context Management
*
****************************************************************/
/* Associative lookup table return codes */
#define XCSUCCESS 0 /* No error. */
#define XCNOMEM 1 /* Out of memory */
#define XCNOENT 2 /* No entry in table */
typedef int XContext;
#define XUniqueContext() ((XContext) XrmUniqueQuark())
#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
#if 0
_XFUNCPROTOBEGIN
/* The following declarations are alphabetized. */
extern XClassHint *XAllocClassHint (
#if NeedFunctionPrototypes
void
#endif
);
extern XIconSize *XAllocIconSize (
#if NeedFunctionPrototypes
void
#endif
);
extern XSizeHints *XAllocSizeHints (
#if NeedFunctionPrototypes
void
#endif
);
extern XStandardColormap *XAllocStandardColormap (
#if NeedFunctionPrototypes
void
#endif
);
extern XWMHints *XAllocWMHints (
#if NeedFunctionPrototypes
void
#endif
);
extern int XClipBox(
#if NeedFunctionPrototypes
Region /* r */,
XRectangle* /* rect_return */
#endif
);
extern Region XCreateRegion(
#if NeedFunctionPrototypes
void
#endif
);
extern const char *XDefaultString (void);
extern int XDeleteContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */
#endif
);
extern int XDestroyRegion(
#if NeedFunctionPrototypes
Region /* r */
#endif
);
extern int XEmptyRegion(
#if NeedFunctionPrototypes
Region /* r */
#endif
);
extern int XEqualRegion(
#if NeedFunctionPrototypes
Region /* r1 */,
Region /* r2 */
#endif
);
extern int XFindContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */,
XPointer* /* data_return */
#endif
);
extern Status XGetClassHint(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XClassHint* /* class_hints_return */
#endif
);
extern Status XGetIconSizes(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XIconSize** /* size_list_return */,
int* /* count_return */
#endif
);
extern Status XGetNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */
#endif
);
extern Status XGetRGBColormaps(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap** /* stdcmap_return */,
int* /* count_return */,
Atom /* property */
#endif
);
extern Status XGetSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
Atom /* property */
#endif
);
extern Status XGetStandardColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* colormap_return */,
Atom /* property */
#endif
);
extern Status XGetTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* window */,
XTextProperty* /* text_prop_return */,
Atom /* property */
#endif
);
extern XVisualInfo *XGetVisualInfo(
#if NeedFunctionPrototypes
Display* /* display */,
long /* vinfo_mask */,
XVisualInfo* /* vinfo_template */,
int* /* nitems_return */
#endif
);
extern Status XGetWMClientMachine(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern XWMHints *XGetWMHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */
#endif
);
extern Status XGetWMIconName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern Status XGetWMName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop_return */
#endif
);
extern Status XGetWMNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
long* /* supplied_return */
#endif
);
extern Status XGetWMSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints_return */,
long* /* supplied_return */,
Atom /* property */
#endif
);
extern Status XGetZoomHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* zhints_return */
#endif
);
extern int XIntersectRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern void XConvertCase(
#if NeedFunctionPrototypes
KeySym /* sym */,
KeySym* /* lower */,
KeySym* /* upper */
#endif
);
extern int XLookupString(
#if NeedFunctionPrototypes
XKeyEvent* /* event_struct */,
char* /* buffer_return */,
int /* bytes_buffer */,
KeySym* /* keysym_return */,
XComposeStatus* /* status_in_out */
#endif
);
extern Status XMatchVisualInfo(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen */,
int /* depth */,
int /* class */,
XVisualInfo* /* vinfo_return */
#endif
);
extern int XOffsetRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* dx */,
int /* dy */
#endif
);
extern Bool XPointInRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* x */,
int /* y */
#endif
);
extern Region XPolygonRegion(
#if NeedFunctionPrototypes
XPoint* /* points */,
int /* n */,
int /* fill_rule */
#endif
);
extern int XRectInRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* x */,
int /* y */,
unsigned int /* width */,
unsigned int /* height */
#endif
);
extern int XSaveContext(
#if NeedFunctionPrototypes
Display* /* display */,
XID /* rid */,
XContext /* context */,
_Xconst char* /* data */
#endif
);
extern int XSetClassHint(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XClassHint* /* class_hints */
#endif
);
extern int XSetIconSizes(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XIconSize* /* size_list */,
int /* count */
#endif
);
extern int XSetNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */
#endif
);
extern void XSetRGBColormaps(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* stdcmaps */,
int /* count */,
Atom /* property */
#endif
);
extern int XSetSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */,
Atom /* property */
#endif
);
extern int XSetStandardProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */,
_Xconst char* /* icon_name */,
Pixmap /* icon_pixmap */,
char** /* argv */,
int /* argc */,
XSizeHints* /* hints */
#endif
);
extern void XSetTextProperty(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */,
Atom /* property */
#endif
);
extern void XSetWMClientMachine(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern int XSetWMHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XWMHints* /* wm_hints */
#endif
);
extern void XSetWMIconName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern void XSetWMName(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* text_prop */
#endif
);
extern void XSetWMNormalHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */
#endif
);
extern void XSetWMProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XTextProperty* /* window_name */,
XTextProperty* /* icon_name */,
char** /* argv */,
int /* argc */,
XSizeHints* /* normal_hints */,
XWMHints* /* wm_hints */,
XClassHint* /* class_hints */
#endif
);
extern void XmbSetWMProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */,
_Xconst char* /* icon_name */,
char** /* argv */,
int /* argc */,
XSizeHints* /* normal_hints */,
XWMHints* /* wm_hints */,
XClassHint* /* class_hints */
#endif
);
extern void Xutf8SetWMProperties(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
_Xconst char* /* window_name */,
_Xconst char* /* icon_name */,
char** /* argv */,
int /* argc */,
XSizeHints* /* normal_hints */,
XWMHints* /* wm_hints */,
XClassHint* /* class_hints */
#endif
);
extern void XSetWMSizeHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* hints */,
Atom /* property */
#endif
);
extern int XSetRegion(
#if NeedFunctionPrototypes
Display* /* display */,
GC /* gc */,
Region /* r */
#endif
);
extern void XSetStandardColormap(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XStandardColormap* /* colormap */,
Atom /* property */
#endif
);
extern int XSetZoomHints(
#if NeedFunctionPrototypes
Display* /* display */,
Window /* w */,
XSizeHints* /* zhints */
#endif
);
extern int XShrinkRegion(
#if NeedFunctionPrototypes
Region /* r */,
int /* dx */,
int /* dy */
#endif
);
extern Status XStringListToTextProperty(
#if NeedFunctionPrototypes
char** /* list */,
int /* count */,
XTextProperty* /* text_prop_return */
#endif
);
extern int XSubtractRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XmbTextListToTextProperty(
Display* display,
char** list,
int count,
XICCEncodingStyle style,
XTextProperty* text_prop_return
);
extern int XwcTextListToTextProperty(
Display* display,
wchar_t** list,
int count,
XICCEncodingStyle style,
XTextProperty* text_prop_return
);
extern int Xutf8TextListToTextProperty(
Display* display,
char** list,
int count,
XICCEncodingStyle style,
XTextProperty* text_prop_return
);
extern void XwcFreeStringList(
wchar_t** list
);
extern Status XTextPropertyToStringList(
#if NeedFunctionPrototypes
XTextProperty* /* text_prop */,
char*** /* list_return */,
int* /* count_return */
#endif
);
extern int XmbTextPropertyToTextList(
Display* display,
const XTextProperty* text_prop,
char*** list_return,
int* count_return
);
extern int XwcTextPropertyToTextList(
Display* display,
const XTextProperty* text_prop,
wchar_t*** list_return,
int* count_return
);
extern int Xutf8TextPropertyToTextList(
Display* display,
const XTextProperty* text_prop,
char*** list_return,
int* count_return
);
extern int XUnionRectWithRegion(
#if NeedFunctionPrototypes
XRectangle* /* rectangle */,
Region /* src_region */,
Region /* dest_region_return */
#endif
);
extern int XUnionRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
extern int XWMGeometry(
#if NeedFunctionPrototypes
Display* /* display */,
int /* screen_number */,
_Xconst char* /* user_geometry */,
_Xconst char* /* default_geometry */,
unsigned int /* border_width */,
XSizeHints* /* hints */,
int* /* x_return */,
int* /* y_return */,
int* /* width_return */,
int* /* height_return */,
int* /* gravity_return */
#endif
);
extern int XXorRegion(
#if NeedFunctionPrototypes
Region /* sra */,
Region /* srb */,
Region /* dr_return */
#endif
);
_XFUNCPROTOEND
#endif /* if 0 */
#ifndef XATOM_H
#define XATOM_H 1
/* THIS IS A GENERATED FILE
*
* Do not change! Changing this file implies a protocol change!
*/
#define XA_PRIMARY ((Atom) 1)
#define XA_SECONDARY ((Atom) 2)
#define XA_ARC ((Atom) 3)
#define XA_ATOM ((Atom) 4)
#define XA_BITMAP ((Atom) 5)
#define XA_CARDINAL ((Atom) 6)
#define XA_COLORMAP ((Atom) 7)
#define XA_CURSOR ((Atom) 8)
#define XA_CUT_BUFFER0 ((Atom) 9)
#define XA_CUT_BUFFER1 ((Atom) 10)
#define XA_CUT_BUFFER2 ((Atom) 11)
#define XA_CUT_BUFFER3 ((Atom) 12)
#define XA_CUT_BUFFER4 ((Atom) 13)
#define XA_CUT_BUFFER5 ((Atom) 14)
#define XA_CUT_BUFFER6 ((Atom) 15)
#define XA_CUT_BUFFER7 ((Atom) 16)
#define XA_DRAWABLE ((Atom) 17)
#define XA_FONT ((Atom) 18)
#define XA_INTEGER ((Atom) 19)
#define XA_PIXMAP ((Atom) 20)
#define XA_POINT ((Atom) 21)
#define XA_RECTANGLE ((Atom) 22)
#define XA_RESOURCE_MANAGER ((Atom) 23)
#define XA_RGB_COLOR_MAP ((Atom) 24)
#define XA_RGB_BEST_MAP ((Atom) 25)
#define XA_RGB_BLUE_MAP ((Atom) 26)
#define XA_RGB_DEFAULT_MAP ((Atom) 27)
#define XA_RGB_GRAY_MAP ((Atom) 28)
#define XA_RGB_GREEN_MAP ((Atom) 29)
#define XA_RGB_RED_MAP ((Atom) 30)
#define XA_STRING ((Atom) 31)
#define XA_VISUALID ((Atom) 32)
#define XA_WINDOW ((Atom) 33)
#define XA_WM_COMMAND ((Atom) 34)
#define XA_WM_HINTS ((Atom) 35)
#define XA_WM_CLIENT_MACHINE ((Atom) 36)
#define XA_WM_ICON_NAME ((Atom) 37)
#define XA_WM_ICON_SIZE ((Atom) 38)
#define XA_WM_NAME ((Atom) 39)
#define XA_WM_NORMAL_HINTS ((Atom) 40)
#define XA_WM_SIZE_HINTS ((Atom) 41)
#define XA_WM_ZOOM_HINTS ((Atom) 42)
#define XA_MIN_SPACE ((Atom) 43)
#define XA_NORM_SPACE ((Atom) 44)
#define XA_MAX_SPACE ((Atom) 45)
#define XA_END_SPACE ((Atom) 46)
#define XA_SUPERSCRIPT_X ((Atom) 47)
#define XA_SUPERSCRIPT_Y ((Atom) 48)
#define XA_SUBSCRIPT_X ((Atom) 49)
#define XA_SUBSCRIPT_Y ((Atom) 50)
#define XA_UNDERLINE_POSITION ((Atom) 51)
#define XA_UNDERLINE_THICKNESS ((Atom) 52)
#define XA_STRIKEOUT_ASCENT ((Atom) 53)
#define XA_STRIKEOUT_DESCENT ((Atom) 54)
#define XA_ITALIC_ANGLE ((Atom) 55)
#define XA_X_HEIGHT ((Atom) 56)
#define XA_QUAD_WIDTH ((Atom) 57)
#define XA_WEIGHT ((Atom) 58)
#define XA_POINT_SIZE ((Atom) 59)
#define XA_RESOLUTION ((Atom) 60)
#define XA_COPYRIGHT ((Atom) 61)
#define XA_NOTICE ((Atom) 62)
#define XA_FONT_NAME ((Atom) 63)
#define XA_FAMILY_NAME ((Atom) 64)
#define XA_FULL_NAME ((Atom) 65)
#define XA_CAP_HEIGHT ((Atom) 66)
#define XA_WM_CLASS ((Atom) 67)
#define XA_WM_TRANSIENT_FOR ((Atom) 68)
#define XA_LAST_PREDEFINED ((Atom) 68)
#endif /* XATOM_H */
#endif /* _XUTIL_H_ */
extern KeyCode XKeysymToKeycode(
Display* /* display */,
KeySym /* keysym */
);
extern KeySym XKeycodeToKeysym(
Display* /* display */,
KeyCode /* keycode */,
int /* index */
);
extern char *XKeysymToString(
KeySym /* keysym */
);
extern KeySym XStringToKeysym(
char* /* string */
);
typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */
Display* /* display */,
XErrorEvent* /* error_event */
);
extern XErrorHandler XSetErrorHandler (
XErrorHandler /* handler */
);
typedef int (*XIOErrorHandler) ( /* WARNING, this type not in Xlib spec */
Display* /* display */
);
extern XIOErrorHandler XSetIOErrorHandler (
XIOErrorHandler /* handler */
);
#define X_ShmQueryVersion 0
#define X_ShmAttach 1
#define X_ShmDetach 2
#define X_ShmPutImage 3
#define X_ShmGetImage 4
#define X_ShmCreatePixmap 5