Browse Source

* new X11 conversion from 4.0.x headers

peter 24 years ago
parent
commit
e8dd512f65
7 changed files with 3516 additions and 3236 deletions
  1. 57 16
      packages/x11/Makefile
  2. 1 1
      packages/x11/Makefile.fpc
  3. 433 563
      packages/x11/x.pp
  4. 371 0
      packages/x11/xcms.pp
  5. 2117 1730
      packages/x11/xlib.pp
  6. 187 269
      packages/x11/xresource.pp
  7. 350 657
      packages/x11/xutil.pp

+ 57 - 16
packages/x11/Makefile

@@ -1,5 +1,5 @@
 #
-# Makefile generated by fpcmake v1.00 [2000/12/19]
+# Makefile generated by fpcmake v1.00 [2000/12/22]
 #
 
 defaultrule: all
@@ -50,6 +50,25 @@ else
 SRCEXEEXT=.exe
 endif
 
+# The extension of batch files / scripts
+ifdef inUnix
+BATCHEXT=.sh
+else
+ifdef inOS2
+BATCHEXT=.cmd
+else
+BATCHEXT=.bat
+endif
+endif
+
+# Path Separator, the subst trick is necessary for the \ that can't exists
+# at the end of a line
+ifdef inUnix
+PATHSEP=/
+else
+PATHSEP=$(subst /,\,/)
+endif
+
 # The path which is searched separated by spaces
 ifdef inUnix
 SEARCHPATH=$(subst :, ,$(PATH))
@@ -178,7 +197,7 @@ endif
 
 # Targets
 
-override UNITOBJECTS+=x xlib xutil xresource
+override UNITOBJECTS+=x xlib xutil xresource xcms
 
 # Clean
 
@@ -295,15 +314,7 @@ LD=ld
 endif
 
 # ppas.bat / ppas.sh
-ifdef inUnix
-PPAS=ppas.sh
-else
-ifdef inOS2
-PPAS=ppas.cmd
-else
-PPAS=ppas.bat
-endif
-endif
+PPAS=ppas$(BATCHEXT)
 
 # ldconfig to rebuild .so cache
 ifdef inUnix
@@ -1076,18 +1087,48 @@ USETAR=1
 endif
 endif
 
+# Use a wrapper script by default for OS/2
+ifdef inOS2
+USEZIPWRAPPER=1
+endif
+
+# Create commands to create the zip/tar file
+ZIPWRAPPER=$(DESTZIPDIR)/fpczip$(BATCHEXT)
+ZIPCMD_CDPACK:=cd $(subst /,$(PATHSEP),$(PACKDIR))
+ZIPCMD_CDBASE:=cd $(subst /,$(PATHSEP),$(BASEDIR))
+ifdef USETAR
+ZIPDESTFILE:=$(DESTZIPDIR)/$(ZIPNAME)$(TAREXT)
+ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *
+else
+ZIPDESTFILE:=$(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT)
+ZIPCMD_ZIP:=$(subst /,$(PATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
+endif
+
 fpc_zipinstall:
 ifndef ZIPNAME
 	@$(ECHO) "Please specify ZIPNAME!"
 	@exit 1
 else
 	$(MAKE) $(ZIPTARGET) PREFIXINSTALLDIR=$(PACKDIR)
-ifdef USETAR
-	$(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT)
-	cd $(PACKDIR) ; $(TARPROG) cf$(TAROPT) $(DESTZIPDIR)/$(ZIPNAME)$(TAREXT) * ; cd $(BASEDIR)
+	$(DEL) $(ZIPDESTFILE)
+ifdef USEZIPWRAPPER
+ifneq ($(ECHO),echo)
+	$(ECHO) "$(ZIPCMD_CDPACK)" > $(ZIPWRAPPER)
+	$(ECHO) "$(ZIPCMD_ZIP)" >> $(ZIPWRAPPER)
+	$(ECHO) "$(ZIPCMD_CDBASE)" >> $(ZIPWRAPPER)
+else
+	$(ECHO) $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)
+	$(ECHO) $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)
+	$(ECHO) $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)
+endif
+ifdef inUnix
+	/bin/sh $(ZIPWRAPPER)
+else
+	$(ZIPWRAPPER)
+endif
+	$(DEL) $(ZIPWRAPPER)
 else
-	$(DEL) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT)
-	cd $(PACKDIR) ; $(ZIPPROG) -Dr $(ZIPOPT) $(DESTZIPDIR)/$(ZIPNAME)$(ZIPEXT) * ; cd $(BASEDIR)
+	$(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)
 endif
 	$(DELTREE) $(PACKDIR)
 endif

+ 1 - 1
packages/x11/Makefile.fpc

@@ -3,7 +3,7 @@
 #
 
 [targets]
-units=x xlib xutil xresource
+units=x xlib xutil xresource xcms
 
 [dirs]
 fpcdir=../..

+ 433 - 563
packages/x11/x.pp

@@ -1,578 +1,448 @@
-{
-  $Id$
-}
 unit x;
-
-   { Changes to the original conversion marked MVC - Michael Van Canneyt}
+interface
 
 {$LinkLib c}
 {$LinkLib X11}
 
-  interface
+{
+  Automatically converted by H2Pas 0.99.15 from x.h
+  The following command line parameters were used:
+    -p
+    -T
+    -S
+    -d
+    -c
+    x.h
+}
+
+{ Pointers to basic pascal types, inserted by h2pas conversion program.}
+Type
+  PLongint  = ^Longint;
+  PPLongint = ^PLongint;
+  PSmallInt = ^SmallInt;
+  PByte     = ^Byte;
+  PPByte    = ^PByte;
+  PWord     = ^Word;
+  PDWord    = ^DWord;
+  PDouble   = ^Double;
+  PPChar    = ^PChar;
+  PPPChar   = ^PPChar;
+  PPWideChar  = ^PWideChar;
+  PPPWideChar = ^PPWideChar;
+
+
+{$PACKRECORDS C}
+
+
+const
+   X_PROTOCOL = 11;
+   X_PROTOCOL_REVISION = 0;
+type
+
+   PXID = ^TXID;
+   TXID = dword;
+
+   PMask = ^TMask;
+   TMask = dword;
+
+   PPAtom = ^PAtom;
+   PAtom = ^TAtom;
+   TAtom = dword;
 
-    const
-       X_PROTOCOL = 11;
+   PVisualID = ^TVisualID;
+   TVisualID = dword;
 
-       X_PROTOCOL_REVISION = 0;
+   PTime = ^TTime;
+   TTime = dword;
 
+   PPWindow = ^PWindow;
+   PWindow = ^TWindow;
+   TWindow = TXID;
 
-    type
-    { Inserted the following by hand. It was under a ifndef _XSERVER64. All
-      were unsigned longs originally
-      -- MVC. }
-        TXID = cardinal ;
-        TMask = cardinal ;
-        TAtom = cardinal ;
-        TVisualID = cardinal ;
-        TTime = cardinal ;
-        { End of insert }
-       TWindow = TXID;
-       TDrawable = TXID;
-       TFont = TXID;
-       TPixmap = TXID;
-       TCursor = TXID;
-       TColormap = TXID;
-       TGContext = TXID;
-       TKeySym = TXID;
-       TKeyCode = char;
-       PKeyCode = ^TKeyCode;
-       { Pointers to all these things. Needed for C calls. MVC }
-       PAtom = ^TAtom;
-       PPAtom = ^PAtom;
-       PWindow = ^TWindow;
-       PColormap = ^TColormap;
-       PKeySym = ^TKeysym;
-       PPixmap = ^TPixmap;
+   PDrawable = ^TDrawable;
+   TDrawable = TXID;
 
-    {*****************************************************************
-     * RESERVED RESOURCE AND CONSTANT DEFINITIONS
-     *****************************************************************}
-    {* universal null resource or null atom *}
+   PFont = ^TFont;
+   TFont = TXID;
 
-    const
-       None = 0;
-    {* background pixmap in CreateWindow
-                                    and ChangeWindowAttributes *}
-       ParentRelative = 1;
-    {* border pixmap in CreateWindow
-                                       and ChangeWindowAttributes
-                                   special VisualID and special window
-                                       class passed to CreateWindow *}
-       CopyFromParent = 0;
-    {* destination window in SendEvent *}
-       PointerWindow = 0;
-    {* destination window in SendEvent *}
-       InputFocus = 1;
-    {* focus window in SetInputFocus *}
-       PointerRoot = 1;
-    {* special Atom, passed to GetProperty *}
-       AnyPropertyType = 0;
-    {* special Key Code, passed to GrabKey *}
-       AnyKey = 0;
-    {* special Button Code, passed to GrabButton *}
-       AnyButton = 0;
-    {* special Resource ID passed to KillClient *}
-       AllTemporary = 0;
-    {* special Time *}
-       CurrentTime = 0;
-    {* 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.  *}
-       NoSymbol = 0;
-       NoEventMask = 0;
-       KeyPressMask = (1) shl (0);
-       KeyReleaseMask = (1) shl (1);
-       ButtonPressMask = (1) shl (2);
-       ButtonReleaseMask = (1) shl (3);
-       EnterWindowMask = (1) shl (4);
-       LeaveWindowMask = (1) shl (5);
-       PointerMotionMask = (1) shl (6);
-       PointerMotionHintMask = (1) shl (7);
-       Button1MotionMask = (1) shl (8);
-       Button2MotionMask = (1) shl (9);
-       Button3MotionMask = (1) shl (10);
-       Button4MotionMask = (1) shl (11);
-       Button5MotionMask = (1) shl (12);
-       ButtonMotionMask = (1) shl (13);
-       KeymapStateMask = (1) shl (14);
-       ExposureMask = (1) shl (15);
-       VisibilityChangeMask = (1) shl (16);
-       StructureNotifyMask = (1) shl (17);
-       ResizeRedirectMask = (1) shl (18);
-       SubstructureNotifyMask = (1) shl (19);
-       SubstructureRedirectMask = (1) shl (20);
-       FocusChangeMask = (1) shl (21);
-       PropertyChangeMask = (1) shl (22);
-       ColormapChangeMask = (1) shl (23);
-    {* 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. *}
-       OwnerGrabButtonMask = (1) shl (24);
-       KeyPress = 2;
-       KeyRelease = 3;
-       ButtonPress = 4;
-       ButtonRelease = 5;
-       MotionNotify = 6;
-       EnterNotify = 7;
-       LeaveNotify = 8;
-       FocusIn = 9;
-       FocusOut = 10;
-       KeymapNotify = 11;
-       Expose = 12;
-       GraphicsExpose = 13;
-       NoExpose = 14;
-       VisibilityNotify = 15;
-       CreateNotify = 16;
-       DestroyNotify = 17;
-       UnmapNotify = 18;
-       MapNotify = 19;
-       MapRequest = 20;
-       ReparentNotify = 21;
-       ConfigureNotify = 22;
-       ConfigureRequest = 23;
-       GravityNotify = 24;
-       ResizeRequest = 25;
-       CirculateNotify = 26;
-       CirculateRequest = 27;
-       PropertyNotify = 28;
-       SelectionClear = 29;
-       SelectionRequest = 30;
-       SelectionNotify = 31;
-       ColormapNotify = 32;
-       ClientMessage = 33;
-       MappingNotify = 34;
-    {* 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. *}
-       LASTEvent = 35;
-       ShiftMask = (1) shl (0);
-       LockMask = (1) shl (1);
-       ControlMask = (1) shl (2);
-       Mod1Mask = (1) shl (3);
-       Mod2Mask = (1) shl (4);
-       Mod3Mask = (1) shl (5);
-       Mod4Mask = (1) shl (6);
-    {* modifier names.  Used to build a SetModifierMapping request or
-       to read a GetModifierMapping request.  These correspond to the
-       masks defined above. *}
-       Mod5Mask = (1) shl (7);
-       ShiftMapIndex = 0;
-       LockMapIndex = 1;
-       ControlMapIndex = 2;
-       Mod1MapIndex = 3;
-       Mod2MapIndex = 4;
-       Mod3MapIndex = 5;
-       Mod4MapIndex = 6;
-    {* button masks.  Used in same manner as Key masks above. Not to be confused
-       with button names below. *}
-       Mod5MapIndex = 7;
-       Button1Mask = (1) shl (8);
-       Button2Mask = (1) shl (9);
-       Button3Mask = (1) shl (10);
-       Button4Mask = (1) shl (11);
-       Button5Mask = (1) shl (12);
-    {* 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".  *}
-       AnyModifier = (1) shl (15);
-       Button1 = 1;
-       Button2 = 2;
-       Button3 = 3;
-       Button4 = 4;
-    {* Notify modes *}
-       Button5 = 5;
-       NotifyNormal = 0;
-       NotifyGrab = 1;
-       NotifyUngrab = 2;
-       NotifyWhileGrabbed = 3;
-    {* for MotionNotify events *}
-    {* Notify detail *}
-       NotifyHint = 1;
-       NotifyAncestor = 0;
-       NotifyVirtual = 1;
-       NotifyInferior = 2;
-       NotifyNonlinear = 3;
-       NotifyNonlinearVirtual = 4;
-       NotifyPointer = 5;
-       NotifyPointerRoot = 6;
-    {* Visibility notify *}
-       NotifyDetailNone = 7;
-       VisibilityUnobscured = 0;
-       VisibilityPartiallyObscured = 1;
-    {* Circulation request *}
-       VisibilityFullyObscured = 2;
-       PlaceOnTop = 0;
-    {* protocol families *}
-       PlaceOnBottom = 1;
-       FamilyInternet = 0;
-       FamilyDECnet = 1;
-    {* Property notification *}
-       FamilyChaos = 2;
-       PropertyNewValue = 0;
-    {* Color Map notification *}
-       PropertyDelete = 1;
-       ColormapUninstalled = 0;
-    {* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes *}
-       ColormapInstalled = 1;
-       GrabModeSync = 0;
-    {* GrabPointer, GrabKeyboard reply status *}
-       GrabModeAsync = 1;
-       GrabSuccess = 0;
-       AlreadyGrabbed = 1;
-       GrabInvalidTime = 2;
-       GrabNotViewable = 3;
-    {* AllowEvents modes *}
-       GrabFrozen = 4;
-       AsyncPointer = 0;
-       SyncPointer = 1;
-       ReplayPointer = 2;
-       AsyncKeyboard = 3;
-       SyncKeyboard = 4;
-       ReplayKeyboard = 5;
-       AsyncBoth = 6;
-    {* Used in SetInputFocus, GetInputFocus *}
-       SyncBoth = 7;
-    {*****************************************************************
-     * ERROR CODES
-     *****************************************************************}
-       RevertToParent = 2;
-    {* everything's okay *}
-       Success = 0;
-    {* bad request code *}
-       BadRequest = 1;
-    {* int parameter out of range *}
-       BadValue = 2;
-    {* parameter not a Window *}
-       BadWindow = 3;
-    {* parameter not a Pixmap *}
-       BadPixmap = 4;
-    {* parameter not an Atom *}
-       BadAtom = 5;
-    {* parameter not a Cursor *}
-       BadCursor = 6;
-    {* parameter not a Font *}
-       BadFont = 7;
-    {* parameter mismatch *}
-       BadMatch = 8;
-    {* parameter not a Pixmap or Window *}
-       BadDrawable = 9;
-    {* 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.
-                                *}
-       BadAccess = 10;
-    {* insufficient resources *}
-       BadAlloc = 11;
-    {* no such colormap *}
-       BadColor = 12;
-    {* parameter not a GC *}
-       BadGC = 13;
-    {* choice not in range or already used *}
-       BadIDChoice = 14;
-    {* font or color name doesn't exist *}
-       BadName = 15;
-    {* Request length incorrect *}
-       BadLength = 16;
-    {* server is defective *}
-       BadImplementation = 17;
-       FirstExtensionError = 128;
-    {*****************************************************************
-     * WINDOW DEFINITIONS
-     *****************************************************************}
-    {* Window classes used by CreateWindow *}
-    {* Note that CopyFromParent is already defined as 0 above *}
-       LastExtensionError = 255;
-       InputOutput = 1;
-    {* Window attributes for CreateWindow and ChangeWindowAttributes *}
-       InputOnly = 2;
-       CWBackPixmap = (1) shl (0);
-       CWBackPixel = (1) shl (1);
-       CWBorderPixmap = (1) shl (2);
-       CWBorderPixel = (1) shl (3);
-       CWBitGravity = (1) shl (4);
-       CWWinGravity = (1) shl (5);
-       CWBackingStore = (1) shl (6);
-       CWBackingPlanes = (1) shl (7);
-       CWBackingPixel = (1) shl (8);
-       CWOverrideRedirect = (1) shl (9);
-       CWSaveUnder = (1) shl (10);
-       CWEventMask = (1) shl (11);
-       CWDontPropagate = (1) shl (12);
-       CWColormap = (1) shl (13);
-    {* ConfigureWindow structure *}
-       CWCursor = (1) shl (14);
-       CWX = (1) shl (0);
-       CWY = (1) shl (1);
-       CWWidth = (1) shl (2);
-       CWHeight = (1) shl (3);
-       CWBorderWidth = (1) shl (4);
-       CWSibling = (1) shl (5);
-    {* Bit Gravity *}
-       CWStackMode = (1) shl (6);
-       ForgetGravity = 0;
-       NorthWestGravity = 1;
-       NorthGravity = 2;
-       NorthEastGravity = 3;
-       WestGravity = 4;
-       CenterGravity = 5;
-       EastGravity = 6;
-       SouthWestGravity = 7;
-       SouthGravity = 8;
-       SouthEastGravity = 9;
-    {* Window gravity + bit gravity above *}
-       StaticGravity = 10;
-    {* Used in CreateWindow for backing-store hint *}
-       UnmapGravity = 0;
-       NotUseful = 0;
-       WhenMapped = 1;
-    {* Used in GetWindowAttributes reply *}
-       Always = 2;
-       IsUnmapped = 0;
-       IsUnviewable = 1;
-    {* Used in ChangeSaveSet *}
-       IsViewable = 2;
-       SetModeInsert = 0;
-    {* Used in ChangeCloseDownMode *}
-       SetModeDelete = 1;
-       DestroyAll = 0;
-       RetainPermanent = 1;
-    {* Window stacking method (in configureWindow) *}
-       RetainTemporary = 2;
-       Above = 0;
-       Below = 1;
-       TopIf = 2;
-       BottomIf = 3;
-    {* Circulation direction *}
-       Opposite = 4;
-       RaiseLowest = 0;
-    {* Property modes *}
-       LowerHighest = 1;
-       PropModeReplace = 0;
-       PropModePrepend = 1;
-    {*****************************************************************
-     * GRAPHICS DEFINITIONS
-     *****************************************************************}
-    {* graphics functions, as in GC.alu *}
-       PropModeAppend = 2;
-    {* 0 *}
-       GXclear = $0;
-    {* src AND dst *}
-       GXand = $1;
-    {* src AND NOT dst *}
-       GXandReverse = $2;
-    {* src *}
-       GXcopy = $3;
-    {* NOT src AND dst *}
-       GXandInverted = $4;
-    {* dst *}
-       GXnoop = $5;
-    {* src XOR dst *}
-       GXxor = $6;
-    {* src OR dst *}
-       GXor = $7;
-    {* NOT src AND NOT dst *}
-       GXnor = $8;
-    {* NOT src XOR dst *}
-       GXequiv = $9;
-    {* NOT dst *}
-       GXinvert = $a;
-    {* src OR NOT dst *}
-       GXorReverse = $b;
-    {* NOT src *}
-       GXcopyInverted = $c;
-    {* NOT src OR dst *}
-       GXorInverted = $d;
-    {* NOT src OR NOT dst *}
-       GXnand = $e;
-    {* 1 *}
-    {* LineStyle *}
-       GXset = $f;
-       LineSolid = 0;
-       LineOnOffDash = 1;
-    {* capStyle *}
-       LineDoubleDash = 2;
-       CapNotLast = 0;
-       CapButt = 1;
-       CapRound = 2;
-    {* joinStyle *}
-       CapProjecting = 3;
-       JoinMiter = 0;
-       JoinRound = 1;
-    {* fillStyle *}
-       JoinBevel = 2;
-       FillSolid = 0;
-       FillTiled = 1;
-       FillStippled = 2;
-    {* fillRule *}
-       FillOpaqueStippled = 3;
-       EvenOddRule = 0;
-    {* subwindow mode *}
-       WindingRule = 1;
-       ClipByChildren = 0;
-    {* SetClipRectangles ordering *}
-       IncludeInferiors = 1;
-       Unsorted = 0;
-       YSorted = 1;
-       YXSorted = 2;
-    {* CoordinateMode for drawing routines *}
-       YXBanded = 3;
-    {* relative to the origin *}
-       CoordModeOrigin = 0;
-    {* relative to previous point *}
-    {* Polygon shapes *}
-       CoordModePrevious = 1;
-    {* paths may intersect *}
-       Complex = 0;
-    {* no paths intersect, but not convex *}
-       Nonconvex = 1;
-    {* wholly convex *}
-    {* Arc modes for PolyFillArc *}
-       Convex = 2;
-    {* join endpoints of arc *}
-       ArcChord = 0;
-    {* join endpoints to center of arc *}
-    {* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
-       GC.stateChanges *}
-       ArcPieSlice = 1;
-       GCFunction = (1) shl (0);
-       GCPlaneMask = (1) shl (1);
-       GCForeground = (1) shl (2);
-       GCBackground = (1) shl (3);
-       GCLineWidth = (1) shl (4);
-       GCLineStyle = (1) shl (5);
-       GCCapStyle = (1) shl (6);
-       GCJoinStyle = (1) shl (7);
-       GCFillStyle = (1) shl (8);
-       GCFillRule = (1) shl (9);
-       GCTile = (1) shl (10);
-       GCStipple = (1) shl (11);
-       GCTileStipXOrigin = (1) shl (12);
-       GCTileStipYOrigin = (1) shl (13);
-       GCFont = (1) shl (14);
-       GCSubwindowMode = (1) shl (15);
-       GCGraphicsExposures = (1) shl (16);
-       GCClipXOrigin = (1) shl (17);
-       GCClipYOrigin = (1) shl (18);
-       GCClipMask = (1) shl (19);
-       GCDashOffset = (1) shl (20);
-       GCDashList = (1) shl (21);
-       GCArcMode = (1) shl (22);
-    {*****************************************************************
-     * FONTS
-     *****************************************************************}
-    {* used in QueryFont -- draw direction *}
-       GCLastBit = 22;
-       FontLeftToRight = 0;
-       FontRightToLeft = 1;
-    {*****************************************************************
-     *  IMAGING
-     *****************************************************************}
-    {* ImageFormat -- PutImage, GetImage *}
-       FontChange = 255;
-    {* depth 1, XYFormat *}
-       XYBitmap = 0;
-    {* depth == drawable depth *}
-       XYPixmap = 1;
-    {* depth == drawable depth *}
-    {*****************************************************************
-     *  COLOR MAP STUFF
-     *****************************************************************}
-    {* For CreateColormap *}
-       ZPixmap = 2;
-    {* create map with no entries *}
-       AllocNone = 0;
-    {* allocate entire map writeable *}
-    {* Flags used in StoreNamedColor, StoreColors *}
-       AllocAll = 1;
-       DoRed = (1) shl (0);
-       DoGreen = (1) shl (1);
-    {*****************************************************************
-     * CURSOR STUFF
-     *****************************************************************}
-    {* QueryBestSize Class *}
-       DoBlue = (1) shl (2);
-    {* largest size that can be displayed *}
-       CursorShape = 0;
-    {* size tiled fastest *}
-       TileShape = 1;
-    {* size stippled fastest *}
-    {*****************************************************************
-     * KEYBOARD/POINTER STUFF
-     *****************************************************************}
-       StippleShape = 2;
-       AutoRepeatModeOff = 0;
-       AutoRepeatModeOn = 1;
-       AutoRepeatModeDefault = 2;
-       LedModeOff = 0;
-    {* masks for ChangeKeyboardControl *}
-       LedModeOn = 1;
-       KBKeyClickPercent = (1) shl (0);
-       KBBellPercent = (1) shl (1);
-       KBBellPitch = (1) shl (2);
-       KBBellDuration = (1) shl (3);
-       KBLed = (1) shl (4);
-       KBLedMode = (1) shl (5);
-       KBKey = (1) shl (6);
-       KBAutoRepeatMode = (1) shl (7);
-       MappingSuccess = 0;
-       MappingBusy = 1;
-       MappingFailed = 2;
-       MappingModifier = 0;
-       MappingKeyboard = 1;
-    {*****************************************************************
-     * SCREEN SAVER STUFF
-     *****************************************************************}
-       MappingPointer = 2;
-       DontPreferBlanking = 0;
-       PreferBlanking = 1;
-       DefaultBlanking = 2;
-       DisableScreenSaver = 0;
-       DisableScreenInterval = 0;
-       DontAllowExposures = 0;
-       AllowExposures = 1;
-    {* for ForceScreenSaver *}
-       DefaultExposures = 2;
-       ScreenSaverReset = 0;
-    {*****************************************************************
-     * HOSTS AND CONNECTIONS
-     *****************************************************************}
-    {* for ChangeHosts *}
-       ScreenSaverActive = 1;
-       HostInsert = 0;
-    {* for ChangeAccessControl *}
-       HostDelete = 1;
-       EnableAccess = 1;
-    {* Display classes  used in opening the connection
-     * Note that the statically allocated ones are even numbered and the
-     * dynamically changeable ones are odd numbered *}
-       DisableAccess = 0;
-       StaticGray = 0;
-       GrayScale = 1;
-       StaticColor = 2;
-       PseudoColor = 3;
-       TrueColor = 4;
-    {* Byte order  used in imageByteOrder and bitmapBitOrder *}
-       DirectColor = 5;
-       LSBFirst = 0;
-       MSBFirst = 1;
+   PPixmap = ^TPixmap;
+   TPixmap = TXID;
 
-    { Pointer Declarations }
+   PCursor = ^TCursor;
+   TCursor = TXID;
+
+   PColormap = ^TColormap;
+   TColormap = TXID;
+
+   PGContext = ^TGContext;
+   TGContext = TXID;
+
+   PKeySym = ^TKeySym;
+   TKeySym = TXID;
+
+   PKeyCode = ^TKeyCode;
+   TKeyCode = byte;
+
+const
+   None = 0;
+   ParentRelative = 1;
+   CopyFromParent = 0;
+   PointerWindow = 0;
+   InputFocus = 1;
+   PointerRoot = 1;
+   AnyPropertyType = 0;
+   AnyKey = 0;
+   AnyButton = 0;
+   AllTemporary = 0;
+   CurrentTime = 0;
+   NoSymbol = 0;
+   NoEventMask = 0;
+   KeyPressMask = 1 shl 0;
+   KeyReleaseMask = 1 shl 1;
+   ButtonPressMask = 1 shl 2;
+   ButtonReleaseMask = 1 shl 3;
+   EnterWindowMask = 1 shl 4;
+   LeaveWindowMask = 1 shl 5;
+   PointerMotionMask = 1 shl 6;
+   PointerMotionHintMask = 1 shl 7;
+   Button1MotionMask = 1 shl 8;
+   Button2MotionMask = 1 shl 9;
+   Button3MotionMask = 1 shl 10;
+   Button4MotionMask = 1 shl 11;
+   Button5MotionMask = 1 shl 12;
+   ButtonMotionMask = 1 shl 13;
+   KeymapStateMask = 1 shl 14;
+   ExposureMask = 1 shl 15;
+   VisibilityChangeMask = 1 shl 16;
+   StructureNotifyMask = 1 shl 17;
+   ResizeRedirectMask = 1 shl 18;
+   SubstructureNotifyMask = 1 shl 19;
+   SubstructureRedirectMask = 1 shl 20;
+   FocusChangeMask = 1 shl 21;
+   PropertyChangeMask = 1 shl 22;
+   ColormapChangeMask = 1 shl 23;
+   OwnerGrabButtonMask = 1 shl 24;
+   KeyPress = 2;
+   KeyRelease = 3;
+   ButtonPress = 4;
+   ButtonRelease = 5;
+   MotionNotify = 6;
+   EnterNotify = 7;
+   LeaveNotify = 8;
+   FocusIn = 9;
+   FocusOut = 10;
+   KeymapNotify = 11;
+   Expose = 12;
+   GraphicsExpose = 13;
+   NoExpose = 14;
+   VisibilityNotify = 15;
+   CreateNotify = 16;
+   DestroyNotify = 17;
+   UnmapNotify = 18;
+   MapNotify = 19;
+   MapRequest = 20;
+   ReparentNotify = 21;
+   ConfigureNotify = 22;
+   ConfigureRequest = 23;
+   GravityNotify = 24;
+   ResizeRequest = 25;
+   CirculateNotify = 26;
+   CirculateRequest = 27;
+   PropertyNotify = 28;
+   SelectionClear = 29;
+   SelectionRequest = 30;
+   SelectionNotify = 31;
+   ColormapNotify = 32;
+   ClientMessage = 33;
+   MappingNotify = 34;
+   LASTEvent = 35;
+   ShiftMask = 1 shl 0;
+   LockMask = 1 shl 1;
+   ControlMask = 1 shl 2;
+   Mod1Mask = 1 shl 3;
+   Mod2Mask = 1 shl 4;
+   Mod3Mask = 1 shl 5;
+   Mod4Mask = 1 shl 6;
+   Mod5Mask = 1 shl 7;
+   ShiftMapIndex = 0;
+   LockMapIndex = 1;
+   ControlMapIndex = 2;
+   Mod1MapIndex = 3;
+   Mod2MapIndex = 4;
+   Mod3MapIndex = 5;
+   Mod4MapIndex = 6;
+   Mod5MapIndex = 7;
+   Button1Mask = 1 shl 8;
+   Button2Mask = 1 shl 9;
+   Button3Mask = 1 shl 10;
+   Button4Mask = 1 shl 11;
+   Button5Mask = 1 shl 12;
+   AnyModifier = 1 shl 15;
+   Button1 = 1;
+   Button2 = 2;
+   Button3 = 3;
+   Button4 = 4;
+   Button5 = 5;
+   NotifyNormal = 0;
+   NotifyGrab = 1;
+   NotifyUngrab = 2;
+   NotifyWhileGrabbed = 3;
+   NotifyHint = 1;
+   NotifyAncestor = 0;
+   NotifyVirtual = 1;
+   NotifyInferior = 2;
+   NotifyNonlinear = 3;
+   NotifyNonlinearVirtual = 4;
+   NotifyPointer = 5;
+   NotifyPointerRoot = 6;
+   NotifyDetailNone = 7;
+   VisibilityUnobscured = 0;
+   VisibilityPartiallyObscured = 1;
+   VisibilityFullyObscured = 2;
+   PlaceOnTop = 0;
+   PlaceOnBottom = 1;
+   FamilyInternet = 0;
+   FamilyDECnet = 1;
+   FamilyChaos = 2;
+   PropertyNewValue = 0;
+   PropertyDelete = 1;
+   ColormapUninstalled = 0;
+   ColormapInstalled = 1;
+   GrabModeSync = 0;
+   GrabModeAsync = 1;
+   GrabSuccess = 0;
+   AlreadyGrabbed = 1;
+   GrabInvalidTime = 2;
+   GrabNotViewable = 3;
+   GrabFrozen = 4;
+   AsyncPointer = 0;
+   SyncPointer = 1;
+   ReplayPointer = 2;
+   AsyncKeyboard = 3;
+   SyncKeyboard = 4;
+   ReplayKeyboard = 5;
+   AsyncBoth = 6;
+   SyncBoth = 7;
+function RevertToNone : longint;
+
+function RevertToPointerRoot : longint;
+
+
+const
+   RevertToParent = 2;
+   Success = 0;
+   BadRequest = 1;
+   BadValue = 2;
+   BadWindow = 3;
+   BadPixmap = 4;
+   BadAtom = 5;
+   BadCursor = 6;
+   BadFont = 7;
+   BadMatch = 8;
+   BadDrawable = 9;
+   BadAccess = 10;
+   BadAlloc = 11;
+   BadColor = 12;
+   BadGC = 13;
+   BadIDChoice = 14;
+   BadName = 15;
+   BadLength = 16;
+   BadImplementation = 17;
+   FirstExtensionError = 128;
+   LastExtensionError = 255;
+   InputOutput = 1;
+   InputOnly = 2;
+   CWBackPixmap = 1 shl 0;
+   CWBackPixel = 1 shl 1;
+   CWBorderPixmap = 1 shl 2;
+   CWBorderPixel = 1 shl 3;
+   CWBitGravity = 1 shl 4;
+   CWWinGravity = 1 shl 5;
+   CWBackingStore = 1 shl 6;
+   CWBackingPlanes = 1 shl 7;
+   CWBackingPixel = 1 shl 8;
+   CWOverrideRedirect = 1 shl 9;
+   CWSaveUnder = 1 shl 10;
+   CWEventMask = 1 shl 11;
+   CWDontPropagate = 1 shl 12;
+   CWColormap = 1 shl 13;
+   CWCursor = 1 shl 14;
+   CWX = 1 shl 0;
+   CWY = 1 shl 1;
+   CWWidth = 1 shl 2;
+   CWHeight = 1 shl 3;
+   CWBorderWidth = 1 shl 4;
+   CWSibling = 1 shl 5;
+   CWStackMode = 1 shl 6;
+   ForgetGravity = 0;
+   NorthWestGravity = 1;
+   NorthGravity = 2;
+   NorthEastGravity = 3;
+   WestGravity = 4;
+   CenterGravity = 5;
+   EastGravity = 6;
+   SouthWestGravity = 7;
+   SouthGravity = 8;
+   SouthEastGravity = 9;
+   StaticGravity = 10;
+   UnmapGravity = 0;
+   NotUseful = 0;
+   WhenMapped = 1;
+   Always = 2;
+   IsUnmapped = 0;
+   IsUnviewable = 1;
+   IsViewable = 2;
+   SetModeInsert = 0;
+   SetModeDelete = 1;
+   DestroyAll = 0;
+   RetainPermanent = 1;
+   RetainTemporary = 2;
+   Above = 0;
+   Below = 1;
+   TopIf = 2;
+   BottomIf = 3;
+   Opposite = 4;
+   RaiseLowest = 0;
+   LowerHighest = 1;
+   PropModeReplace = 0;
+   PropModePrepend = 1;
+   PropModeAppend = 2;
+   GXclear = $0;
+   GXand = $1;
+   GXandReverse = $2;
+   GXcopy = $3;
+   GXandInverted = $4;
+   GXnoop = $5;
+   GXxor = $6;
+   GXor = $7;
+   GXnor = $8;
+   GXequiv = $9;
+   GXinvert = $a;
+   GXorReverse = $b;
+   GXcopyInverted = $c;
+   GXorInverted = $d;
+   GXnand = $e;
+   GXset = $f;
+   LineSolid = 0;
+   LineOnOffDash = 1;
+   LineDoubleDash = 2;
+   CapNotLast = 0;
+   CapButt = 1;
+   CapRound = 2;
+   CapProjecting = 3;
+   JoinMiter = 0;
+   JoinRound = 1;
+   JoinBevel = 2;
+   FillSolid = 0;
+   FillTiled = 1;
+   FillStippled = 2;
+   FillOpaqueStippled = 3;
+   EvenOddRule = 0;
+   WindingRule = 1;
+   ClipByChildren = 0;
+   IncludeInferiors = 1;
+   Unsorted = 0;
+   YSorted = 1;
+   YXSorted = 2;
+   YXBanded = 3;
+   CoordModeOrigin = 0;
+   CoordModePrevious = 1;
+   Complex = 0;
+   Nonconvex = 1;
+   Convex = 2;
+   ArcChord = 0;
+   ArcPieSlice = 1;
+   GCFunction = 1 shl 0;
+   GCPlaneMask = 1 shl 1;
+   GCForeground = 1 shl 2;
+   GCBackground = 1 shl 3;
+   GCLineWidth = 1 shl 4;
+   GCLineStyle = 1 shl 5;
+   GCCapStyle = 1 shl 6;
+   GCJoinStyle = 1 shl 7;
+   GCFillStyle = 1 shl 8;
+   GCFillRule = 1 shl 9;
+   GCTile = 1 shl 10;
+   GCStipple = 1 shl 11;
+   GCTileStipXOrigin = 1 shl 12;
+   GCTileStipYOrigin = 1 shl 13;
+   GCFont = 1 shl 14;
+   GCSubwindowMode = 1 shl 15;
+   GCGraphicsExposures = 1 shl 16;
+   GCClipXOrigin = 1 shl 17;
+   GCClipYOrigin = 1 shl 18;
+   GCClipMask = 1 shl 19;
+   GCDashOffset = 1 shl 20;
+   GCDashList = 1 shl 21;
+   GCArcMode = 1 shl 22;
+   GCLastBit = 22;
+   FontLeftToRight = 0;
+   FontRightToLeft = 1;
+   FontChange = 255;
+   XYBitmap = 0;
+   XYPixmap = 1;
+   ZPixmap = 2;
+   AllocNone = 0;
+   AllocAll = 1;
+   DoRed = 1 shl 0;
+   DoGreen = 1 shl 1;
+   DoBlue = 1 shl 2;
+   CursorShape = 0;
+   TileShape = 1;
+   StippleShape = 2;
+   AutoRepeatModeOff = 0;
+   AutoRepeatModeOn = 1;
+   AutoRepeatModeDefault = 2;
+   LedModeOff = 0;
+   LedModeOn = 1;
+   KBKeyClickPercent = 1 shl 0;
+   KBBellPercent = 1 shl 1;
+   KBBellPitch = 1 shl 2;
+   KBBellDuration = 1 shl 3;
+   KBLed = 1 shl 4;
+   KBLedMode = 1 shl 5;
+   KBKey = 1 shl 6;
+   KBAutoRepeatMode = 1 shl 7;
+   MappingSuccess = 0;
+   MappingBusy = 1;
+   MappingFailed = 2;
+   MappingModifier = 0;
+   MappingKeyboard = 1;
+   MappingPointer = 2;
+   DontPreferBlanking = 0;
+   PreferBlanking = 1;
+   DefaultBlanking = 2;
+   DisableScreenSaver = 0;
+   DisableScreenInterval = 0;
+   DontAllowExposures = 0;
+   AllowExposures = 1;
+   DefaultExposures = 2;
+   ScreenSaverReset = 0;
+   ScreenSaverActive = 1;
+   HostInsert = 0;
+   HostDelete = 1;
+   EnableAccess = 1;
+   DisableAccess = 0;
+   StaticGray = 0;
+   GrayScale = 1;
+   StaticColor = 2;
+   PseudoColor = 3;
+   TrueColor = 4;
+   DirectColor = 5;
+   LSBFirst = 0;
+   MSBFirst = 1;
+
+implementation
+
+function RevertToNone : longint;
+  begin
+     RevertToNone:=longint(None);
+  end;
+
+function RevertToPointerRoot : longint;
+  begin
+     RevertToPointerRoot:=longint(PointerRoot);
+  end;
 
-  implementation
 
 end.
-{
-  $Log$
-  Revision 1.2  2000-07-13 11:33:33  michael
-  + removed logs
- 
-}

+ 371 - 0
packages/x11/xcms.pp

@@ -0,0 +1,371 @@
+unit xcms;
+interface
+uses
+  x,xlib;
+
+{$LinkLib c}
+{$LinkLib X11}
+
+{
+  Automatically converted by H2Pas 0.99.15 from xcms.h
+  The following command line parameters were used:
+    -p
+    -T
+    -S
+    -d
+    -c
+    xcms.h
+}
+
+
+{$PACKRECORDS C}
+
+
+const
+   XcmsFailure = 0;
+   XcmsSuccess = 1;
+   XcmsSuccessWithCompression = 2;
+type
+   PXcmsColorFormat = ^TXcmsColorFormat;
+   TXcmsColorFormat = dword;
+function XcmsUndefinedFormat : TXcmsColorFormat;
+
+function XcmsCIEXYZFormat : TXcmsColorFormat;
+
+function XcmsCIEuvYFormat : TXcmsColorFormat;
+
+function XcmsCIExyYFormat : TXcmsColorFormat;
+
+function XcmsCIELabFormat : TXcmsColorFormat;
+
+function XcmsCIELuvFormat : TXcmsColorFormat;
+
+function XcmsTekHVCFormat : TXcmsColorFormat;
+
+function XcmsRGBFormat : TXcmsColorFormat;
+
+function XcmsRGBiFormat : TXcmsColorFormat;
+
+
+const
+   XcmsInitNone = $00;
+   XcmsInitSuccess = $01;
+   XcmsInitFailure = $ff;
+{$ifdef MACROS}
+function DisplayOfCCC(ccc : longint) : longint;
+
+function ScreenNumberOfCCC(ccc : longint) : longint;
+
+function VisualOfCCC(ccc : longint) : longint;
+
+function ClientWhitePointOfCCC(ccc : longint) : longint;
+
+function ScreenWhitePointOfCCC(ccc : longint) : longint;
+
+function FunctionSetOfCCC(ccc : longint) : longint;
+{$endif MACROS}
+
+type
+
+   PXcmsFloat = ^TXcmsFloat;
+   TXcmsFloat = double;
+
+   PXcmsRGB = ^TXcmsRGB;
+   TXcmsRGB = record
+        red : word;
+        green : word;
+        blue : word;
+     end;
+
+   PXcmsRGBi = ^TXcmsRGBi;
+   TXcmsRGBi = record
+        red : TXcmsFloat;
+        green : TXcmsFloat;
+        blue : TXcmsFloat;
+     end;
+
+   PXcmsCIEXYZ = ^TXcmsCIEXYZ;
+   TXcmsCIEXYZ = record
+        X : TXcmsFloat;
+        Y : TXcmsFloat;
+        Z : TXcmsFloat;
+     end;
+
+   PXcmsCIEuvY = ^TXcmsCIEuvY;
+   TXcmsCIEuvY = record
+        u_prime : TXcmsFloat;
+        v_prime : TXcmsFloat;
+        Y : TXcmsFloat;
+     end;
+
+   PXcmsCIExyY = ^TXcmsCIExyY;
+   TXcmsCIExyY = record
+        x : TXcmsFloat;
+        y : TXcmsFloat;
+        _Y : TXcmsFloat;
+     end;
+
+   PXcmsCIELab = ^TXcmsCIELab;
+   TXcmsCIELab = record
+        L_star : TXcmsFloat;
+        a_star : TXcmsFloat;
+        b_star : TXcmsFloat;
+     end;
+
+   PXcmsCIELuv = ^TXcmsCIELuv;
+   TXcmsCIELuv = record
+        L_star : TXcmsFloat;
+        u_star : TXcmsFloat;
+        v_star : TXcmsFloat;
+     end;
+
+   PXcmsTekHVC = ^TXcmsTekHVC;
+   TXcmsTekHVC = record
+        H : TXcmsFloat;
+        V : TXcmsFloat;
+        C : TXcmsFloat;
+     end;
+
+   PXcmsPad = ^TXcmsPad;
+   TXcmsPad = record
+        pad0 : TXcmsFloat;
+        pad1 : TXcmsFloat;
+        pad2 : TXcmsFloat;
+        pad3 : TXcmsFloat;
+     end;
+
+   PXcmsColor = ^TXcmsColor;
+   TXcmsColor = record
+        spec : record
+            case longint of
+               0 : ( RGB : TXcmsRGB );
+               1 : ( RGBi : TXcmsRGBi );
+               2 : ( CIEXYZ : TXcmsCIEXYZ );
+               3 : ( CIEuvY : TXcmsCIEuvY );
+               4 : ( CIExyY : TXcmsCIExyY );
+               5 : ( CIELab : TXcmsCIELab );
+               6 : ( CIELuv : TXcmsCIELuv );
+               7 : ( TekHVC : TXcmsTekHVC );
+               8 : ( Pad : TXcmsPad );
+            end;
+        pixel : dword;
+        format : TXcmsColorFormat;
+     end;
+
+   PXcmsPerScrnInfo = ^TXcmsPerScrnInfo;
+   TXcmsPerScrnInfo = record
+        screenWhitePt : TXcmsColor;
+        functionSet : TXPointer;
+        screenData : TXPointer;
+        state : byte;
+        pad : array[0..2] of char;
+     end;
+
+   PXcmsCCC = ^TXcmsCCC;
+
+   TXcmsCompressionProc = function (para1:PXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;
+
+   TXcmsWhiteAdjustProc = function (para1:PXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor;
+                para6:dword; para7:PBool):TStatus;cdecl;
+
+   TXcmsCCC = record
+        dpy : PDisplay;
+        screenNumber : longint;
+        visual : PVisual;
+        clientWhitePt : TXcmsColor;
+        gamutCompProc : TXcmsCompressionProc;
+        gamutCompClientData : TXPointer;
+        whitePtAdjProc : TXcmsWhiteAdjustProc;
+        whitePtAdjClientData : TXPointer;
+        pPerScrnInfo : PXcmsPerScrnInfo;
+     end;
+   TXcmsCCCRec = TXcmsCCC;
+   PXcmsCCCRec = ^TXcmsCCCRec;
+
+   TXcmsScreenInitProc = function (para1:PDisplay; para2:longint; para3:PXcmsPerScrnInfo):TStatus;cdecl;
+
+   TXcmsScreenFreeProc = procedure (para1:TXPointer);cdecl;
+
+   TXcmsConversionProc = procedure;cdecl;
+
+       PXcmsFuncListPtr = ^TXcmsFuncListPtr;
+       TXcmsFuncListPtr = TXcmsConversionProc;
+
+       TXcmsParseStringProc = function (para1:Pchar; para2:PXcmsColor):longint;cdecl;
+
+       PXcmsColorSpace = ^TXcmsColorSpace;
+       TXcmsColorSpace = record
+            prefix : Pchar;
+            id : TXcmsColorFormat;
+            parseString : TXcmsParseStringProc;
+            to_CIEXYZ : TXcmsFuncListPtr;
+            from_CIEXYZ : TXcmsFuncListPtr;
+            inverse_flag : longint;
+         end;
+
+       PXcmsFunctionSet = ^TXcmsFunctionSet;
+       TXcmsFunctionSet = record
+            DDColorSpaces : ^PXcmsColorSpace;
+            screenInitProc : TXcmsScreenInitProc;
+            screenFreeProc : TXcmsScreenFreeProc;
+         end;
+(* error
+extern Status XcmsAddColorSpace (
+in declaration at line 323 *)
+
+function XcmsAddFunctionSet(para1:PXcmsFunctionSet):TStatus;cdecl;external;
+function XcmsAllocColor(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:TXcmsColorFormat):TStatus;cdecl;external;
+function XcmsAllocNamedColor(para1:PDisplay; para2:TColormap; para3:Pchar; para4:PXcmsColor; para5:PXcmsColor;
+               para6:TXcmsColorFormat):TStatus;cdecl;external;
+function XcmsCCCOfColormap(para1:PDisplay; para2:TColormap):TXcmsCCC;cdecl;external;
+function XcmsCIELabClipab(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
+function XcmsCIELabClipL(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
+function XcmsCIELabClipLab(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
+function XcmsCIELabQueryMaxC(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
+function XcmsCIELabQueryMaxL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
+function XcmsCIELabQueryMaxLC(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor):TStatus;cdecl;external;
+function XcmsCIELabQueryMinL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
+function XcmsCIELabToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
+function XcmsCIELabWhiteShiftColors(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor;
+               para6:dword; para7:PBool):TStatus;cdecl;external;
+function XcmsCIELuvClipL(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
+function XcmsCIELuvClipLuv(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
+function XcmsCIELuvClipuv(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
+function XcmsCIELuvQueryMaxC(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
+function XcmsCIELuvQueryMaxL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
+function XcmsCIELuvQueryMaxLC(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor):TStatus;cdecl;external;
+function XcmsCIELuvQueryMinL(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
+function XcmsCIELuvToCIEuvY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
+function XcmsCIELuvWhiteShiftColors(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor;
+               para6:dword; para7:PBool):TStatus;cdecl;external;
+function XcmsCIEXYZToCIELab(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
+function XcmsCIEXYZToCIEuvY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
+function XcmsCIEXYZToCIExyY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
+function XcmsCIEXYZToRGBi(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external;
+function XcmsCIEuvYToCIELuv(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
+function XcmsCIEuvYToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
+function XcmsCIEuvYToTekHVC(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
+function XcmsCIExyYToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
+function XcmsClientWhitePointOfCCC(para1:TXcmsCCC):PXcmsColor;cdecl;external;
+function XcmsConvertColors(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:TXcmsColorFormat; para5:PBool):TStatus;cdecl;external;
+function XcmsCreateCCC(para1:PDisplay; para2:longint; para3:PVisual; para4:PXcmsColor; para5:TXcmsCompressionProc;
+               para6:TXPointer; para7:TXcmsWhiteAdjustProc; para8:TXPointer):TXcmsCCC;cdecl;external;
+function XcmsDefaultCCC(para1:PDisplay; para2:longint):TXcmsCCC;cdecl;external;
+function XcmsDisplayOfCCC(para1:TXcmsCCC):PDisplay;cdecl;external;
+function XcmsFormatOfPrefix(para1:Pchar):TXcmsColorFormat;cdecl;external;
+procedure XcmsFreeCCC(para1:TXcmsCCC);cdecl;external;
+function XcmsLookupColor(para1:PDisplay; para2:TColormap; para3:Pchar; para4:PXcmsColor; para5:PXcmsColor;
+               para6:TXcmsColorFormat):TStatus;cdecl;external;
+function XcmsPrefixOfFormat(para1:TXcmsColorFormat):Pchar;cdecl;external;
+function XcmsQueryBlack(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external;
+function XcmsQueryBlue(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external;
+function XcmsQueryColor(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:TXcmsColorFormat):TStatus;cdecl;external;
+function XcmsQueryColors(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:dword; para5:TXcmsColorFormat):TStatus;cdecl;external;
+function XcmsQueryGreen(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external;
+function XcmsQueryRed(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external;
+function XcmsQueryWhite(para1:TXcmsCCC; para2:TXcmsColorFormat; para3:PXcmsColor):TStatus;cdecl;external;
+function XcmsRGBiToCIEXYZ(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external;
+function XcmsRGBiToRGB(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external;
+function XcmsRGBToRGBi(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:PBool):TStatus;cdecl;external;
+function XcmsScreenNumberOfCCC(para1:TXcmsCCC):longint;cdecl;external;
+function XcmsScreenWhitePointOfCCC(para1:TXcmsCCC):PXcmsColor;cdecl;external;
+function XcmsSetCCCOfColormap(para1:PDisplay; para2:TColormap; para3:TXcmsCCC):TXcmsCCC;cdecl;external;
+function XcmsSetCompressionProc(para1:TXcmsCCC; para2:TXcmsCompressionProc; para3:TXPointer):TXcmsCompressionProc;cdecl;external;
+function XcmsSetWhiteAdjustProc(para1:TXcmsCCC; para2:TXcmsWhiteAdjustProc; para3:TXPointer):TXcmsWhiteAdjustProc;cdecl;external;
+function XcmsSetWhitePoint(para1:TXcmsCCC; para2:PXcmsColor):TStatus;cdecl;external;
+function XcmsStoreColor(para1:PDisplay; para2:TColormap; para3:PXcmsColor):TStatus;cdecl;external;
+function XcmsStoreColors(para1:PDisplay; para2:TColormap; para3:PXcmsColor; para4:dword; para5:PBool):TStatus;cdecl;external;
+function XcmsTekHVCClipC(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
+function XcmsTekHVCClipV(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
+function XcmsTekHVCClipVC(para1:TXcmsCCC; para2:PXcmsColor; para3:dword; para4:dword; para5:PBool):TStatus;cdecl;external;
+function XcmsTekHVCQueryMaxC(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
+function XcmsTekHVCQueryMaxV(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
+function XcmsTekHVCQueryMaxVC(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor):TStatus;cdecl;external;
+function XcmsTekHVCQueryMaxVSamples(para1:TXcmsCCC; para2:TXcmsFloat; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
+function XcmsTekHVCQueryMinV(para1:TXcmsCCC; para2:TXcmsFloat; para3:TXcmsFloat; para4:PXcmsColor):TStatus;cdecl;external;
+function XcmsTekHVCToCIEuvY(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:dword):TStatus;cdecl;external;
+function XcmsTekHVCWhiteShiftColors(para1:TXcmsCCC; para2:PXcmsColor; para3:PXcmsColor; para4:TXcmsColorFormat; para5:PXcmsColor;
+               para6:dword; para7:PBool):TStatus;cdecl;external;
+function XcmsVisualOfCCC(para1:TXcmsCCC):PVisual;cdecl;external;
+
+
+implementation
+
+function XcmsUndefinedFormat : TXcmsColorFormat;
+  begin
+     XcmsUndefinedFormat:=TXcmsColorFormat($00000000);
+  end;
+
+function XcmsCIEXYZFormat : TXcmsColorFormat;
+  begin
+     XcmsCIEXYZFormat:=TXcmsColorFormat($00000001);
+  end;
+
+function XcmsCIEuvYFormat : TXcmsColorFormat;
+  begin
+     XcmsCIEuvYFormat:=TXcmsColorFormat($00000002);
+  end;
+
+function XcmsCIExyYFormat : TXcmsColorFormat;
+  begin
+     XcmsCIExyYFormat:=TXcmsColorFormat($00000003);
+  end;
+
+function XcmsCIELabFormat : TXcmsColorFormat;
+  begin
+     XcmsCIELabFormat:=TXcmsColorFormat($00000004);
+  end;
+
+function XcmsCIELuvFormat : TXcmsColorFormat;
+  begin
+     XcmsCIELuvFormat:=TXcmsColorFormat($00000005);
+  end;
+
+function XcmsTekHVCFormat : TXcmsColorFormat;
+  begin
+     XcmsTekHVCFormat:=TXcmsColorFormat($00000006);
+  end;
+
+function XcmsRGBFormat : TXcmsColorFormat;
+  begin
+     XcmsRGBFormat:=TXcmsColorFormat($80000000);
+  end;
+
+function XcmsRGBiFormat : TXcmsColorFormat;
+  begin
+     XcmsRGBiFormat:=TXcmsColorFormat($80000001);
+  end;
+
+{$ifdef MACROS}
+function DisplayOfCCC(ccc : longint) : longint;
+begin
+   DisplayOfCCC:=ccc^.dpy;
+end;
+
+function ScreenNumberOfCCC(ccc : longint) : longint;
+begin
+   ScreenNumberOfCCC:=ccc^.screenNumber;
+end;
+
+function VisualOfCCC(ccc : longint) : longint;
+begin
+   VisualOfCCC:=ccc^.visual;
+end;
+
+function ClientWhitePointOfCCC(ccc : longint) : longint;
+begin
+   ClientWhitePointOfCCC:=@(ccc^.clientWhitePt);
+end;
+
+function ScreenWhitePointOfCCC(ccc : longint) : longint;
+begin
+   ScreenWhitePointOfCCC:=@(ccc^.(pPerScrnInfo^.screenWhitePt));
+end;
+
+function FunctionSetOfCCC(ccc : longint) : longint;
+begin
+   FunctionSetOfCCC:=ccc^.(pPerScrnInfo^.functionSet);
+end;
+{$endif MACROS}
+
+end.

+ 2117 - 1730
packages/x11/xlib.pp

@@ -1,1747 +1,2134 @@
-{
-  $Id$
-}
 unit xlib;
 interface
-
-{ Changes after conversion from Xlib.h marked MVC -- Michael Van Canneyt
-  Removed many many comments.
-  Including copyright. should be pasted in again. MVC }
-
-uses X;
+uses
+  x;
 
 {$LinkLib c}
 {$LinkLib X11}
 
-    type
-       TXPointer = ^char;
-       TBool = LongBool;
-       PBool = ^TBool;
-       TStatus = Longint; { Also a choice. MVC }
-       { Some pointers : }
-       pppchar = ^ppchar;
-       ppwindow = ^pwindow;
-       Twchar_t = cardinal;
-       Pwchar_t = ^Twchar_t;
-       Pstatus = ^TStatus;
-       PXPointer = ^TXPointer;
-       Plongint = ^Longint;
-       PPLOngint = ^Plongint;
-
-    const
-
 {
- Removed, standard in Pascal - MVC
-       True = 1;
-       False = 0;
+  Automatically converted by H2Pas 0.99.15 from xlib.h
+  The following command line parameters were used:
+    -p
+    -T
+    -S
+    -d
+    -c
+    xlib.h
 }
-        QueuedAlready = 0;
-        QueuedAfterReading = 1;
-
-    { !!!!!
-    #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.
-     }
-       QueuedAfterFlush = 2;
-    { number returned by XRegisterExtension }
-    { next item on list of data for structure }
-    { !!!!!
-        int (*free_private)();  /* called to free private storage }
-    { data private to this extension. }
-
-    type
-       { Added this for functions at the end. }
-       PCardinal = ^Cardinal;
-
-       PDisplay=^TDisplay;
-
-
-       PXExtData = ^TXExtData ;
-       PPXExtData = ^PXExtData ;
-       { Put this in to accomodate for the next in the following record. MVC}
-       TXExtData = record
-            number : longint;
-            next : PXExtData; { incorrectly converted. MVC }
-            private_data : TXPointer;
-         end;
-       TXExtCodes = record
-            extension : longint;
-            major_opcode : longint;
-            first_event : longint;
-            first_error : longint;
-         end;
-       PXExtCodes = ^TXExtCodes;
-    {
-     * Data structure for retrieving info about pixmap formats.
-     }
-       TXPixmapFormatValues = record
-            depth : longint;
-            bits_per_pixel : longint;
-            scanline_pad : longint;
-         end;
-       PXPixmapFormatValues = ^TXPixmapFormatValues;
-       TXGCValues = record
-            Xfunction : longint; { Renamed function to Xfunction }
-            plane_mask : cardinal;
-            foreground : cardinal;
-            background : cardinal;
-            line_width : longint;
-            line_style : longint;
-            cap_style : longint;
-            join_style : longint;
-            fill_style : longint;
-            fill_rule : longint;
-            arc_mode : longint;
-            tile : TPixmap;
-            stipple : TPixmap;
-            ts_x_origin : longint;
-            ts_y_origin : longint;
-            font : TFont;
-            subwindow_mode : longint;
-            graphics_exposures : TBool;
-                                 { This was Bool - error in converter ? MVC}
-            clip_x_origin : longint;
-            clip_y_origin : longint;
-            clip_mask : TPixmap;
-            dash_offset : longint;
-            dashes : char;
-         end;
-       PXGCValues = ^TXGCValues;
-    { The GC got defined as GC = ^record - probably from *struct, so I
-      defined a GCrecord. MVC. }
-       TGC = ^TGCrecord;
-       TGCrecord = record
-            ext_data : PXExtData;
-            gid : TGContext;
-         end;
-    {
-     * Visual structure; contains information about colormapping possible.
-     }
-       TVisual = record
-            ext_data : PXExtData;
-            visualid : TVisualID;
-            c_class : longint;
-            red_mask : cardinal;
-            green_mask : cardinal;
-            blue_mask : cardinal;
-            bits_per_rgb : longint;
-            map_entries : longint;
-         end;
-       PVisual = ^TVisual;
-    {
-     * Depth structure; contains information for each possible depth.
-     }
-       TDepth = record
-            depth : longint;
-            nvisuals : longint;
-            visuals : PVisual;
-         end;
-       PDepth=^TDepth;
-    {
-     * 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++
-    }
-    { Defined this, needed for the display field in the following.
-      Should be a pointer to the previous _Xdisplay... MVC}
-      p_XDisplay = pointer;
-       TScreen = record
-            ext_data : PXExtData;
-            display : p_XDisplay;
-            root : TWindow;
-            width : longint;
-            height : longint;
-            mwidth : longint;
-            mheight : longint;
-            ndepths : longint;
-            depths : PDepth;
-            root_depth : longint;
-            root_visual : PVisual;
-            default_gc : TGC;
-            cmap : TColormap;
-            white_pixel : cardinal;
-            black_pixel : cardinal;
-            max_maps : longint;
-            min_maps : longint;
-            backing_store : longint;
-            save_unders : TBool;
-            root_input_mask : longint;
-         end;
-         PScreen = ^TScreen;
-    {
-     * Format structure; describes ZFormat data the screen will understand.
-     }
-       TScreenFormat = record
-            ext_data : PXExtData;
-            depth : longint;
-            bits_per_pixel : longint;
-            scanline_pad : longint;
-         end;
-       PScreenFormat=^TScreenFormat;
-    {
-     * Data structure for setting window attributes.
-     }
-       TXSetWindowAttributes = record
-            background_pixmap : TPixmap;
-            background_pixel : cardinal;
-            border_pixmap : TPixmap;
-            border_pixel : cardinal;
-            bit_gravity : longint;
-            win_gravity : longint;
-            backing_store : longint;
-            backing_planes : cardinal;
-            backing_pixel : cardinal;
-            save_under : TBool;
-            event_mask : longint;
-            do_not_propagate_mask : longint;
-            override_redirect : TBool;
-            colormap : TColormap;
-            cursor : TCursor;
-         end;
-       PXSetWindowAttributes = ^TXSetWindowAttributes;
-       TXWindowAttributes = record
-            x : longint;
-            y : longint;
-            width : longint;
-            height : longint;
-            border_width : longint;
-            depth : longint;
-            visual : PVisual;
-            root : TWindow;
-            c_class : longint;
-            classes : longint; { Renamed from class. MVC}
-            bit_gravity : longint;
-            win_gravity : longint;
-            backing_store : longint;
-            backing_planes : cardinal;
-            backing_pixel : cardinal;
-            save_under : TBool;
-            colormap : TColormap;
-            map_installed : TBool;
-            map_state : longint;
-            all_event_masks : longint;
-            your_event_mask : longint;
-            do_not_propagate_mask : longint;
-            override_redirect : TBool;
-            screen : PScreen;
-         end;
-       PXWindowAttributes = ^TXWindowAttributes;
-    {
-     * Data structure for host setting; getting routines.
-     *
-     }
-       TXHostAddress = record
-            family : longint;
-            length : longint;
-            address : pchar;
-         end;
-       PXHostAddress = ^TXHostAddress ;
-    {
-     * Data structure for "image" data, used by image manipulation routines.
-     }
-      PXImage = ^TXImage;
-
-      TXImageFunctions = record
-         create_image: function(display: PDisplay; visual: PVisual;
-	   depth: Cardinal; format, offset: LongInt; data: PChar;
-	   width, height: Cardinal;
-	   bitmap_pad, bytes_per_line: Cardinal): PXImage; cdecl;
-	 destroy_image: function(image: PXImage): LongInt; cdecl;
-	 get_pixel: function(image: PXImage; x, y: LongInt): LongInt; cdecl;
-	 put_pixel: function(image: PXImage; x, y: LongInt;
-	   color: Cardinal): LongInt; cdecl;
-	 sub_image: function(image: PXImage; x, y: LongInt;
-	   w, h: Cardinal): PXImage; cdecl;
-	 add_pixel: function(image: PXImage; value: LongInt): LongInt;
-      end;
-
-      TXImage = record
-            width : longint;
-            height : longint;
-            xoffset : longint;
-            format : longint;
-            data : pchar;
-            byte_order : longint;
-            bitmap_unit : longint;
-            bitmap_bit_order : longint;
-            bitmap_pad : longint;
-            depth : longint;
-            bytes_per_line : longint;
-            bits_per_pixel : longint;
-            red_mask : cardinal;
-            green_mask : cardinal;
-            blue_mask : cardinal;
-            obdata : TXPointer;
-            f : TXImageFunctions
-         end;
-    {
-     * Data structure for XReconfigureWindow
-     }
-       TXWindowChanges = record
-            x : longint;
-            y : longint;
-            width : longint;
-            height : longint;
-            border_width : longint;
-            sibling : TWindow;
-            stack_mode : longint;
-         end;
-        PXWindowChanges =  ^TXWindowChanges;
-    {
-     * Data structure used by color operations
-     }
-    { do_red, do_green, do_blue }
-       TXColor = record
-            pixel : cardinal;
-            red : word;
-            green : word;
-            blue : word;
-            flags : char;
-            pad : char;
-         end;
-       PXColor = ^TXColor;
-    {
-     * 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.
-     }
-       TXSegment = record
-            x1 : integer;
-            y1 : integer;
-            x2 : integer;
-            y2 : integer;
-         end;
-       PXSegment = ^TXSegment;
-       TXPoint = record
-            x : integer;
-            y : integer;
-         end;
-       PXPoint = ^TXPoint;
-       TXRectangle = record
-            x : integer;
-            y : integer;
-            width : word;
-            height : word;
-         end;
-       PXRectangle = ^TXRectangle;
-       TXArc = record
-            x : integer;
-            y : integer;
-            width : word;
-            height : word;
-            angle1 : integer;
-            angle2 : integer;
-         end;
-       PXarc = ^TXarc;
-    { Data structure for XChangeKeyboardControl }
-    { On, Off, Default }
-       TXKeyboardControl = record
-            key_click_percent : longint;
-            bell_percent : longint;
-            bell_pitch : longint;
-            bell_duration : longint;
-            led : longint;
-            led_mode : longint;
-            key : longint;
-            auto_repeat_mode : longint;
-         end;
-        PXKeyboardControl = ^TXKeyboardControl;
-    { Data structure for XGetKeyboardControl }
-       TXKeyboardState = record
-            key_click_percent : longint;
-            bell_percent : longint;
-            bell_pitch : cardinal;
-            bell_duration : cardinal;
-            led_mask : cardinal;
-            global_auto_repeat : longint;
-            auto_repeats : array[0..(32)-1] of char;
-         end;
-       PXKeyboardState = ^TXKeyboardState;
-    { Data structure for XGetMotionEvents.  }
-       TXTimeCoord = record
-            time : TTime;
-            x : integer;
-            y : integer;
-         end;
-       PXTimeCoord = ^TXTimeCoord;
-    { Data structure for X[Set,Get]ModifierMapping }
-    { The server's max # of keys per modifier }
-    { An 8 by max_keypermod array of modifiers }
-       TXModifierKeymap = record
-            max_keypermod : longint;
-            modifiermap : PKeyCode;
-         end;
-       PXModifierKeymap = ^TXModifierKeymap;
-    {
-     * Display datatype maintaining display specific data.
-     * The contents of this structure are implementation dependent.
-     * A Display should be treated as opaque by application code.
-     }
-    { I commented the following. It is a complete mess in the XLib.h !!
-      MVC
-           Display = Display;
-    }
-    {
-    struct _XPrivate;           /* Forward declare before use for C++
-    struct _XrmHashBucketRec;
-    }
-       TDisplay = record
-            ext_data : PXExtData;
-            private1 : pointer ; { Should be to a _Xprivate struct. MVC }
-            fd : longint;
-            private2 : longint;
-            proto_major_version : longint;
-            proto_minor_version : longint;
-            vendor : pchar;
-            private3 : TXID;
-            private4 : TXID;
-            private5 : TXID;
-            private6 : longint;
-            resource_alloc : Function : TXID; cdecl;
-            byte_order : longint;
-            bitmap_unit : longint;
-            bitmap_pad : longint;
-            bitmap_bit_order : longint;
-            nformats : longint;
-            pixmap_format : PScreenFormat;
-            private8 : longint;
-            release : longint;
-            private9 : pointer ; { Both of them to a _XPRivate struct. MVC}
-            private10 : pointer ;
-            qlen : longint;
-            last_request_read : cardinal;
-            request : cardinal;
-            private11 : TXPointer;
-            private12 : TXPointer;
-            private13 : TXPointer;
-            private14 : TXPointer;
-            max_request_size : cardinal;
-            db : pointer; { To a _XrmHashBucketRec struct. MVC }
-            private15 : Function : longint; cdecl;
-            display_name : pchar;
-            default_screen : longint;
-            nscreens : longint;
-            screens : PScreen;
-            motion_buffer : cardinal;
-            private16 : cardinal;
-            min_keycode : longint;
-            max_keycode : longint;
-            private17 : TXPointer;
-            private18 : TXPointer;
-            private19 : longint;
-            xdefaults : pchar;
-         end;
-    {
-     * Definitions of specific events.
-     }
-    { !! Changed all 'type' definitions to 'eventttype' MVC }
-    { !! Changed al display definitions to 'whatdisplay' MVC }
-    { !! Idem dito for window,time,property !!}
-       TXKeyEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            root : TWindow;
-            subwindow : TWindow;
-            time : TTime;
-            x : longint;
-            y : longint;
-            x_root : longint;
-            y_root : longint;
-            state : cardinal;
-            keycode : cardinal;
-            same_screen : TBool;
-         end;
-       PXKeyEvent =^TXKeyEvent;
-       TXKeyPressedEvent = TXKeyEvent;
-       PXKeyPressedEvent= ^TXKeyPressedEvent;
-       TXKeyReleasedEvent = TXKeyEvent;
-       PXKeyReleasedEvent= ^TXKeyReleasedEvent;
-       TXButtonEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            root : TWindow;
-            subwindow : TWindow;
-            time : TTime;
-            x : longint;
-            y : longint;
-            x_root : longint;
-            y_root : longint;
-            state : cardinal;
-            button : cardinal;
-            same_screen : TBool;
-         end;
-       PXButtonEvent = ^TXButtonEvent;
-       TXButtonPressedEvent = TXButtonEvent;
-       PXButtonPressedEvent = ^TXButtonPressedEvent;
-       TXButtonReleasedEvent = TXButtonEvent;
-       PXButtonReleasedEvent = ^TXButtonReleasedEvent;
-       TXMotionEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            root : TWindow;
-            subwindow : TWindow;
-            time : TTime;
-            x : longint;
-            y : longint;
-            x_root : longint;
-            y_root : longint;
-            state : cardinal;
-            is_hint : char;
-            same_screen : TBool;
-         end;
-       PXMotionEvent = ^TXMotionEvent;
-       TXPointerMovedEvent = TXMotionEvent;
-       PXPointerMovedEvent = ^TXPointerMovedEvent;
-    {
-         * NotifyAncestor, NotifyVirtual, NotifyInferior,
-         * NotifyNonlinear,NotifyNonlinearVirtual
-         }
-       TXCrossingEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            root : TWindow;
-            subwindow : TWindow;
-            time : TTime;
-            x : longint;
-            y : longint;
-            x_root : longint;
-            y_root : longint;
-            mode : longint;
-            detail : longint;
-            same_screen : TBool;
-            focus : TBool;
-            state : cardinal;
-         end;
-       PXCrossingEvent = ^TXCrossingEvent;
-       TXEnterWindowEvent = TXCrossingEvent;
-       PXEnterWindowEvent = ^TXEnterWindowEvent;
-       TXLeaveWindowEvent = TXCrossingEvent;
-       PXLeaveWindowEvent = ^TXLeaveWindowEvent;
-       TXFocusChangeEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            mode : longint;
-            detail : longint;
-         end;
-       PXFocusChangeEvent = ^TXFocusChangeEvent;
-       TXFocusInEvent = TXFocusChangeEvent;
-       PXFocusInEvent = ^TXFocusInEvent;
-       TXFocusOutEvent = TXFocusChangeEvent;
-       PXFocusOutEvent = ^TXFocusOutEvent;
-       TXKeymapEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            key_vector : array[0..(32)-1] of char;
-         end;
-       PXKeymapEvent = ^TXKeymapEvent;
-       TXExposeEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            x : longint;
-            y : longint;
-            width : longint;
-            height : longint;
-            count : longint;
-         end;
-       PXExposeEvent = ^TXExposeEvent;
-       TXGraphicsExposeEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            drawable : TDrawable;
-            x : longint;
-            y : longint;
-            width : longint;
-            height : longint;
-            count : longint;
-            major_code : longint;
-            minor_code : longint;
-         end;
-       PXGraphicsExposeEvent = ^TXGraphicsExposeEvent;
-       TXNoExposeEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            drawable : TDrawable;
-            major_code : longint;
-            minor_code : longint;
-         end;
-       PXNoExposeEvent = ^TXNoExposeEvent;
-       TXVisibilityEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            state : longint;
-         end;
-       PXVisibilityEvent = ^TXVisibilityEvent;
-       TXCreateWindowEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            parent : TWindow;
-            window : TWindow;
-            x : longint;
-            y : longint;
-            width : longint;
-            height : longint;
-            border_width : longint;
-            override_redirect : TBool;
-         end;
-       PXCreateWindowEvent = ^TXCreateWindowEvent;
-       TXDestroyWindowEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            event : TWindow;
-            window : TWindow;
-         end;
-       PXDestroyWindowEvent = ^TXDestroyWindowEvent;
-       TXUnmapEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            event : TWindow;
-            window : TWindow;
-            from_configure : TBool;
-         end;
-       PXUnmapEvent = ^TXUnmapEvent;
-       TXMapEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            event : TWindow;
-            window : TWindow;
-            override_redirect : TBool;
-         end;
-       PXMapEvent = ^TXMapEvent;
-       TXMapRequestEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            parent : TWindow;
-            window : TWindow;
-         end;
-       PXMapRequestEvent = ^TXMapRequestEvent;
-       TXReparentEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            event : TWindow;
-            window : TWindow;
-            parent : TWindow;
-            x : longint;
-            y : longint;
-            override_redirect : TBool;
-         end;
-       PXReparentEvent = ^TXReparentEvent;
-       TXConfigureEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            event : TWindow;
-            window : TWindow;
-            x : longint;
-            y : longint;
-            width : longint;
-            height : longint;
-            border_width : longint;
-            above : TWindow;
-            override_redirect : TBool;
-         end;
-       PXConfigureEvent = ^TXConfigureEvent;
-       TXGravityEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            event : TWindow;
-            window : TWindow;
-            x : longint;
-            y : longint;
-         end;
-       PXGravityEvent = ^TXGravityEvent;
-       TXResizeRequestEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            width : longint;
-            height : longint;
-         end;
-       PXResizeRequestEvent = ^TXResizeRequestEvent;
-       TXConfigureRequestEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            parent : TWindow;
-            window : TWindow;
-            x : longint;
-            y : longint;
-            width : longint;
-            height : longint;
-            border_width : longint;
-            above : TWindow;
-            detail : longint;
-            value_mask : cardinal;
-         end;
-       PXConfigureRequestEvent = ^TXConfigureRequestEvent;
-       TXCirculateEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            event : TWindow;
-            window : TWindow;
-            place : longint;
-         end;
-       PXCirculateEvent = ^TXCirculateEvent;
-       TXCirculateRequestEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            parent : TWindow;
-            window : TWindow;
-            place : longint;
-         end;
-       PXCirculateRequestEvent = ^TXCirculateRequestEvent;
-       TXPropertyEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            atom : TAtom;
-            time : TTime;
-            state : longint;
-         end;
-       PXPropertyEvent = ^TXPropertyEvent;
-       TXSelectionClearEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            selection : TAtom;
-            time : TTime;
-         end;
-       PXSelectionClearEvent = ^TXSelectionClearEvent;
-       TXSelectionRequestEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            owner : TWindow;
-            requestor : TWindow;
-            selection : TAtom;
-            target : TAtom;
-            {whatproperty : TAtom;}
-            time : TTime;
-         end;
-       PXSelectionRequestEvent = ^TXSelectionRequestEvent;
-       TXSelectionEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            requestor : TWindow;
-            selection : TAtom;
-            target : TAtom;
-            whatproperty : TAtom;
-            whattime : TTime;
-         end;
-       PXSelectionEvent = ^TXSelectionEvent;
-       TXColormapEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            colormap : TColormap;
-            c_new : TBool;
-            news : TBool; { Was new. MVC }
-            state : longint;
-         end;
-       PXColormapEvent = ^TXColormapEvent;
-       TXClientMessageEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            message_type : TAtom;
-            format : longint;
-            data : record
-                case longint of
-                   0 : (b : array[0..(20)-1] of char);
-                   1 : (s : array[0..(10)-1] of integer);
-                   2 : (l : array[0..(5)-1] of longint);
-              end;
-         end;
-       PXClientMessageEvent = ^TXClientMessageEvent;
-       TXMappingEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-            request : longint;
-            first_keycode : longint;
-            count : longint;
-         end;
-       PXMappingEvent = ^TXMappingEvent;
-       TXErrorEvent = record
-            eventtype : longint;
-            Whatdisplay : PDisplay;
-            resourceid : TXID;
-            serial : cardinal;
-            error_code : char;
-            request_code : char;
-            minor_code : char;
-         end;
-       PXErrorEvent = ^TXErrorEvent;
-       TXAnyEvent = record
-            eventtype : longint;
-            serial : cardinal;
-            send_event : TBool;
-            display : PDisplay;
-            window : TWindow;
-         end;
-       PXAnyEvent = ^TXAnyEvent;
-       TXEvent = record
-           case longint of
-              0 : (eventtype : longint);
-              1 : (xany : TXAnyEvent);
-              2 : (xkey : TXKeyEvent);
-              3 : (xbutton : TXButtonEvent);
-              4 : (xmotion : TXMotionEvent);
-              5 : (xcrossing : TXCrossingEvent);
-              6 : (xfocus : TXFocusChangeEvent);
-              7 : (xexpose : TXExposeEvent);
-              8 : (xgraphicsexpose : TXGraphicsExposeEvent);
-              9 : (xnoexpose : TXNoExposeEvent);
-              10 : (xvisibility : TXVisibilityEvent);
-              11 : (xcreatewindow : TXCreateWindowEvent);
-              12 : (xdestroywindow : TXDestroyWindowEvent);
-              13 : (xunmap : TXUnmapEvent);
-              14 : (xmap : TXMapEvent);
-              15 : (xmaprequest : TXMapRequestEvent);
-              16 : (xreparent : TXReparentEvent);
-              17 : (xconfigure : TXConfigureEvent);
-              18 : (xgravity : TXGravityEvent);
-              19 : (xresizerequest : TXResizeRequestEvent);
-              20 : (xconfigurerequest : TXConfigureRequestEvent);
-              21 : (xcirculate : TXCirculateEvent);
-              22 : (xcirculaterequest : TXCirculateRequestEvent);
-              23 : (xproperty : TXPropertyEvent);
-              24 : (xselectionclear : TXSelectionClearEvent);
-              25 : (xselectionrequest : TXSelectionRequestEvent);
-              26 : (xselection : TXSelectionEvent);
-              27 : (xcolormap : TXColormapEvent);
-              28 : (xclient : TXClientMessageEvent);
-              29 : (xmapping : TXMappingEvent);
-              30 : (xerror : TXErrorEvent);
-              31 : (xkeymap : TXKeymapEvent);
-              32 : (pad : array[0..(24)-1] of longint);
-         end;
-     PXEvent = ^TXEvent;
-    { !!!!!!
-    #define XAllocID(dpy) ((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
-    }
-    {
-     * per character font metric information.
-     }
-       TXCharStruct = record
-            lbearing : integer;
-            rbearing : integer;
-            width : integer;
-            ascent : integer;
-            descent : integer;
-            attributes : word;
-         end;
-       PXCharStruct = ^TXCharStruct;
-       TXFontProp = record
-            name : TAtom;
-            card32 : cardinal;
-         end;
-       PXFontProp = ^TXFontProp;
-       PXFontstruct = ^TXFontStruct;
-       PPXFontstruct = ^PXFontStruct;
-       PPPXFontstruct = ^PPXFontStruct;
-       TXFontStruct = record
-            ext_data : PXExtData;
-            fid : TFont;
-            direction : cardinal;
-            min_char_or_byte2 : cardinal;
-            max_char_or_byte2 : cardinal;
-            min_byte1 : cardinal;
-            max_byte1 : cardinal;
-            all_chars_exist : TBool;
-            default_char : cardinal;
-            n_properties : longint;
-            properties : PXFontProp;
-            min_bounds : TXCharStruct;
-            max_bounds : TXCharStruct;
-            per_char : PXCharStruct;
-            ascent : longint;
-            descent : longint;
-         end;
-       TXTextItem = record
-            chars : pchar;
-            nchars : longint;
-            delta : longint;
-            font : TFont;
-         end;
-       PXTextItem = ^TXTextItem;
-    { normal 16 bit characters are two bytes }
-       TXChar2b = record
-            byte1 : char;
-            byte2 : char;
-         end;
-       PXChar2b = ^TXChar2b;
-       TXTextItem16 = record
-            chars : PXChar2b;
-            nchars : longint;
-            delta : longint;
-            font : TFont;
-         end;
-       PXTextItem16 = ^TXTextItem16;
-       TXEDataObject = record
-           case longint of
-              0 : (display : PDisplay);
-              1 : (gc : TGC);
-              2 : (visual : PVisual);
-              3 : (screen : PScreen);
-              4 : (pixmap_format : PScreenFormat);
-              5 : (font : PXFontStruct);
-         end;
-       TXFontSetExtents = record
-            max_ink_extent : TXRectangle;
-            max_logical_extent : TXRectangle;
-         end;
-       PXFontSetExtents = ^TXFontSetExtents;
-       TXOMProc = Procedure; cdecl;
-
-       TXOMrec = record
-         dummy : integer;
+
+{$PACKRECORDS C}
+
+
+const
+   XlibSpecificationRelease = 6;
+type
+
+   PXPointer = ^TXPointer;
+   TXPointer = char;
+   PBool = ^TBool;
+   TBool = longint;
+   PStatus = ^TStatus;
+   TStatus = longint;
+
+const
+   QueuedAlready = 0;
+   QueuedAfterReading = 1;
+   QueuedAfterFlush = 2;
+{$ifdef MACROS}
+function ConnectionNumber(dpy : longint) : longint;
+
+function RootWindow(dpy,scr : longint) : longint;
+
+function DefaultScreen(dpy : longint) : longint;
+
+function DefaultRootWindow(dpy : longint) : longint;
+
+function DefaultVisual(dpy,scr : longint) : longint;
+
+function DefaultGC(dpy,scr : longint) : longint;
+
+function BlackPixel(dpy,scr : longint) : longint;
+
+function WhitePixel(dpy,scr : longint) : longint;
+
+function AllPlanes : dword;
+
+function QLength(dpy : longint) : longint;
+
+function DisplayWidth(dpy,scr : longint) : longint;
+
+function DisplayHeight(dpy,scr : longint) : longint;
+
+function DisplayWidthMM(dpy,scr : longint) : longint;
+
+function DisplayHeightMM(dpy,scr : longint) : longint;
+
+function DisplayPlanes(dpy,scr : longint) : longint;
+
+function DisplayCells(dpy,scr : longint) : longint;
+
+function ScreenCount(dpy : longint) : longint;
+
+function ServerVendor(dpy : longint) : longint;
+
+function ProtocolVersion(dpy : longint) : longint;
+
+function ProtocolRevision(dpy : longint) : longint;
+
+function VendorRelease(dpy : longint) : longint;
+
+function DisplayString(dpy : longint) : longint;
+
+function DefaultDepth(dpy,scr : longint) : longint;
+
+function DefaultColormap(dpy,scr : longint) : longint;
+
+function BitmapUnit(dpy : longint) : longint;
+
+function BitmapBitOrder(dpy : longint) : longint;
+
+function BitmapPad(dpy : longint) : longint;
+
+function ImageByteOrder(dpy : longint) : longint;
+
+function NextRequest(dpy : longint) : longint;
+
+function LastKnownRequestProcessed(dpy : longint) : longint;
+
+function ScreenOfDisplay(dpy,scr : longint) : longint;
+
+function DefaultScreenOfDisplay(dpy : longint) : longint;
+
+function DisplayOfScreen(s : longint) : longint;
+
+function RootWindowOfScreen(s : longint) : longint;
+
+function BlackPixelOfScreen(s : longint) : longint;
+
+function WhitePixelOfScreen(s : longint) : longint;
+
+function DefaultColormapOfScreen(s : longint) : longint;
+
+function DefaultDepthOfScreen(s : longint) : longint;
+
+function DefaultGCOfScreen(s : longint) : longint;
+
+function DefaultVisualOfScreen(s : longint) : longint;
+
+function WidthOfScreen(s : longint) : longint;
+
+function HeightOfScreen(s : longint) : longint;
+
+function WidthMMOfScreen(s : longint) : longint;
+
+function HeightMMOfScreen(s : longint) : longint;
+
+function PlanesOfScreen(s : longint) : longint;
+
+function CellsOfScreen(s : longint) : longint;
+
+function MinCmapsOfScreen(s : longint) : longint;
+
+function MaxCmapsOfScreen(s : longint) : longint;
+
+function DoesSaveUnders(s : longint) : longint;
+
+function DoesBackingStore(s : longint) : longint;
+
+function EventMaskOfScreen(s : longint) : longint;
+
+function XAllocID(dpy : longint) : longint;
+{$endif MACROS}
+
+type
+
+   PPXExtData = ^PXExtData;
+   PXExtData = ^TXExtData;
+   TXExtData = record
+        number : longint;
+        next : PXExtData;
+        free_private : function (extension:PXExtData):longint;cdecl;
+        private_data : TXPointer;
+     end;
+
+   PXExtCodes = ^TXExtCodes;
+   TXExtCodes = record
+        extension : longint;
+        major_opcode : longint;
+        first_event : longint;
+        first_error : longint;
+     end;
+
+   PXPixmapFormatValues = ^TXPixmapFormatValues;
+   TXPixmapFormatValues = record
+        depth : longint;
+        bits_per_pixel : longint;
+        scanline_pad : longint;
+     end;
+
+   PXGCValues = ^TXGCValues;
+   TXGCValues = record
+        _function : longint;
+        plane_mask : dword;
+        foreground : dword;
+        background : dword;
+        line_width : longint;
+        line_style : longint;
+        cap_style : longint;
+        join_style : longint;
+        fill_style : longint;
+        fill_rule : longint;
+        arc_mode : longint;
+        tile : TPixmap;
+        stipple : TPixmap;
+        ts_x_origin : longint;
+        ts_y_origin : longint;
+        font : TFont;
+        subwindow_mode : longint;
+        graphics_exposures : TBool;
+        clip_x_origin : longint;
+        clip_y_origin : longint;
+        clip_mask : TPixmap;
+        dash_offset : longint;
+        dashes : char;
+     end;
+
+   PXGC = ^TXGC;
+   TXGC = record
+     end;
+   TGC = PXGC;
+   PGC = ^TGC;
+
+   PVisual = ^TVisual;
+   TVisual = record
+        ext_data : PXExtData;
+        visualid : TVisualID;
+        _class : longint;
+        red_mask : dword;
+        green_mask : dword;
+        blue_mask : dword;
+        bits_per_rgb : longint;
+        map_entries : longint;
+     end;
+
+   PDepth = ^TDepth;
+   TDepth = record
+        depth : longint;
+        nvisuals : longint;
+        visuals : PVisual;
+     end;
+   PXDisplay = ^TXDisplay;
+   TXDisplay = record
+     end;
+
+
+   PScreen = ^TScreen;
+   TScreen = record
+        ext_data : PXExtData;
+        display : PXDisplay;
+        root : TWindow;
+        width : longint;
+        height : longint;
+        mwidth : longint;
+        mheight : longint;
+        ndepths : longint;
+        depths : PDepth;
+        root_depth : longint;
+        root_visual : PVisual;
+        default_gc : TGC;
+        cmap : TColormap;
+        white_pixel : dword;
+        black_pixel : dword;
+        max_maps : longint;
+        min_maps : longint;
+        backing_store : longint;
+        save_unders : TBool;
+        root_input_mask : longint;
+     end;
+
+   PScreenFormat = ^TScreenFormat;
+   TScreenFormat = record
+        ext_data : PXExtData;
+        depth : longint;
+        bits_per_pixel : longint;
+        scanline_pad : longint;
+     end;
+
+   PXSetWindowAttributes = ^TXSetWindowAttributes;
+   TXSetWindowAttributes = record
+        background_pixmap : TPixmap;
+        background_pixel : dword;
+        border_pixmap : TPixmap;
+        border_pixel : dword;
+        bit_gravity : longint;
+        win_gravity : longint;
+        backing_store : longint;
+        backing_planes : dword;
+        backing_pixel : dword;
+        save_under : TBool;
+        event_mask : longint;
+        do_not_propagate_mask : longint;
+        override_redirect : TBool;
+        colormap : TColormap;
+        cursor : TCursor;
+     end;
+
+   PXWindowAttributes = ^TXWindowAttributes;
+   TXWindowAttributes = record
+        x : longint;
+        y : longint;
+        width : longint;
+        height : longint;
+        border_width : longint;
+        depth : longint;
+        visual : PVisual;
+        root : TWindow;
+        _class : longint;
+        bit_gravity : longint;
+        win_gravity : longint;
+        backing_store : longint;
+        backing_planes : dword;
+        backing_pixel : dword;
+        save_under : TBool;
+        colormap : TColormap;
+        map_installed : TBool;
+        map_state : longint;
+        all_event_masks : longint;
+        your_event_mask : longint;
+        do_not_propagate_mask : longint;
+        override_redirect : TBool;
+        screen : PScreen;
+     end;
+
+   PXHostAddress = ^TXHostAddress;
+   TXHostAddress = record
+        family : longint;
+        length : longint;
+        address : Pchar;
+     end;
+
+   PXImage = ^TXImage;
+   TXImage = record
+        width : longint;
+        height : longint;
+        xoffset : longint;
+        format : longint;
+        data : Pchar;
+        byte_order : longint;
+        bitmap_unit : longint;
+        bitmap_bit_order : longint;
+        bitmap_pad : longint;
+        depth : longint;
+        bytes_per_line : longint;
+        bits_per_pixel : longint;
+        red_mask : dword;
+        green_mask : dword;
+        blue_mask : dword;
+        obdata : TXPointer;
+        f : record
+             create_image : function (para1:PXDisplay; para2:PVisual; para3:dword; para4:longint; para5:longint;
+                          para6:Pchar; para7:dword; para8:dword; para9:longint; para10:longint):PXImage;cdecl;
+             destroy_image : function (para1:PXImage):longint;
+             get_pixel : function (para1:PXImage; para2:longint; para3:longint):dword;
+             put_pixel : function (para1:PXImage; para2:longint; para3:longint; para4:dword):longint;
+             sub_image : function (para1:PXImage; para2:longint; para3:longint; para4:dword; para5:dword):PXImage;
+             add_pixel : function (para1:PXImage; para2:longint):longint;
+          end;
+     end;
+
+   PXWindowChanges = ^TXWindowChanges;
+   TXWindowChanges = record
+        x : longint;
+        y : longint;
+        width : longint;
+        height : longint;
+        border_width : longint;
+        sibling : TWindow;
+        stack_mode : longint;
+     end;
+
+   PXColor = ^TXColor;
+   TXColor = record
+        pixel : dword;
+        red : word;
+        green : word;
+        blue : word;
+        flags : char;
+        pad : char;
+     end;
+
+   PXSegment = ^TXSegment;
+   TXSegment = record
+        x1 : smallint;
+        y1 : smallint;
+        x2 : smallint;
+        y2 : smallint;
+     end;
+
+   PXPoint = ^TXPoint;
+   TXPoint = record
+        x : smallint;
+        y : smallint;
+     end;
+
+   PXRectangle = ^TXRectangle;
+   TXRectangle = record
+        x : smallint;
+        y : smallint;
+        width : word;
+        height : word;
+     end;
+
+   PXArc = ^TXArc;
+   TXArc = record
+        x : smallint;
+        y : smallint;
+        width : word;
+        height : word;
+        angle1 : smallint;
+        angle2 : smallint;
+     end;
+
+   PXKeyboardControl = ^TXKeyboardControl;
+   TXKeyboardControl = record
+        key_click_percent : longint;
+        bell_percent : longint;
+        bell_pitch : longint;
+        bell_duration : longint;
+        led : longint;
+        led_mode : longint;
+        key : longint;
+        auto_repeat_mode : longint;
+     end;
+
+   PXKeyboardState = ^TXKeyboardState;
+   TXKeyboardState = record
+        key_click_percent : longint;
+        bell_percent : longint;
+        bell_pitch : dword;
+        bell_duration : dword;
+        led_mask : dword;
+        global_auto_repeat : longint;
+        auto_repeats : array[0..31] of char;
+     end;
+
+   PXTimeCoord = ^TXTimeCoord;
+   TXTimeCoord = record
+        time : TTime;
+        x : smallint;
+        y : smallint;
+     end;
+
+   PXModifierKeymap = ^TXModifierKeymap;
+   TXModifierKeymap = record
+        max_keypermod : longint;
+        modifiermap : PKeyCode;
+     end;
+
+   PDisplay = ^TDisplay;
+   TDisplay = TXDisplay;
+
+   PXPrivate = ^TXPrivate;
+   TXPrivate = record
+     end;
+
+   PXrmHashBucketRec = ^TXrmHashBucketRec;
+   TXrmHashBucketRec = record
+     end;
+
+
+   PXPrivDisplay = ^TXPrivDisplay;
+   TXPrivDisplay = record
+        ext_data : PXExtData;
+        private1 : PXPrivate;
+        fd : longint;
+        private2 : longint;
+        proto_major_version : longint;
+        proto_minor_version : longint;
+        vendor : Pchar;
+        private3 : TXID;
+        private4 : TXID;
+        private5 : TXID;
+        private6 : longint;
+        resource_alloc : function (para1:PXDisplay):TXID;cdecl;
+        byte_order : longint;
+        bitmap_unit : longint;
+        bitmap_pad : longint;
+        bitmap_bit_order : longint;
+        nformats : longint;
+        pixmap_format : PScreenFormat;
+        private8 : longint;
+        release : longint;
+        private9 : PXPrivate;
+        private10 : PXPrivate;
+        qlen : longint;
+        last_request_read : dword;
+        request : dword;
+        private11 : TXPointer;
+        private12 : TXPointer;
+        private13 : TXPointer;
+        private14 : TXPointer;
+        max_request_size : dword;
+        db : PXrmHashBucketRec;
+        private15 : function (para1:PXDisplay):longint;
+        display_name : Pchar;
+        default_screen : longint;
+        nscreens : longint;
+        screens : PScreen;
+        motion_buffer : dword;
+        private16 : dword;
+        min_keycode : longint;
+        max_keycode : longint;
+        private17 : TXPointer;
+        private18 : TXPointer;
+        private19 : longint;
+        xdefaults : Pchar;
+     end;
+
+   PXKeyEvent = ^TXKeyEvent;
+   TXKeyEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        root : TWindow;
+        subwindow : TWindow;
+        time : TTime;
+        x : longint;
+        y : longint;
+        x_root : longint;
+        y_root : longint;
+        state : dword;
+        keycode : dword;
+        same_screen : TBool;
+     end;
+
+   PXKeyPressedEvent = ^TXKeyPressedEvent;
+   TXKeyPressedEvent = TXKeyEvent;
+
+   PXKeyReleasedEvent = ^TXKeyReleasedEvent;
+   TXKeyReleasedEvent = TXKeyEvent;
+
+   PXButtonEvent = ^TXButtonEvent;
+   TXButtonEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        root : TWindow;
+        subwindow : TWindow;
+        time : TTime;
+        x : longint;
+        y : longint;
+        x_root : longint;
+        y_root : longint;
+        state : dword;
+        button : dword;
+        same_screen : TBool;
+     end;
+
+   PXButtonPressedEvent = ^TXButtonPressedEvent;
+   TXButtonPressedEvent = TXButtonEvent;
+
+   PXButtonReleasedEvent = ^TXButtonReleasedEvent;
+   TXButtonReleasedEvent = TXButtonEvent;
+
+   PXMotionEvent = ^TXMotionEvent;
+   TXMotionEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        root : TWindow;
+        subwindow : TWindow;
+        time : TTime;
+        x : longint;
+        y : longint;
+        x_root : longint;
+        y_root : longint;
+        state : dword;
+        is_hint : char;
+        same_screen : TBool;
+     end;
+
+   PXPointerMovedEvent = ^TXPointerMovedEvent;
+   TXPointerMovedEvent = TXMotionEvent;
+
+   PXCrossingEvent = ^TXCrossingEvent;
+   TXCrossingEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        root : TWindow;
+        subwindow : TWindow;
+        time : TTime;
+        x : longint;
+        y : longint;
+        x_root : longint;
+        y_root : longint;
+        mode : longint;
+        detail : longint;
+        same_screen : TBool;
+        focus : TBool;
+        state : dword;
+     end;
+
+   PXEnterWindowEvent = ^TXEnterWindowEvent;
+   TXEnterWindowEvent = TXCrossingEvent;
+
+   PXLeaveWindowEvent = ^TXLeaveWindowEvent;
+   TXLeaveWindowEvent = TXCrossingEvent;
+
+   PXFocusChangeEvent = ^TXFocusChangeEvent;
+   TXFocusChangeEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        mode : longint;
+        detail : longint;
+     end;
+
+   PXFocusInEvent = ^TXFocusInEvent;
+   TXFocusInEvent = TXFocusChangeEvent;
+
+   PXFocusOutEvent = ^TXFocusOutEvent;
+   TXFocusOutEvent = TXFocusChangeEvent;
+
+   PXKeymapEvent = ^TXKeymapEvent;
+   TXKeymapEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        key_vector : array[0..31] of char;
+     end;
+
+   PXExposeEvent = ^TXExposeEvent;
+   TXExposeEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        x : longint;
+        y : longint;
+        width : longint;
+        height : longint;
+        count : longint;
+     end;
+
+   PXGraphicsExposeEvent = ^TXGraphicsExposeEvent;
+   TXGraphicsExposeEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        drawable : TDrawable;
+        x : longint;
+        y : longint;
+        width : longint;
+        height : longint;
+        count : longint;
+        major_code : longint;
+        minor_code : longint;
+     end;
+
+   PXNoExposeEvent = ^TXNoExposeEvent;
+   TXNoExposeEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        drawable : TDrawable;
+        major_code : longint;
+        minor_code : longint;
+     end;
+
+   PXVisibilityEvent = ^TXVisibilityEvent;
+   TXVisibilityEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        state : longint;
+     end;
+
+   PXCreateWindowEvent = ^TXCreateWindowEvent;
+   TXCreateWindowEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        parent : TWindow;
+        window : TWindow;
+        x : longint;
+        y : longint;
+        width : longint;
+        height : longint;
+        border_width : longint;
+        override_redirect : TBool;
+     end;
+
+   PXDestroyWindowEvent = ^TXDestroyWindowEvent;
+   TXDestroyWindowEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        event : TWindow;
+        window : TWindow;
+     end;
+
+   PXUnmapEvent = ^TXUnmapEvent;
+   TXUnmapEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        event : TWindow;
+        window : TWindow;
+        from_configure : TBool;
+     end;
+
+   PXMapEvent = ^TXMapEvent;
+   TXMapEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        event : TWindow;
+        window : TWindow;
+        override_redirect : TBool;
+     end;
+
+   PXMapRequestEvent = ^TXMapRequestEvent;
+   TXMapRequestEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        parent : TWindow;
+        window : TWindow;
+     end;
+
+   PXReparentEvent = ^TXReparentEvent;
+   TXReparentEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        event : TWindow;
+        window : TWindow;
+        parent : TWindow;
+        x : longint;
+        y : longint;
+        override_redirect : TBool;
+     end;
+
+   PXConfigureEvent = ^TXConfigureEvent;
+   TXConfigureEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        event : TWindow;
+        window : TWindow;
+        x : longint;
+        y : longint;
+        width : longint;
+        height : longint;
+        border_width : longint;
+        above : TWindow;
+        override_redirect : TBool;
+     end;
+
+   PXGravityEvent = ^TXGravityEvent;
+   TXGravityEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        event : TWindow;
+        window : TWindow;
+        x : longint;
+        y : longint;
+     end;
+
+   PXResizeRequestEvent = ^TXResizeRequestEvent;
+   TXResizeRequestEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        width : longint;
+        height : longint;
+     end;
+
+   PXConfigureRequestEvent = ^TXConfigureRequestEvent;
+   TXConfigureRequestEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        parent : TWindow;
+        window : TWindow;
+        x : longint;
+        y : longint;
+        width : longint;
+        height : longint;
+        border_width : longint;
+        above : TWindow;
+        detail : longint;
+        value_mask : dword;
+     end;
+
+   PXCirculateEvent = ^TXCirculateEvent;
+   TXCirculateEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        event : TWindow;
+        window : TWindow;
+        place : longint;
+     end;
+
+   PXCirculateRequestEvent = ^TXCirculateRequestEvent;
+   TXCirculateRequestEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        parent : TWindow;
+        window : TWindow;
+        place : longint;
+     end;
+
+   PXPropertyEvent = ^TXPropertyEvent;
+   TXPropertyEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        atom : TAtom;
+        time : TTime;
+        state : longint;
+     end;
+
+   PXSelectionClearEvent = ^TXSelectionClearEvent;
+   TXSelectionClearEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        selection : TAtom;
+        time : TTime;
+     end;
+
+   PXSelectionRequestEvent = ^TXSelectionRequestEvent;
+   TXSelectionRequestEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        owner : TWindow;
+        requestor : TWindow;
+        selection : TAtom;
+        target : TAtom;
+        _property : TAtom;
+        time : TTime;
+     end;
+
+   PXSelectionEvent = ^TXSelectionEvent;
+   TXSelectionEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        requestor : TWindow;
+        selection : TAtom;
+        target : TAtom;
+        _property : TAtom;
+        time : TTime;
+     end;
+
+   PXColormapEvent = ^TXColormapEvent;
+   TXColormapEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        colormap : TColormap;
+        _new : TBool;
+        state : longint;
+     end;
+
+   PXClientMessageEvent = ^TXClientMessageEvent;
+   TXClientMessageEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        message_type : TAtom;
+        format : longint;
+        data : record
+            case longint of
+               0 : ( b : array[0..19] of char );
+               1 : ( s : array[0..9] of smallint );
+               2 : ( l : array[0..4] of longint );
+            end;
+     end;
+
+   PXMappingEvent = ^TXMappingEvent;
+   TXMappingEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+        request : longint;
+        first_keycode : longint;
+        count : longint;
+     end;
+
+   PXErrorEvent = ^TXErrorEvent;
+   TXErrorEvent = record
+        _type : longint;
+        display : PDisplay;
+        resourceid : TXID;
+        serial : dword;
+        error_code : byte;
+        request_code : byte;
+        minor_code : byte;
+     end;
+
+   PXAnyEvent = ^TXAnyEvent;
+   TXAnyEvent = record
+        _type : longint;
+        serial : dword;
+        send_event : TBool;
+        display : PDisplay;
+        window : TWindow;
+     end;
+
+   PXEvent = ^TXEvent;
+   TXEvent = record
+       case longint of
+          0 : ( _type : longint );
+          1 : ( xany : TXAnyEvent );
+          2 : ( xkey : TXKeyEvent );
+          3 : ( xbutton : TXButtonEvent );
+          4 : ( xmotion : TXMotionEvent );
+          5 : ( xcrossing : TXCrossingEvent );
+          6 : ( xfocus : TXFocusChangeEvent );
+          7 : ( xexpose : TXExposeEvent );
+          8 : ( xgraphicsexpose : TXGraphicsExposeEvent );
+          9 : ( xnoexpose : TXNoExposeEvent );
+          10 : ( xvisibility : TXVisibilityEvent );
+          11 : ( xcreatewindow : TXCreateWindowEvent );
+          12 : ( xdestroywindow : TXDestroyWindowEvent );
+          13 : ( xunmap : TXUnmapEvent );
+          14 : ( xmap : TXMapEvent );
+          15 : ( xmaprequest : TXMapRequestEvent );
+          16 : ( xreparent : TXReparentEvent );
+          17 : ( xconfigure : TXConfigureEvent );
+          18 : ( xgravity : TXGravityEvent );
+          19 : ( xresizerequest : TXResizeRequestEvent );
+          20 : ( xconfigurerequest : TXConfigureRequestEvent );
+          21 : ( xcirculate : TXCirculateEvent );
+          22 : ( xcirculaterequest : TXCirculateRequestEvent );
+          23 : ( xproperty : TXPropertyEvent );
+          24 : ( xselectionclear : TXSelectionClearEvent );
+          25 : ( xselectionrequest : TXSelectionRequestEvent );
+          26 : ( xselection : TXSelectionEvent );
+          27 : ( xcolormap : TXColormapEvent );
+          28 : ( xclient : TXClientMessageEvent );
+          29 : ( xmapping : TXMappingEvent );
+          30 : ( xerror : TXErrorEvent );
+          31 : ( xkeymap : TXKeymapEvent );
+          32 : ( pad : array[0..23] of longint );
        end;
-       TXOCrec = record
-         dummy : integer;
+
+type
+
+   PXCharStruct = ^TXCharStruct;
+   TXCharStruct = record
+        lbearing : smallint;
+        rbearing : smallint;
+        width : smallint;
+        ascent : smallint;
+        descent : smallint;
+        attributes : word;
+     end;
+
+   PXFontProp = ^TXFontProp;
+   TXFontProp = record
+        name : TAtom;
+        card32 : dword;
+     end;
+
+   PPPXFontStruct = ^PPXFontStruct;
+   PPXFontStruct = ^PXFontStruct;
+   PXFontStruct = ^TXFontStruct;
+   TXFontStruct = record
+        ext_data : PXExtData;
+        fid : TFont;
+        direction : dword;
+        min_char_or_byte2 : dword;
+        max_char_or_byte2 : dword;
+        min_byte1 : dword;
+        max_byte1 : dword;
+        all_chars_exist : TBool;
+        default_char : dword;
+        n_properties : longint;
+        properties : PXFontProp;
+        min_bounds : TXCharStruct;
+        max_bounds : TXCharStruct;
+        per_char : PXCharStruct;
+        ascent : longint;
+        descent : longint;
+     end;
+
+   PXTextItem = ^TXTextItem;
+   TXTextItem = record
+        chars : Pchar;
+        nchars : longint;
+        delta : longint;
+        font : TFont;
+     end;
+
+   PXChar2b = ^TXChar2b;
+   TXChar2b = record
+        byte1 : byte;
+        byte2 : byte;
+     end;
+
+   PXTextItem16 = ^TXTextItem16;
+   TXTextItem16 = record
+        chars : PXChar2b;
+        nchars : longint;
+        delta : longint;
+        font : TFont;
+     end;
+
+   PXEDataObject = ^TXEDataObject;
+   TXEDataObject = record
+       case longint of
+          0 : ( display : PDisplay );
+          1 : ( gc : TGC );
+          2 : ( visual : PVisual );
+          3 : ( screen : PScreen );
+          4 : ( pixmap_format : PScreenFormat );
+          5 : ( font : PXFontStruct );
        end;
-       TXOM = ^TXOMrec;
-       TXOC = ^TXOCrec;
-       { Again an accomodation. MVC }
-       TXfontSetRecord = record
-         dummy : integer;
-         end;
-       TXFontSet = ^TXFontsetRecord;
-       TXmbTextItem = record
-            chars : pchar;
-            nchars : longint;
-            delta : longint;
-            font_set : TXFontSet;
-         end;
-       PXmbTextItem = ^TXmbTextItem;
-       TXwcTextItem = record
-            chars : Pwchar_t;
-            nchars : longint;
-            delta : longint;
-            font_set : TXFontSet;
-         end;
-       PXwcTextItem = ^TXwcTextItem;
-
-    const
-       XNRequiredCharSet = 'requiredCharSet';
-       XNQueryOrientation = 'queryOrientation';
-       XNBaseFontName = 'baseFontName';
-       XNOMAutomatic = 'omAutomatic';
-       XNMissingCharSet = 'missingCharSet';
-       XNDefaultString = 'defaultString';
-       XNOrientation = 'orientation';
-       XNDirectionalDependentDrawing = 'directionalDependentDrawing';
-       XNContextualDrawing = 'contextualDrawing';
-       XNFontInfo = 'fontInfo';
-
-   type
-       TXOMCharSetList = record
-            charset_count : longint;
-            charset_list : ^pchar;
-         end;
-       TXOrientation = (
-         XOMOrientation_LTR_TTB,
-         XOMOrientation_RTL_TTB,
-         XOMOrientation_TTB_LTR,
-         XOMOrientation_TTB_RTL,
-         XOMOrientation_Context
-         );
-    { Input Text description }
-       TXOMOrientation = record
-            num_orient : longint;
-            orient : ^TXOrientation;
-         end;
-       TXOMFontInfo = record
-            num_font : longint;
-            font_struct_list : ^PXFontStruct;
-            font_name_list : ^pchar;
-         end;
-       TXIMProc = Procedure; cdecl;
-       { Defined the following to accomodate XIM. MVC}
-       TXIMrecord = record
-         field : integer
-         end;
-       TXIM = ^TXIMrecord;
-       { Defined the following to accomodate XIC. MVC}
-       TXICrecord = record
-         field : integer
-         end;
-       TXIC = ^TXICrecord;
-       TXIMStyle = cardinal;
-       TXIMStyles = record
-            count_styles : word;
-            supported_styles : ^TXIMStyle;
-         end;
-
-    const
-       XIMPreeditArea = $0001;
-       XIMPreeditCallbacks = $0002;
-       XIMPreeditPosition = $0004;
-       XIMPreeditNothing = $0008;
-       XIMPreeditNone = $0010;
-       XIMStatusArea = $0100;
-       XIMStatusCallbacks = $0200;
-       XIMStatusNothing = $0400;
-       XIMStatusNone = $0800;
-       XNVaNestedList = 'XNVaNestedList';
-       XNQueryInputStyle = 'queryInputStyle';
-       XNClientWindow = 'clientWindow';
-       XNInputStyle = 'inputStyle';
-       XNFocusWindow = 'focusWindow';
-       XNResourceName = 'resourceName';
-       XNResourceClass = 'resourceClass';
-       XNGeometryCallback = 'geometryCallback';
-       XNDestroyCallback = 'destroyCallback';
-       XNFilterEvents = 'filterEvents';
-       XNPreeditStartCallback = 'preeditStartCallback';
-       XNPreeditDoneCallback = 'preeditDoneCallback';
-       XNPreeditDrawCallback = 'preeditDrawCallback';
-       XNPreeditCaretCallback = 'preeditCaretCallback';
-       XNPreeditStateNotifyCallback = 'preeditStateNotifyCallback';
-       XNPreeditAttributes = 'preeditAttributes';
-       XNStatusStartCallback = 'statusStartCallback';
-       XNStatusDoneCallback = 'statusDoneCallback';
-       XNStatusDrawCallback = 'statusDrawCallback';
-       XNStatusAttributes = 'statusAttributes';
-       XNArea = 'area';
-       XNAreaNeeded = 'areaNeeded';
-       XNSpotLocation = 'spotLocation';
-       XNColormap = 'colorMap';
-       XNStdColormap = 'stdColorMap';
-       XNForeground = 'foreground';
-       XNBackground = 'background';
-       XNBackgroundPixmap = 'backgroundPixmap';
-       XNFontSet = 'fontSet';
-       XNLineSpace = 'lineSpace';
-       XNCursor = 'cursor';
-       XNQueryIMValuesList = 'queryIMValuesList';
-       XNQueryICValuesList = 'queryICValuesList';
-       XNVisiblePosition = 'visiblePosition';
-       XNR6PreeditCallback = 'r6PreeditCallback';
-       XNStringConversionCallback = 'stringConversionCallback';
-       XNStringConversion = 'stringConversion';
-       XNResetState = 'resetState';
-       XNHotKey = 'hotKey';
-       XNHotKeyState = 'hotKeyState';
-       XNPreeditState = 'preeditState';
-       XNSeparatorofNestedList = 'separatorofNestedList';
-       XBufferOverflow = -(1);
-       XLookupNone = 1;
-       XLookupChars = 2;
-       XLookupKeySymConst = 3;
-       XLookupBoth = 4;
-
-    type
-       TXVaNestedList = TXPointer;
-       TXIMCallback = record
-            client_data : TXPointer;
-            callback : TXIMProc;
-         end;
-       TXIMFeedback = cardinal;
-
-    const
-       XIMReverse = 1;
-       XIMUnderline = (1) shl (1);
-       XIMHighlight = (1) shl (2);
-       XIMPrimary = (1) shl (5);
-       XIMSecondary = (1) shl (6);
-       XIMTertiary = (1) shl (7);
-       XIMVisibleToForward = (1) shl (8);
-       XIMVisibleToBackword = (1) shl (9);
-       XIMVisibleToCenter = (1) shl (10);
-
-    type
-       TXIMText = record
-            length : word;
-            feedback : ^TXIMFeedback;
-            encoding_is_wchar : TBool;
-            thestring : record { This was string. MVC}
-                 case longint of
-                   0 : (multi_byte : ^char);
-                   1 : (wide_char : Pwchar_t);
-              end;
-         end;
-       PXIMText=^TXIMText;
-       TXIMPreeditState = cardinal;
-
-    const
-       XIMPreeditUnKnown = 0;
-       XIMPreeditEnable = 1;
-       XIMPreeditDisable = (1) shl (1);
-
-    type
-       TXIMPreeditStateNotifyCallbackStruct = record
-            state : TXIMPreeditState;
-         end;
-       TXIMResetState = cardinal;
-
-    const
-       XIMInitialState = 1;
-       XIMPreserveState = (1) shl (1);
-
-    type
-       TXIMStringConversionFeedback = cardinal;
-
-    const
-       XIMStringConversionLeftEdge = $00000001;
-       XIMStringConversionRightEdge = $00000002;
-       XIMStringConversionTopEdge = $00000004;
-       XIMStringConversionBottomEdge = $00000008;
-       XIMStringConversionConcealed = $00000010;
-       XIMStringConversionWrapped = $00000020;
-
-    type
-       TXIMStringConversionText = record
-            length : word;
-            feedback : ^TXIMStringConversionFeedback;
-            encoding_is_wchar : TBool;
-            thestring : record { This was string. MVC}
-                case longint of
-                   0 : (mbs : pchar);
-                   1 : (wcs : pwchar_t);
-              end;
-         end;
-       TXIMStringConversionPosition = word;
-       TXIMStringConversionType = word;
-
-    const
-       XIMStringConversionBuffer = $0001;
-       XIMStringConversionLine = $0002;
-       XIMStringConversionWord = $0003;
-       XIMStringConversionChar = $0004;
-
-    type
-       TXIMStringConversionOperation = word;
-
-    const
-       TXIMStringConversionSubstitution = $0001;
-       TXIMStringConversionRetrival = $0002;
-
-    type
-       TXIMStringConversionCallbackStruct = record
-            position : TXIMStringConversionPosition;
-            thetype : TXIMStringConversionType; { This wsa type. MVC}
-            operation : TXIMStringConversionOperation;
-            factor : word;
-            thetext : ^TXIMStringConversionText; { This was text. MVC}
-         end;
-       TXIMPreeditDrawCallbackStruct = record
-            caret : longint;
-            chg_first : longint;
-            chg_length : longint;
-            text : ^TXIMText;
-         end;
-       TXIMCaretDirection = (
-         XIMForwardChar,
-         XIMBackwardChar,
-         XIMForwardWord,
-         XIMBackwardWord,
-         XIMCaretUp,
-         XIMCaretDown,
-         XIMNextLine,
-         XIMPreviousLine,
-         XIMLineStart,
-         XIMLineEnd,
-         XIMAbsolutePosition,
-         XIMDontChange
-         );
-       TXIMCaretStyle = (
-         XIMIsInvisible,
-         XIMIsPrimary,
-         XIMIsSecondary
-         );
-       TXIMPreeditCaretCallbackStruct = record
-            position : longint;
-            direction : TXIMCaretDirection;
-            style : TXIMCaretStyle;
-         end;
-       TXIMStatusDataType = (
-         XIMTextType,
-         XIMBitmapType
-         );
-       TXIMStatusDrawCallbackStruct = record
-            thetype : TXIMStatusDataType; { Was Type. MVC }
-            data : record
-                case longint of
-                   0 : (text : PXIMText);
-                   1 : (bitmap : TPixmap);
-              end;
-         end;
-       TXIMHotKeyTrigger = record
-            keysym : TKeySym;
-            modifier : longint;
-            modifier_mask : longint;
-         end;
-       TXIMHotKeyTriggers = record
-            num_hot_key : longint;
-            key : ^TXIMHotKeyTrigger;
-         end;
-       TXIMHotKeyState = cardinal;
-
-    const
-       XIMHotKeyStateON = $0001;
-       XIMHotKeyStateOFF = $0002;
-
-    type
-       XIMValuesList = record
-            count_values : word;
-            supported_values : ^pchar;
-         end;
 
+   PXFontSetExtents = ^TXFontSetExtents;
+   TXFontSetExtents = record
+        max_ink_extent : TXRectangle;
+        max_logical_extent : TXRectangle;
+     end;
+
+   PXOM = ^TXOM;
+   TXOM = record
+     end;
+
+   PXOC = ^TXOC;
+   TXOC = record
+     end;
+   TXFontSet = PXOC;
+   PXFontSet = ^TXFontSet;
+
+   PXmbTextItem = ^TXmbTextItem;
+   TXmbTextItem = record
+        chars : Pchar;
+        nchars : longint;
+        delta : longint;
+        font_set : TXFontSet;
+     end;
+
+   PXwcTextItem = ^TXwcTextItem;
+   TXwcTextItem = record
+        chars : PWideChar;
+        nchars : longint;
+        delta : longint;
+        font_set : TXFontSet;
+     end;
+
+const
+   XNRequiredCharSet = 'requiredCharSet';
+   XNQueryOrientation = 'queryOrientation';
+   XNBaseFontName = 'baseFontName';
+   XNOMAutomatic = 'omAutomatic';
+   XNMissingCharSet = 'missingCharSet';
+   XNDefaultString = 'defaultString';
+   XNOrientation = 'orientation';
+   XNDirectionalDependentDrawing = 'directionalDependentDrawing';
+   XNContextualDrawing = 'contextualDrawing';
+   XNFontInfo = 'fontInfo';
 type
-  TXErrorHandler = Function(_para1 : PDisplay;_para2 : PXErrorEvent) : longint; cdecl;
-  TXIOErrorHandler = Function(_para1 : PDisplay) : longint; cdecl;
-  TXConnectionWatchProc = Procedure(_para1 : PDisplay;_para2 : TXPointer;_para3 : longint;_para4 : TBool;_para5 : PXPointer); cdecl;
-
-
-{ Here start the Function definitions in the C header file. MVC }
-
-Function XLoadQueryFont (para1 : PDisplay; para2 : pchar) : PXFontStruct; cdecl;external;
-Function XQueryFont(_para1 : PDisplay;_para2 : TXID) : PXFontStruct; cdecl;external;
-Function XGetMotionEvents(_para1 : PDisplay;_para2 : TWindow;_para3 : TTime;_para4 : TTime;_para5 : Plongint) : PXTimeCoord; cdecl;external;
-Function XDeleteModifiermapEntry(_para1 : PXModifierKeymap;_para2 : cardinal;_para3 : TKeyCode;_para4 : longint) : PXModifierKeymap; cdecl;external;
-Function XGetModifierMapping(_para1 : PDisplay) : PXModifierKeymap; cdecl;external;
-Function XInsertModifiermapEntry(_para1 : PXModifierKeymap;_para2 : cardinal;_para3 : TKeyCode;_para4 : longint) : PXModifierKeymap; cdecl;external;
-Function XNewModifiermap(_para1 : longint) : PXModifierKeymap; cdecl;external;
-Function XCreateImage(_para1 : PDisplay;_para2 : PVisual;_para3 : cardinal;_para4 : longint;_para5 : longint;_para6 : pchar;_para7 : cardinal;_para8 : cardinal;_para9 : longint;_para10 : longint) : PXImage; cdecl;external;
-Function XInitImage(_para1 : PXImage) : TStatus; cdecl;external;
-Function XGetImage(_para1 : PDisplay;_para2 : TDrawable;_para3 : longint;_para4 : longint;_para5 : cardinal;_para6 : cardinal;_para7 : cardinal;_para8 : longint) : PXImage; cdecl;external;
-Function XGetSubImage(_para1 : PDisplay;_para2 : TDrawable;_para3 : longint;_para4 : longint;_para5 : cardinal;_para6 : cardinal;_para7 : cardinal;_para8 : longint;_para9 : PXImage;_para10 : longint;_para11 : longint) : PXImage; cdecl;external;
-Function XOpenDisplay(_para1 : pchar) : PDisplay; cdecl;external;
-Procedure XrmInitialize; cdecl;external;
-Function XFetchBytes(_para1 : PDisplay;_para2 : Plongint) : pchar; cdecl;external;
-Function XFetchBuffer(_para1 : PDisplay;_para2 : Plongint;_para3 : longint) : pchar; cdecl;external;
-Function XGetAtomName(_para1 : PDisplay;_para2 : TAtom) : pchar; cdecl;external;
-Function XGetAtomNames(_para1 : PDisplay;_para2 : PAtom;_para3 : longint;_para4 : PPChar) : TStatus; cdecl;external;
-Function XGetDefault(_para1 : PDisplay;_para2 : pchar;_para3 : pchar) : pchar; cdecl;external;
-Function XDisplayName(_para1 : pchar) : pchar; cdecl;external;
-Function XKeysymToString(_para1 : TKeySym) : pchar; cdecl;external;
-Function XSynchronize(_para1 : PDisplay;_para2 : TBool) : longint; cdecl;external;
-{ WHat to do with this ??? MVC
-Function XSetAfterFunction(_para1 : PDisplay;_para2 : function(_para1 : PDisplay) : longint) : function : longint; cdecl;external;
-}
-Function XInternAtom(_para1 : PDisplay;_para2 : pchar;_para3 : TBool) : TAtom; cdecl;external;
-Function XInternAtoms(_para1 : PDisplay;_para2 : PPChar;_para3 : longint;_para4 : TBool;_para5 : PAtom) : TStatus; cdecl;external;
-Function XCopyColormapAndFree(_para1 : PDisplay;_para2 : TColormap) : TColormap; cdecl;external;
-Function XCreateColormap(_para1 : PDisplay;_para2 : TWindow;_para3 : PVisual;_para4 : longint) : TColormap; cdecl;external;
-Function XCreatePixmapCursor(_para1 : PDisplay;_para2 : TPixmap;_para3 : TPixmap;_para4 : PXColor;_para5 : PXColor;_para6 : cardinal;_para7 : cardinal) : TCursor; cdecl;external;
-Function XCreateGlyphCursor(_para1 : PDisplay;_para2 : TFont;_para3 : TFont;_para4 : cardinal;_para5 : cardinal;_para6 : PXColor;_para7 : PXColor) : TCursor; cdecl;external;
-Function XCreateFontCursor(_para1 : PDisplay;_para2 : cardinal) : TCursor; cdecl;external;
-Function XLoadFont(_para1 : PDisplay;_para2 : pchar) : TFont; cdecl;external;
-Function XCreateGC(_para1 : PDisplay;_para2 : TDrawable;_para3 : cardinal;_para4 : PXGCValues) : TGC; cdecl;external;
-Function XGContextFromGC(_para1 : TGC) : TGContext; cdecl;external;
-Procedure XFlushGC(_para1 : PDisplay;_para2 : TGC); cdecl;external;
-Function XCreatePixmap(_para1 : PDisplay;_para2 : TDrawable;_para3 : cardinal;_para4 : cardinal;_para5 : cardinal) : TPixmap; cdecl;external;
-Function XCreateBitmapFromData(_para1 : PDisplay;_para2 : TDrawable;_para3 : pchar;_para4 : cardinal;_para5 : cardinal) : TPixmap; cdecl;external;
-Function XCreatePixmapFromBitmapData(_para1 : PDisplay;_para2 : TDrawable;_para3 : pchar;_para4 : cardinal;_para5 : cardinal;_para6 : cardinal;_para7 : cardinal;_para8 : cardinal) : TPixmap; cdecl;external;
-Function XCreateSimpleWindow(_para1 : PDisplay;_para2 : TWindow;_para3 : longint;_para4 : longint;_para5 : cardinal;_para6 : cardinal;_para7 : cardinal;_para8 : cardinal;_para9 : cardinal) : TWindow; cdecl;external;
-Function XGetSelectionOwner(_para1 : PDisplay;_para2 : TAtom) : TWindow; cdecl;external;
-Function XCreateWindow(_para1 : PDisplay;_para2 : TWindow;_para3 : longint;_para4 : longint;_para5 : cardinal;_para6 : cardinal;_para7 : cardinal;_para8 : longint;_para9 : cardinal;_para10 : PVisual;_para11 : cardinal;_para12 : PXSetWindowAttributes) : TWindow; cdecl;external;
-Function XListInstalledColormaps(_para1 : PDisplay;_para2 : TWindow;_para3 : Plongint) : PColormap; cdecl;external;
-Function XListFonts(_para1 : PDisplay;_para2 : pchar;_para3 : longint;_para4 : Plongint) : PPChar; cdecl;external;
-Function XListFontsWithInfo(_para1 : PDisplay;_para2 : pchar;_para3 : longint;_para4 : Plongint;_para5 : PPXFontStruct) : PPChar; cdecl;external;
-Function XGetFontPath(_para1 : PDisplay;_para2 : Plongint) : PPChar; cdecl;external;
-Function XListExtensions(_para1 : PDisplay;_para2 : Plongint) : PPChar; cdecl;external;
-Function XListProperties(_para1 : PDisplay;_para2 : TWindow;_para3 : Plongint) : PAtom; cdecl;external;
-Function XListHosts(_para1 : PDisplay;_para2 : Plongint;_para3 : PBool) : PXHostAddress; cdecl;external;
-Function XKeycodeToKeysym(_para1 : PDisplay;_para3 : TKeyCode;_para4 : longint) : TKeySym; cdecl;external;
-Function XLookupKeysym(_para1 : PXKeyEvent;_para2 : longint) : TKeySym; cdecl;external;
-Function XGetKeyboardMapping(_para1 : PDisplay;_para2 : cardinal;_para3 : TKeyCode;_para4 : longint;_para5 : Plongint) : PKeySym; cdecl;external;
-Function XStringToKeysym(_para1 : pchar) : TKeySym; cdecl;external;
-Function XMaxRequestSize(_para1 : PDisplay) : longint; cdecl;external;
-Function XExtendedMaxRequestSize(_para1 : PDisplay) : longint; cdecl;external;
-Function XResourceManagerString(_para1 : PDisplay) : pchar; cdecl;external;
-Function XScreenResourceString(_para1 : PScreen) : pchar; cdecl;external;
-Function XDisplayMotionBufferSize(_para1 : PDisplay) : cardinal; cdecl;external;
-Function XVisualIDFromVisual(_para1 : PVisual) : TVisualID; cdecl;external;
-Function XInitThreads : TStatus; cdecl;external;
-Procedure XLockDisplay(_para1 : PDisplay); cdecl;external;
-Procedure XUnlockDisplay(_para1 : PDisplay); cdecl;external;
-Function XInitExtension(_para1 : PDisplay;_para2 : pchar) : PXExtCodes; cdecl;external;
-Function XAddExtension(_para1 : PDisplay) : PXExtCodes; cdecl;external;
-Function XFindOnExtensionList(_para1 : PPXExtData;_para2 : longint) : PXExtData; cdecl;external;
-Function XEHeadOfExtensionList(_para1 : TXEDataObject) : PPXExtData; cdecl;external;
-Function XRootWindow(_para1 : PDisplay;_para2 : longint) : TWindow; cdecl;external;
-Function XDefaultRootWindow(_para1 : PDisplay) : TWindow; cdecl;external;
-Function XRootWindowOfScreen(_para1 : PScreen) : TWindow; cdecl;external;
-Function XDefaultVisual(_para1 : PDisplay;_para2 : longint) : PVisual; cdecl;external;
-Function XDefaultVisualOfScreen(_para1 : PScreen) : PVisual; cdecl;external;
-Function XDefaultGC(_para1 : PDisplay;_para2 : longint) : TGC; cdecl;external;
-Function XDefaultGCOfScreen(_para1 : PScreen) : TGC; cdecl;external;
-Function XBlackPixel(_para1 : PDisplay;_para2 : longint) : cardinal; cdecl;external;
-Function XWhitePixel(_para1 : PDisplay;_para2 : longint) : cardinal; cdecl;external;
-Function XAllPlanes : cardinal; cdecl;external;
-Function XBlackPixelOfScreen(_para1 : PScreen) : cardinal; cdecl;external;
-Function XWhitePixelOfScreen(_para1 : PScreen) : cardinal; cdecl;external;
-Function XNextRequest(_para1 : PDisplay) : cardinal; cdecl;external;
-{
-Function XLastKnownRequestProcessed(_para1 : PDisplay) : cardinal; cdecl;external;
-}
-Function XServerVendor(_para1 : PDisplay) : pchar; cdecl;external;
-Function XDisplayString(_para1 : PDisplay) : pchar; cdecl;external;
-Function XDefaultColormap(_para1 : PDisplay;_para2 : longint) : TColormap; cdecl;external;
-Function XDefaultColormapOfScreen(_para1 : PScreen) : TColormap; cdecl;external;
-Function XDisplayOfScreen(_para1 : PScreen) : PDisplay; cdecl;external;
-Function XScreenOfDisplay(_para1 : PDisplay;_para2 : longint) : PScreen; cdecl;external;
-Function XDefaultScreenOfDisplay(_para1 : PDisplay) : PScreen; cdecl;external;
-Function XEventMaskOfScreen(_para1 : PScreen) : longint; cdecl;external;
-Function XScreenNumberOfScreen(_para1 : PScreen) : longint; cdecl;external;
-Function XSetErrorHandler(_para1 : TXErrorHandler) : TXErrorHandler; cdecl;external;
-Function XSetIOErrorHandler(_para1 : TXIOErrorHandler) : TXIOErrorHandler; cdecl;external;
-Function XListPixmapFormats(_para1 : PDisplay;_para2 : Plongint) : PXPixmapFormatValues; cdecl;external;
-Function XListDepths(_para1 : PDisplay;_para2 : longint;_para3 : Plongint) : Plongint; cdecl;external;
-Function XReconfigureWMWindow(_para1 : PDisplay;_para2 : TWindow;_para3 : longint;_para4 : cardinal;_para5 : PXWindowChanges) : TStatus; cdecl;external;
-Function XGetWMProtocols(_para1 : PDisplay;_para2 : TWindow;_para3 : PPAtom;_para4 : Plongint) : TStatus; cdecl;external;
-Function XSetWMProtocols(_para1 : PDisplay;_para2 : TWindow;_para3 : PAtom;_para4 : longint) : TStatus; cdecl;external;
-Function XIconifyWindow(_para1 : PDisplay;_para2 : TWindow;_para3 : longint) : TStatus; cdecl;external;
-Function XWithdrawWindow(_para1 : PDisplay;_para2 : TWindow;_para3 : longint) : TStatus; cdecl;external;
-Function XGetCommand(_para1 : PDisplay;_para2 : TWindow;_para3 : PPPChar;_para4 : Plongint) : TStatus; cdecl;external;
-Function XGetWMColormapWindows(_para1 : PDisplay;_para2 : TWindow;_para3 : PPWindow;_para4 : Plongint) : TStatus; cdecl;external;
-Function XSetWMColormapWindows(_para1 : PDisplay;_para2 : TWindow;_para3 : PWindow;_para4 : longint) : TStatus; cdecl;external;
-Procedure XFreeStringList(_para1 : PPChar); cdecl;external;
-Function XSetTransientForHint(_para1 : PDisplay;_para2 : TWindow;_para3 : TWindow) : longint; cdecl;external;
-Function XActivateScreenSaver(_para1 : PDisplay) : longint; cdecl;external;
-Function XAddHost(_para1 : PDisplay;_para2 : PXHostAddress) : longint; cdecl;external;
-Function XAddHosts(_para1 : PDisplay;_para2 : PXHostAddress;_para3 : longint) : longint; cdecl;external;
-{
-Function XAddToExtensionList(_para1 : ^^*;_para2 : PXExtData) : longint; cdecl;external;
-}
-Function XAddToSaveSet(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XAllocColor(_para1 : PDisplay;_para2 : TColormap;_para3 : PXColor) : TStatus; cdecl;external;
-Function XAllocColorCells(_para1 : PDisplay;_para2 : TColormap;_para3 : TBool;_para4 : PCardinal;_para5 : cardinal;_para6 : PCardinal;_para7 : cardinal) : TStatus; cdecl;external;
-Function XAllocColorPlanes(_para1 : PDisplay;_para2 : TColormap;_para3 : TBool;_para4 : PCardinal;_para5 : longint;_para6 : longint;_para7 : longint;_para8 : longint;_para9 : PCardinal;_para10 : PCardinal;_para11 : PCardinal) : TStatus; cdecl;external;
-Function XAllocNamedColor(_para1 : PDisplay;_para2 : TColormap;_para3 : pchar;_para4 : PXColor;_para5 : PXColor) : TStatus; cdecl;external;
-Function XAllowEvents(_para1 : PDisplay;_para2 : longint;_para3 : TTime) : longint; cdecl;external;
-Function XAutoRepeatOff(_para1 : PDisplay) : longint; cdecl;external;
-Function XAutoRepeatOn(_para1 : PDisplay) : longint; cdecl;external;
-Function XBell(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XBitmapBitOrder(_para1 : PDisplay) : longint; cdecl;external;
-Function XBitmapPad(_para1 : PDisplay) : longint; cdecl;external;
-Function XBitmapUnit(_para1 : PDisplay) : longint; cdecl;external;
-Function XCellsOfScreen(_para1 : PScreen) : longint; cdecl;external;
-Function XChangeActivePointerGrab(_para1 : PDisplay;_para2 : cardinal;_para3 : TCursor;_para4 : TTime) : longint; cdecl;external;
-Function XChangeGC(_para1 : PDisplay;_para2 : TGC;_para3 : cardinal;_para4 : PXGCValues) : longint; cdecl;external;
-Function XChangeKeyboardControl(_para1 : PDisplay;_para2 : cardinal;_para3 : PXKeyboardControl) : longint; cdecl;external;
-Function XChangeKeyboardMapping(_para1 : PDisplay;_para2 : longint;_para3 : longint;_para4 : PKeySym;_para5 : longint) : longint; cdecl;external;
-Function XChangePointerControl(_para1 : PDisplay;_para2 : TBool;_para3 : TBool;_para4 : longint;_para5 : longint;_para6 : longint) : longint; cdecl;external;
-Function XChangeProperty(_para1 : PDisplay;_para2 : TWindow;_para3 : TAtom;_para4 : TAtom;_para5 : longint;_para6 : longint;_para7 : pchar;_para8 : longint) : longint; cdecl;external;
-Function XChangeSaveSet(_para1 : PDisplay;_para2 : TWindow;_para3 : longint) : longint; cdecl;external;
-Function XChangeWindowAttributes(_para1 : PDisplay;_para2 : TWindow;_para3 : cardinal;_para4 : PXSetWindowAttributes) : longint; cdecl;external;
-{
-Function XCheckIfEvent(_para1 : PDisplay;_para2 : PXEvent;_para3 : function(_para1 : PDisplay;_para2 : PXEvent;_para3 : XPointer) : TBool;_para4 : XPointer) : TBool; cdecl;external;
-}
-Function XCheckMaskEvent(_para1 : PDisplay;_para2 : longint;_para3 : PXEvent) : TBool; cdecl;external;
-Function XCheckTypedEvent(_para1 : PDisplay;_para2 : longint;_para3 : PXEvent) : TBool; cdecl;external;
-Function XCheckTypedWindowEvent(_para1 : PDisplay;_para2 : TWindow;_para3 : longint;_para4 : PXEvent) : TBool; cdecl;external;
-Function XCheckWindowEvent(_para1 : PDisplay;_para2 : TWindow;_para3 : longint;_para4 : PXEvent) : TBool; cdecl;external;
-Function XCirculateSubwindows(_para1 : PDisplay;_para2 : TWindow;_para3 : longint) : longint; cdecl;external;
-Function XCirculateSubwindowsDown(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XCirculateSubwindowsUp(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XClearArea(_para1 : PDisplay;_para2 : TWindow;_para3 : longint;_para4 : longint;_para5 : cardinal;_para6 : cardinal;_para7 : TBool) : longint; cdecl;external;
-Function XClearWindow(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XCloseDisplay(_para1 : PDisplay) : longint; cdecl;external;
-Function XConfigureWindow(_para1 : PDisplay;_para2 : TWindow;_para3 : cardinal;_para4 : PXWindowChanges) : longint; cdecl;external;
-Function XConnectionNumber(_para1 : PDisplay) : longint; cdecl;external;
-Function XConvertSelection(_para1 : PDisplay;_para2 : TAtom;_para3 : TAtom;_para4 : TAtom;_para5 : TWindow;_para6 : TTime) : longint; cdecl;external;
-Function XCopyArea(_para1 : PDisplay;_para2 : TDrawable;_para3 : TDrawable;_para4 : TGC;_para5 : longint;_para6 : longint;_para7 : cardinal;_para8 : cardinal;_para9 : longint;_para10 : longint) : longint; cdecl;external;
-Function XCopyGC(_para1 : PDisplay;_para2 : TGC;_para3 : cardinal;_para4 : TGC) : longint; cdecl;external;
-Function XCopyPlane(_para1 : PDisplay;_para2 : TDrawable;_para3 : TDrawable;_para4 : TGC;_para5 : longint;_para6 : longint;_para7 : cardinal;_para8 : cardinal;_para9 : longint;_para10 : longint;_para11 : cardinal) : longint; cdecl;external;
-Function XDefaultDepth(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XDefaultDepthOfScreen(_para1 : PScreen) : longint; cdecl;external;
-Function XDefaultScreen(_para1 : PDisplay) : longint; cdecl;external;
-Function XDefineCursor(_para1 : PDisplay;_para2 : TWindow;_para3 : TCursor) : longint; cdecl;external;
-Function XDeleteProperty(_para1 : PDisplay;_para2 : TWindow;_para3 : TAtom) : longint; cdecl;external;
-Function XDestroyWindow(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XDestroySubwindows(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XDoesBackingStore(_para1 : PScreen) : longint; cdecl;external;
-Function XDoesSaveUnders(_para1 : PScreen) : TBool; cdecl;external;
-Function XDisableAccessControl(_para1 : PDisplay) : longint; cdecl;external;
-Function XDisplayCells(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XDisplayHeight(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XDisplayHeightMM(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XDisplayKeycodes(_para1 : PDisplay;_para2 : Plongint;_para3 : Plongint) : longint; cdecl;external;
-Function XDisplayPlanes(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XDisplayWidth(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XDisplayWidthMM(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XDrawArc(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : cardinal;_para7 : cardinal;_para8 : longint;_para9 : longint) : longint; cdecl;external;
-Function XDrawArcs(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : PXArc;_para5 : longint) : longint; cdecl;external;
-Function XDrawImageString(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : pchar;_para7 : longint) : longint; cdecl;external;
-Function XDrawImageString16(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : PXChar2b;_para7 : longint) : longint; cdecl;external;
-Function XDrawLine(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : longint;_para7 : longint) : longint; cdecl;external;
-Function XDrawLines(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : PXPoint;_para5 : longint;_para6 : longint) : longint; cdecl;external;
-Function XDrawPoint(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint) : longint; cdecl;external;
-Function XDrawPoints(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : PXPoint;_para5 : longint;_para6 : longint) : longint; cdecl;external;
-Function XDrawRectangle(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : cardinal;_para7 : cardinal) : longint; cdecl;external;
-Function XDrawRectangles(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : PXRectangle;_para5 : longint) : longint; cdecl;external;
-Function XDrawSegments(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : PXSegment;_para5 : longint) : longint; cdecl;external;
-Function XDrawString(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : pchar;_para7 : longint) : longint; cdecl;external;
-Function XDrawString16(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : PXChar2b;_para7 : longint) : longint; cdecl;external;
-Function XDrawText(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : PXTextItem;_para7 : longint) : longint; cdecl;external;
-Function XDrawText16(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : PXTextItem16;_para7 : longint) : longint; cdecl;external;
-Function XEnableAccessControl(_para1 : PDisplay) : longint; cdecl;external;
-Function XEventsQueued(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XFetchName(_para1 : PDisplay;_para2 : TWindow;_para3 : PPChar) : TStatus; cdecl;external;
-Function XFillArc(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : cardinal;_para7 : cardinal;_para8 : longint;_para9 : longint) : longint; cdecl;external;
-Function XFillArcs(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : PXArc;_para5 : longint) : longint; cdecl;external;
-Function XFillPolygon(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : PXPoint;_para5 : longint;_para6 : longint;_para7 : longint) : longint; cdecl;external;
-Function XFillRectangle(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : cardinal;_para7 : cardinal) : longint; cdecl;external;
-Function XFillRectangles(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : PXRectangle;_para5 : longint) : longint; cdecl;external;
-Function XFlush(_para1 : PDisplay) : longint; cdecl;external;
-Function XForceScreenSaver(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XFree(_para1 : pointer) : longint; cdecl;external;
-Function XFreeColormap(_para1 : PDisplay;_para2 : TColormap) : longint; cdecl;external;
-Function XFreeColors(_para1 : PDisplay;_para2 : TColormap;_para3 : PCardinal;_para4 : longint;_para5 : cardinal) : longint; cdecl;external;
-Function XFreeCursor(_para1 : PDisplay;_para2 : TCursor) : longint; cdecl;external;
-Function XFreeExtensionList(_para1 : PPChar) : longint; cdecl;external;
-Function XFreeFont(_para1 : PDisplay;_para2 : PXFontStruct) : longint; cdecl;external;
-Function XFreeFontInfo(_para1 : PPChar;_para2 : PXFontStruct;_para3 : longint) : longint; cdecl;external;
-Function XFreeFontNames(_para1 : PPChar) : longint; cdecl;external;
-Function XFreeFontPath(_para1 : PPChar) : longint; cdecl;external;
-Function XFreeGC(_para1 : PDisplay;_para2 : TGC) : longint; cdecl;external;
-Function XFreeModifiermap(_para1 : PXModifierKeymap) : longint; cdecl;external;
-Function XFreePixmap(_para1 : PDisplay;_para2 : TPixmap) : longint; cdecl;external;
-Function XGeometry(_para1 : PDisplay;_para2 : longint;_para3 : pchar;_para4 : pchar;_para5 : cardinal;_para6 : cardinal;_para7 : cardinal;_para8 : longint;_para9 : longint;_para10 : Plongint;_para11 : Plongint;_para12 : Plongint;_para13 : Plongint) : longint; cdecl;external;
-Function XGetErrorDatabaseText(_para1 : PDisplay;_para2 : pchar;_para3 : pchar;_para4 : pchar;_para5 : pchar;_para6 : longint) : longint; cdecl;external;
-Function XGetErrorText(_para1 : PDisplay;_para2 : longint;_para3 : pchar;_para4 : longint) : longint; cdecl;external;
-Function XGetFontProperty(_para1 : PXFontStruct;_para2 : TAtom;_para3 : PCardinal) : TBool; cdecl;external;
-Function XGetGCValues(_para1 : PDisplay;_para2 : TGC;_para3 : cardinal;_para4 : PXGCValues) : TStatus; cdecl;external;
-Function XGetGeometry(_para1 : PDisplay;_para2 : TDrawable;_para3 : PWindow;_para4 : Plongint;_para5 : Plongint;_para6 : PCardinal;_para7 : PCardinal;_para8 : PCardinal;_para9 : PCardinal) : TStatus; cdecl;external;
-Function XGetIconName(_para1 : PDisplay;_para2 : TWindow;_para3 : PPChar) : TStatus; cdecl;external;
-Function XGetInputFocus(_para1 : PDisplay;_para2 : PWindow;_para3 : Plongint) : longint; cdecl;external;
-Function XGetKeyboardControl(_para1 : PDisplay;_para2 : PXKeyboardState) : longint; cdecl;external;
-Function XGetPointerControl(_para1 : PDisplay;_para2 : Plongint;_para3 : Plongint;_para4 : Plongint) : longint; cdecl;external;
-Function XGetPointerMapping(_para1 : PDisplay;_para2 : pchar;_para3 : longint) : longint; cdecl;external;
-Function XGetScreenSaver(_para1 : PDisplay;_para2 : Plongint;_para3 : Plongint;_para4 : Plongint;_para5 : Plongint) : longint; cdecl;external;
-Function XGetTransientForHint(_para1 : PDisplay;_para2 : TWindow;_para3 : PWindow) : TStatus; cdecl;external;
-Function XGetWindowProperty(_para1 : PDisplay;_para2 : TWindow;_para3 : TAtom;_para4 : longint;_para5 : longint;_para6 : TBool;_para7 : TAtom;_para8 : PAtom;_para9 : Plongint;_para10 : PCardinal;_para11 : PCardinal;_para12 : PPChar) : longint; cdecl;external;
-Function XGetWindowAttributes(_para1 : PDisplay;_para2 : TWindow;_para3 : PXWindowAttributes) : TStatus; cdecl;external;
-Function XGrabButton(_para1 : PDisplay;_para2 : cardinal;_para3 : cardinal;_para4 : TWindow;_para5 : TBool;_para6 : cardinal;_para7 : longint;_para8 : longint;_para9 : TWindow;_para10 : TCursor) : longint; cdecl;external;
-Function XGrabKey(_para1 : PDisplay;_para2 : longint;_para3 : cardinal;_para4 : TWindow;_para5 : TBool;_para6 : longint;_para7 : longint) : longint; cdecl;external;
-Function XGrabKeyboard(_para1 : PDisplay;_para2 : TWindow;_para3 : TBool;_para4 : longint;_para5 : longint;_para6 : TTime) : longint; cdecl;external;
-Function XGrabPointer(_para1 : PDisplay;_para2 : TWindow;_para3 : TBool;_para4 : cardinal;_para5 : longint;_para6 : longint;_para7 : TWindow;_para8 : TCursor;_para9 : TTime) : longint; cdecl;external;
-Function XGrabServer(_para1 : PDisplay) : longint; cdecl;external;
-Function XHeightMMOfScreen(_para1 : PScreen) : longint; cdecl;external;
-Function XHeightOfScreen(_para1 : PScreen) : longint; cdecl;external;
-{
-Function XIfEvent(_para1 : PDisplay;_para2 : PXEvent;_para3 : function(_para1 : PDisplay;_para2 : PXEvent;_para3 : XPointer) : TBool;_para4 : XPointer) : longint; cdecl;external;
-}
-Function XImageByteOrder(_para1 : PDisplay) : longint; cdecl;external;
-Function XInstallColormap(_para1 : PDisplay;_para2 : TColormap) : longint; cdecl;external;
-Function XKeysymToKeycode(_para1 : PDisplay;_para2 : TKeySym) : TKeyCode; cdecl;external;
-Function XKillClient(_para1 : PDisplay;_para2 : TXID) : longint; cdecl;external;
-Function XLastKnownRequestProcessed(_para1 : PDisplay) : cardinal; cdecl;external;
-Function XLookupColor(_para1 : PDisplay;_para2 : TColormap;_para3 : pchar;_para4 : PXColor;_para5 : PXColor) : TStatus; cdecl;external;
-Function XLowerWindow(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XMapRaised(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XMapSubwindows(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XMapWindow(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XMaskEvent(_para1 : PDisplay;_para2 : longint;_para3 : PXEvent) : longint; cdecl;external;
-Function XMaxCmapsOfScreen(_para1 : PScreen) : longint; cdecl;external;
-Function XMinCmapsOfScreen(_para1 : PScreen) : longint; cdecl;external;
-Function XMoveResizeWindow(_para1 : PDisplay;_para2 : TWindow;_para3 : longint;_para4 : longint;_para5 : cardinal;_para6 : cardinal) : longint; cdecl;external;
-Function XMoveWindow(_para1 : PDisplay;_para2 : TWindow;_para3 : longint;_para4 : longint) : longint; cdecl;external;
-Function XNextEvent(_para1 : PDisplay;_para2 : PXEvent) : longint; cdecl;external;
-Function XNoOp(_para1 : PDisplay) : longint; cdecl;external;
-Function XParseColor(_para1 : PDisplay;_para2 : TColormap;_para3 : pchar;_para4 : PXColor) : TStatus; cdecl;external;
-Function XParseGeometry(_para1 : pchar;_para2 : Plongint;_para3 : Plongint;_para4 : PCardinal;_para5 : PCardinal) : longint; cdecl;external;
-Function XPeekEvent(_para1 : PDisplay;_para2 : PXEvent) : longint; cdecl;external;
-{
-Function XPeekIfEvent(_para1 : PDisplay;_para2 : PXEvent;_para3 : function(_para1 : PDisplay;_para2 : PXEvent;_para3 : XPointer) : TBool;_para4 : XPointer) : longint; cdecl;external;
-}
-Function XPending(_para1 : PDisplay) : longint; cdecl;external;
-Function XPlanesOfScreen(_para1 : PScreen) : longint; cdecl;external;
-Function XProtocolRevision(_para1 : PDisplay) : longint; cdecl;external;
-Function XProtocolVersion(_para1 : PDisplay) : longint; cdecl;external;
-Function XPutBackEvent(_para1 : PDisplay;_para2 : PXEvent) : longint; cdecl;external;
-Function XPutImage(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : PXImage;_para5 : longint;_para6 : longint;_para7 : longint;_para8 : longint;_para9 : cardinal;_para10 : cardinal) : longint; cdecl;external;
-Function XQLength(_para1 : PDisplay) : longint; cdecl;external;
-Function XQueryBestCursor(_para1 : PDisplay;_para2 : TDrawable;_para3 : cardinal;_para4 : cardinal;_para5 : PCardinal;_para6 : PCardinal) : TStatus; cdecl;external;
-Function XQueryBestSize(_para1 : PDisplay;_para2 : longint;_para3 : TDrawable;_para4 : cardinal;_para5 : cardinal;_para6 : PCardinal;_para7 : PCardinal) : TStatus; cdecl;external;
-Function XQueryBestStipple(_para1 : PDisplay;_para2 : TDrawable;_para3 : cardinal;_para4 : cardinal;_para5 : PCardinal;_para6 : PCardinal) : TStatus; cdecl;external;
-Function XQueryBestTile(_para1 : PDisplay;_para2 : TDrawable;_para3 : cardinal;_para4 : cardinal;_para5 : PCardinal;_para6 : PCardinal) : TStatus; cdecl;external;
-Function XQueryColor(_para1 : PDisplay;_para2 : TColormap;_para3 : PXColor) : longint; cdecl;external;
-Function XQueryColors(_para1 : PDisplay;_para2 : TColormap;_para3 : PXColor;_para4 : longint) : longint; cdecl;external;
-Function XQueryExtension(_para1 : PDisplay;_para2 : pchar;_para3 : Plongint;_para4 : Plongint;_para5 : Plongint) : TBool; cdecl;external;
-{
-Function XQueryKeymap(_para1 : PDisplay;_para2 : array[0..(32)-1] of char) : longint; cdecl;external;
-}
-Function XQueryPointer(_para1 : PDisplay;_para2 : TWindow;_para3 : PWindow;_para4 : PWindow;_para5 : Plongint;_para6 : Plongint;_para7 : Plongint;_para8 : Plongint;_para9 : PCardinal) : TBool; cdecl;external;
-Function XQueryTextExtents(_para1 : PDisplay;_para2 : TXID;_para3 : pchar;_para4 : longint;_para5 : Plongint;_para6 : Plongint;_para7 : Plongint;_para8 : PXCharStruct) : longint; cdecl;external;
-Function XQueryTextExtents16(_para1 : PDisplay;_para2 : TXID;_para3 : PXChar2b;_para4 : longint;_para5 : Plongint;_para6 : Plongint;_para7 : Plongint;_para8 : PXCharStruct) : longint; cdecl;external;
-Function XQueryTree(_para1 : PDisplay;_para2 : TWindow;_para3 : PWindow;_para4 : PWindow;_para5 : PPWindow;_para6 : PCardinal) : TStatus; cdecl;external;
-Function XRaiseWindow(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XReadBitmapFile(_para1 : PDisplay;_para2 : TDrawable;_para3 : pchar;_para4 : PCardinal;_para5 : PCardinal;_para6 : PPixmap;_para7 : Plongint;_para8 : Plongint) : longint; cdecl;external;
-Function XReadBitmapFileData(_para1 : pchar;_para2 : PCardinal;_para3 : PCardinal;_para4 : PPChar;_para5 : Plongint;_para6 : Plongint) : longint; cdecl;external;
-Function XRebindKeysym(_para1 : PDisplay;_para2 : TKeySym;_para3 : PKeySym;_para4 : longint;_para5 : pchar;_para6 : longint) : longint; cdecl;external;
-Function XRecolorCursor(_para1 : PDisplay;_para2 : TCursor;_para3 : PXColor;_para4 : PXColor) : longint; cdecl;external;
-Function XRefreshKeyboardMapping(_para1 : PXMappingEvent) : longint; cdecl;external;
-Function XRemoveFromSaveSet(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XRemoveHost(_para1 : PDisplay;_para2 : PXHostAddress) : longint; cdecl;external;
-Function XRemoveHosts(_para1 : PDisplay;_para2 : PXHostAddress;_para3 : longint) : longint; cdecl;external;
-Function XReparentWindow(_para1 : PDisplay;_para2 : TWindow;_para3 : TWindow;_para4 : longint;_para5 : longint) : longint; cdecl;external;
-Function XResetScreenSaver(_para1 : PDisplay) : longint; cdecl;external;
-Function XResizeWindow(_para1 : PDisplay;_para2 : TWindow;_para3 : cardinal;_para4 : cardinal) : longint; cdecl;external;
-Function XRestackWindows(_para1 : PDisplay;_para2 : PWindow;_para3 : longint) : longint; cdecl;external;
-Function XRotateBuffers(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XRotateWindowProperties(_para1 : PDisplay;_para2 : TWindow;_para3 : PAtom;_para4 : longint;_para5 : longint) : longint; cdecl;external;
-Function XScreenCount(_para1 : PDisplay) : longint; cdecl;external;
-Function XSelectInput(_para1 : PDisplay;_para2 : TWindow;_para3 : longint) : longint; cdecl;external;
-Function XSendEvent(_para1 : PDisplay;_para2 : TWindow;_para3 : TBool;_para4 : longint;_para5 : PXEvent) : TStatus; cdecl;external;
-Function XSetAccessControl(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XSetArcMode(_para1 : PDisplay;_para2 : TGC;_para3 : longint) : longint; cdecl;external;
-Function XSetBackground(_para1 : PDisplay;_para2 : TGC;_para3 : cardinal) : longint; cdecl;external;
-Function XSetClipMask(_para1 : PDisplay;_para2 : TGC;_para3 : TPixmap) : longint; cdecl;external;
-Function XSetClipOrigin(_para1 : PDisplay;_para2 : TGC;_para3 : longint;_para4 : longint) : longint; cdecl;external;
-Function XSetClipRectangles(_para1 : PDisplay;_para2 : TGC;_para3 : longint;_para4 : longint;_para5 : PXRectangle;_para6 : longint;_para7 : longint) : longint; cdecl;external;
-Function XSetCloseDownMode(_para1 : PDisplay;_para2 : longint) : longint; cdecl;external;
-Function XSetCommand(_para1 : PDisplay;_para2 : TWindow;_para3 : PPChar;_para4 : longint) : longint; cdecl;external;
-Function XSetDashes(_para1 : PDisplay;_para2 : TGC;_para3 : longint;_para4 : pchar;_para5 : longint) : longint; cdecl;external;
-Function XSetFillRule(_para1 : PDisplay;_para2 : TGC;_para3 : longint) : longint; cdecl;external;
-Function XSetFillStyle(_para1 : PDisplay;_para2 : TGC;_para3 : longint) : longint; cdecl;external;
-Function XSetFont(_para1 : PDisplay;_para2 : TGC;_para3 : TFont) : longint; cdecl;external;
-Function XSetFontPath(_para1 : PDisplay;_para2 : PPChar;_para3 : longint) : longint; cdecl;external;
-Function XSetForeground(_para1 : PDisplay;_para2 : TGC;_para3 : cardinal) : longint; cdecl;external;
-Function XSetFunction(_para1 : PDisplay;_para2 : TGC;_para3 : longint) : longint; cdecl;external;
-Function XSetGraphicsExposures(_para1 : PDisplay;_para2 : TGC;_para3 : TBool) : longint; cdecl;external;
-Function XSetIconName(_para1 : PDisplay;_para2 : TWindow;_para3 : pchar) : longint; cdecl;external;
-Function XSetInputFocus(_para1 : PDisplay;_para2 : TWindow;_para3 : longint;_para4 : TTime) : longint; cdecl;external;
-Function XSetLineAttributes(_para1 : PDisplay;_para2 : TGC;_para3 : cardinal;_para4 : longint;_para5 : longint;_para6 : longint) : longint; cdecl;external;
-Function XSetModifierMapping(_para1 : PDisplay;_para2 : PXModifierKeymap) : longint; cdecl;external;
-Function XSetPlaneMask(_para1 : PDisplay;_para2 : TGC;_para3 : cardinal) : longint; cdecl;external;
-Function XSetPointerMapping(_para1 : PDisplay;_para2 : pchar;_para3 : longint) : longint; cdecl;external;
-Function XSetScreenSaver(_para1 : PDisplay;_para2 : longint;_para3 : longint;_para4 : longint;_para5 : longint) : longint; cdecl;external;
-Function XSetSelectionOwner(_para1 : PDisplay;_para2 : TAtom;_para3 : TWindow;_para4 : TTime) : longint; cdecl;external;
-Function XSetState(_para1 : PDisplay;_para2 : TGC;_para3 : cardinal;_para4 : cardinal;_para5 : longint;_para6 : cardinal) : longint; cdecl;external;
-Function XSetStipple(_para1 : PDisplay;_para2 : TGC;_para3 : TPixmap) : longint; cdecl;external;
-Function XSetSubwindowMode(_para1 : PDisplay;_para2 : TGC;_para3 : longint) : longint; cdecl;external;
-Function XSetTSOrigin(_para1 : PDisplay;_para2 : TGC;_para3 : longint;_para4 : longint) : longint; cdecl;external;
-Function XSetTile(_para1 : PDisplay;_para2 : TGC;_para3 : TPixmap) : longint; cdecl;external;
-Function XSetWindowBackground(_para1 : PDisplay;_para2 : TWindow;_para3 : cardinal) : longint; cdecl;external;
-Function XSetWindowBackgroundPixmap(_para1 : PDisplay;_para2 : TWindow;_para3 : TPixmap) : longint; cdecl;external;
-Function XSetWindowBorder(_para1 : PDisplay;_para2 : TWindow;_para3 : cardinal) : longint; cdecl;external;
-Function XSetWindowBorderPixmap(_para1 : PDisplay;_para2 : TWindow;_para3 : TPixmap) : longint; cdecl;external;
-Function XSetWindowBorderWidth(_para1 : PDisplay;_para2 : TWindow;_para3 : cardinal) : longint; cdecl;external;
-Function XSetWindowColormap(_para1 : PDisplay;_para2 : TWindow;_para3 : TColormap) : longint; cdecl;external;
-Function XStoreBuffer(_para1 : PDisplay;_para2 : pchar;_para3 : longint;_para4 : longint) : longint; cdecl;external;
-Function XStoreBytes(_para1 : PDisplay;_para2 : pchar;_para3 : longint) : longint; cdecl;external;
-Function XStoreColor(_para1 : PDisplay;_para2 : TColormap;_para3 : PXColor) : longint; cdecl;external;
-Function XStoreColors(_para1 : PDisplay;_para2 : TColormap;_para3 : PXColor;_para4 : longint) : longint; cdecl;external;
-Function XStoreName(_para1 : PDisplay;_para2 : TWindow;_para3 : pchar) : longint; cdecl;external;
-Function XStoreNamedColor(_para1 : PDisplay;_para2 : TColormap;_para3 : pchar;_para4 : cardinal;_para5 : longint) : longint; cdecl;external;
-Function XSync(_para1 : PDisplay;_para2 : TBool) : longint; cdecl;external;
-Function XTextExtents(_para1 : PXFontStruct;_para2 : pchar;_para3 : longint;_para4 : Plongint;_para5 : Plongint;_para6 : Plongint;_para7 : PXCharStruct) : longint; cdecl;external;
-Function XTextExtents16(_para1 : PXFontStruct;_para2 : PXChar2b;_para3 : longint;_para4 : Plongint;_para5 : Plongint;_para6 : Plongint;_para7 : PXCharStruct) : longint; cdecl;external;
-Function XTextWidth(_para1 : PXFontStruct;_para2 : pchar;_para3 : longint) : longint; cdecl;external;
-Function XTextWidth16(_para1 : PXFontStruct;_para2 : PXChar2b;_para3 : longint) : longint; cdecl;external;
-Function XTranslateCoordinates(_para1 : PDisplay;_para2 : TWindow;_para3 : TWindow;_para4 : longint;_para5 : longint;_para6 : Plongint;_para7 : Plongint;_para8 : PWindow) : TBool; cdecl;external;
-Function XUndefineCursor(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XUngrabButton(_para1 : PDisplay;_para2 : cardinal;_para3 : cardinal;_para4 : TWindow) : longint; cdecl;external;
-Function XUngrabKey(_para1 : PDisplay;_para2 : longint;_para3 : cardinal;_para4 : TWindow) : longint; cdecl;external;
-Function XUngrabKeyboard(_para1 : PDisplay;_para2 : TTime) : longint; cdecl;external;
-Function XUngrabPointer(_para1 : PDisplay;_para2 : TTime) : longint; cdecl;external;
-Function XUngrabServer(_para1 : PDisplay) : longint; cdecl;external;
-Function XUninstallColormap(_para1 : PDisplay;_para2 : TColormap) : longint; cdecl;external;
-Function XUnloadFont(_para1 : PDisplay;_para2 : TFont) : longint; cdecl;external;
-Function XUnmapSubwindows(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XUnmapWindow(_para1 : PDisplay;_para2 : TWindow) : longint; cdecl;external;
-Function XVendorRelease(_para1 : PDisplay) : longint; cdecl;external;
-Function XWarpPointer(_para1 : PDisplay;_para2 : TWindow;_para3 : TWindow;_para4 : longint;_para5 : longint;_para6 : cardinal;_para7 : cardinal;_para8 : longint;_para9 : longint) : longint; cdecl;external;
-Function XWidthMMOfScreen(_para1 : PScreen) : longint; cdecl;external;
-Function XWidthOfScreen(_para1 : PScreen) : longint; cdecl;external;
-Function XWindowEvent(_para1 : PDisplay;_para2 : TWindow;_para3 : longint;_para4 : PXEvent) : longint; cdecl;external;
-Function XWriteBitmapFile(_para1 : PDisplay;_para2 : pchar;_para3 : TPixmap;_para4 : cardinal;_para5 : cardinal;_para6 : longint;_para7 : longint) : longint; cdecl;external;
-Function XSupportsLocale : TBool; cdecl;external;
-Function XSetLocaleModifiers(_para1 : pchar) : pchar; cdecl;external;
-{
-Function XOpenOM(_para1 : PDisplay;_para2 : ^*;_para3 : pchar;_para4 : pchar) : TXOM; cdecl;external;
-}
-Function XCloseOM(_para1 : TXOM) : TStatus; cdecl;external;
-Function XDisplayOfOM(_para1 : TXOM) : PDisplay; cdecl;external;
-Function XLocaleOfOM(_para1 : TXOM) : pchar; cdecl;external;
-Procedure XDestroyOC(_para1 : TXOC); cdecl;external;
-Function TXOMOfOC(_para1 : TXOC) : TXOM; cdecl;external;
-Function XCreateFontSet(_para1 : PDisplay;_para2 : pchar;_para3 : PPPChar;_para4 : Plongint;_para5 : PPChar) : TXFontSet; cdecl;external;
-Procedure XFreeFontSet(_para1 : PDisplay;_para2 : TXFontSet); cdecl;external;
-Function XFontsOfFontSet(_para1 : TXFontSet;_para2 : PPPXFontStruct;_para3 : PPPChar) : longint; cdecl;external;
-Function XBaseFontNameListOfFontSet(_para1 : TXFontSet) : pchar; cdecl;external;
-Function XLocaleOfFontSet(_para1 : TXFontSet) : pchar; cdecl;external;
-Function XContextDependentDrawing(_para1 : TXFontSet) : TBool; cdecl;external;
-Function XDirectionalDependentDrawing(_para1 : TXFontSet) : TBool; cdecl;external;
-Function XContextualDrawing(_para1 : TXFontSet) : TBool; cdecl;external;
-Function XExtentsOfFontSet(_para1 : TXFontSet) : PXFontSetExtents; cdecl;external;
-Function XmbTextEscapement(_para1 : TXFontSet;_para2 : pchar;_para3 : longint) : longint; cdecl;external;
-Function XwcTextEscapement(_para1 : TXFontSet;_para2 : Pwchar_t;_para3 : longint) : longint; cdecl;external;
-Function XmbTextExtents(_para1 : TXFontSet;_para2 : pchar;_para3 : longint;_para4 : PXRectangle;_para5 : PXRectangle) : longint; cdecl;external;
-Function XwcTextExtents(_para1 : TXFontSet;_para2 : Pwchar_t;_para3 : longint;_para4 : PXRectangle;_para5 : PXRectangle) : longint; cdecl;external;
-Function XmbTextPerCharExtents(_para1 : TXFontSet;_para2 : pchar;_para3 : longint;_para4 : PXRectangle;_para5 : PXRectangle;_para6 : longint;_para7 : Plongint;_para8 : PXRectangle;_para9 : PXRectangle) : TStatus; cdecl;external;
-Function XwcTextPerCharExtents(_para1 : TXFontSet;_para2 : Pwchar_t;_para3 : longint;_para4 : PXRectangle;_para5 : PXRectangle;_para6 : longint;_para7 : Plongint;_para8 : PXRectangle;_para9 : PXRectangle) : TStatus; cdecl;external;
-Procedure XmbDrawText(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : PXmbTextItem;_para7 : longint); cdecl;external;
-Procedure XwcDrawText(_para1 : PDisplay;_para2 : TDrawable;_para3 : TGC;_para4 : longint;_para5 : longint;_para6 : PXwcTextItem;_para7 : longint); cdecl;external;
-Procedure XmbDrawString(_para1 : PDisplay;_para2 : TDrawable;_para3 : TXFontSet;_para4 : TGC;_para5 : longint;_para6 : longint;_para7 : pchar;_para8 : longint); cdecl;external;
-Procedure XwcDrawString(_para1 : PDisplay;_para2 : TDrawable;_para3 : TXFontSet;_para4 : TGC;_para5 : longint;_para6 : longint;_para7 : Pwchar_t;_para8 : longint); cdecl;external;
-Procedure XmbDrawImageString(_para1 : PDisplay;_para2 : TDrawable;_para3 : TXFontSet;_para4 : TGC;_para5 : longint;_para6 : longint;_para7 : pchar;_para8 : longint); cdecl;external;
-Procedure XwcDrawImageString(_para1 : PDisplay;_para2 : TDrawable;_para3 : TXFontSet;_para4 : TGC;_para5 : longint;_para6 : longint;_para7 : Pwchar_t;_para8 : longint); cdecl;external;
-{
-Function XOpenIM(_para1 : PDisplay;_para2 : P*;_para3 : pchar;_para4 : pchar) : TXIM; cdecl;external;
-}
-Function XCloseIM(_para1 : TXIM) : TStatus; cdecl;external;
-Function XDisplayOfIM(_para1 : TXIM) : PDisplay; cdecl;external;
-Function XLocaleOfIM(_para1 : TXIM) : pchar; cdecl;external;
-Procedure XDestroyIC(_para1 : TXIC); cdecl;external;
-Procedure XSetICFocus(_para1 : TXIC); cdecl;external;
-Procedure XUnsetICFocus(_para1 : TXIC); cdecl;external;
-Function XwcResetIC(_para1 : TXIC) : Pwchar_t; cdecl;external;
-Function XmbResetIC(_para1 : TXIC) : pchar; cdecl;external;
-Function TXIMOfIC(_para1 : TXIC) : TXIM; cdecl;external;
-Function XFilterEvent(_para1 : PXEvent;_para2 : TWindow) : TBool; cdecl;external;
-Function XmbLookupString(_para1 : TXIC;_para2 : PXKeyPressedEvent;_para3 : pchar;_para4 : longint;_para5 : PKeySym;_para6 : PStatus) : longint; cdecl;external;
-Function XwcLookupString(_para1 : TXIC;_para2 : PXKeyPressedEvent;_para3 : Pwchar_t;_para4 : longint;_para5 : PKeySym;_para6 : PStatus) : longint; cdecl;external;
-{
-Function XRegisterIMInstantiateCallback(_para1 : PDisplay;_para2 : P*;_para3 : pchar;_para4 : pchar;_para5 : TXIMProc;_para6 : PXPointer) : TBool; cdecl;external;
-Function XUnregisterIMInstantiateCallback(_para1 : PDisplay;_para2 : P*;_para3 : pchar;_para4 : pchar;_para5 : TXIMProc;_para6 : PXPointer) : TBool; cdecl;external;
-}
-Function XInternalConnectionNumbers(_para1 : PDisplay;_para2 : PPlongint;_para3 : Plongint) : TStatus; cdecl;external;
-Procedure XProcessInternalConnection(_para1 : PDisplay;_para2 : longint); cdecl;external;
-Function XAddConnectionWatch(_para1 : PDisplay;_para2 : TXConnectionWatchProc;_para3 : TXPointer) : TStatus; cdecl;external;
-Procedure XRemoveConnectionWatch(_para1 : PDisplay;_para2 : TXConnectionWatchProc;_para3 : TXPointer); cdecl;external;
+
+   PXOMCharSetList = ^TXOMCharSetList;
+   TXOMCharSetList = record
+        charset_count : longint;
+        charset_list : PPChar;
+     end;
+
+   PXOrientation = ^TXOrientation;
+   TXOrientation = (XOMOrientation_LTR_TTB,XOMOrientation_RTL_TTB,
+     XOMOrientation_TTB_LTR,XOMOrientation_TTB_RTL,
+     XOMOrientation_Context);
+
+   PXOMOrientation = ^TXOMOrientation;
+   TXOMOrientation = record
+        num_orientation : longint;
+        orientation : PXOrientation;
+     end;
+
+   PXOMFontInfo = ^TXOMFontInfo;
+   TXOMFontInfo = record
+        num_font : longint;
+        font_struct_list : ^PXFontStruct;
+        font_name_list : PPChar;
+     end;
+
+   PXIM = ^TXIM;
+   TXIM = record
+     end;
+
+   PXIC = ^TXIC;
+   TXIC = record
+     end;
+
+   TXIMProc = procedure (para1:TXIM; para2:TXPointer; para3:TXPointer);cdecl;
+
+   TXICProc = function (para1:TXIC; para2:TXPointer; para3:TXPointer):TBool;cdecl;
+
+   TXIDProc = procedure (para1:PDisplay; para2:TXPointer; para3:TXPointer);cdecl;
+
+   PXIMStyle = ^TXIMStyle;
+   TXIMStyle = dword;
+
+   PXIMStyles = ^TXIMStyles;
+   TXIMStyles = record
+        count_styles : word;
+        supported_styles : PXIMStyle;
+     end;
+
+const
+   XIMPreeditArea = $0001;
+   XIMPreeditCallbacks = $0002;
+   XIMPreeditPosition = $0004;
+   XIMPreeditNothing = $0008;
+   XIMPreeditNone = $0010;
+   XIMStatusArea = $0100;
+   XIMStatusCallbacks = $0200;
+   XIMStatusNothing = $0400;
+   XIMStatusNone = $0800;
+   XNVaNestedList = 'XNVaNestedList';
+   XNQueryInputStyle = 'queryInputStyle';
+   XNClientWindow = 'clientWindow';
+   XNInputStyle = 'inputStyle';
+   XNFocusWindow = 'focusWindow';
+   XNResourceName = 'resourceName';
+   XNResourceClass = 'resourceClass';
+   XNGeometryCallback = 'geometryCallback';
+   XNDestroyCallback = 'destroyCallback';
+   XNFilterEvents = 'filterEvents';
+   XNPreeditStartCallback = 'preeditStartCallback';
+   XNPreeditDoneCallback = 'preeditDoneCallback';
+   XNPreeditDrawCallback = 'preeditDrawCallback';
+   XNPreeditCaretCallback = 'preeditCaretCallback';
+   XNPreeditStateNotifyCallback = 'preeditStateNotifyCallback';
+   XNPreeditAttributes = 'preeditAttributes';
+   XNStatusStartCallback = 'statusStartCallback';
+   XNStatusDoneCallback = 'statusDoneCallback';
+   XNStatusDrawCallback = 'statusDrawCallback';
+   XNStatusAttributes = 'statusAttributes';
+   XNArea = 'area';
+   XNAreaNeeded = 'areaNeeded';
+   XNSpotLocation = 'spotLocation';
+   XNColormap = 'colorMap';
+   XNStdColormap = 'stdColorMap';
+   XNForeground = 'foreground';
+   XNBackground = 'background';
+   XNBackgroundPixmap = 'backgroundPixmap';
+   XNFontSet = 'fontSet';
+   XNLineSpace = 'lineSpace';
+   XNCursor = 'cursor';
+   XNQueryIMValuesList = 'queryIMValuesList';
+   XNQueryICValuesList = 'queryICValuesList';
+   XNVisiblePosition = 'visiblePosition';
+   XNR6PreeditCallback = 'r6PreeditCallback';
+   XNStringConversionCallback = 'stringConversionCallback';
+   XNStringConversion = 'stringConversion';
+   XNResetState = 'resetState';
+   XNHotKey = 'hotKey';
+   XNHotKeyState = 'hotKeyState';
+   XNPreeditState = 'preeditState';
+   XNSeparatorofNestedList = 'separatorofNestedList';
+   XBufferOverflow = -(1);
+   XLookupNone = 1;
+   XLookupChars = 2;
+   XLookupKeySymVal = 3;
+   XLookupBoth = 4;
+type
+
+   PXVaNestedList = ^TXVaNestedList;
+   TXVaNestedList = pointer;
+
+   PXIMCallback = ^TXIMCallback;
+   TXIMCallback = record
+        client_data : TXPointer;
+        callback : TXIMProc;
+     end;
+
+   PXICCallback = ^TXICCallback;
+   TXICCallback = record
+        client_data : TXPointer;
+        callback : TXICProc;
+     end;
+
+   PXIMFeedback = ^TXIMFeedback;
+   TXIMFeedback = dword;
+
+const
+   XIMReverse = 1;
+   XIMUnderline = 1 shl 1;
+   XIMHighlight = 1 shl 2;
+   XIMPrimary = 1 shl 5;
+   XIMSecondary = 1 shl 6;
+   XIMTertiary = 1 shl 7;
+   XIMVisibleToForward = 1 shl 8;
+   XIMVisibleToBackword = 1 shl 9;
+   XIMVisibleToCenter = 1 shl 10;
+type
+
+   PXIMText = ^TXIMText;
+   TXIMText = record
+        length : word;
+        feedback : PXIMFeedback;
+        encoding_is_wchar : TBool;
+        _string : record
+            case longint of
+               0 : ( multi_byte : Pchar );
+               1 : ( wide_char : PWideChar );
+            end;
+     end;
+
+   PXIMPreeditState = ^TXIMPreeditState;
+   TXIMPreeditState = dword;
+
+const
+   XIMPreeditUnKnown = 0;
+   XIMPreeditEnable = 1;
+   XIMPreeditDisable = 1 shl 1;
+type
+
+   PXIMPreeditStateNotifyCallbackStruct = ^TXIMPreeditStateNotifyCallbackStruct;
+   TXIMPreeditStateNotifyCallbackStruct = record
+        state : TXIMPreeditState;
+     end;
+
+   PXIMResetState = ^TXIMResetState;
+   TXIMResetState = dword;
+
+const
+   XIMInitialState = 1;
+   XIMPreserveState = 1 shl 1;
+type
+
+   PXIMStringConversionFeedback = ^TXIMStringConversionFeedback;
+   TXIMStringConversionFeedback = dword;
+
+const
+   XIMStringConversionLeftEdge = $00000001;
+   XIMStringConversionRightEdge = $00000002;
+   XIMStringConversionTopEdge = $00000004;
+   XIMStringConversionBottomEdge = $00000008;
+   XIMStringConversionConcealed = $00000010;
+   XIMStringConversionWrapped = $00000020;
+type
+
+   PXIMStringConversionText = ^TXIMStringConversionText;
+   TXIMStringConversionText = record
+        length : word;
+        feedback : PXIMStringConversionFeedback;
+        encoding_is_wchar : TBool;
+        _string : record
+            case longint of
+               0 : ( mbs : Pchar );
+               1 : ( wcs : PWideChar );
+            end;
+     end;
+
+   PXIMStringConversionPosition = ^TXIMStringConversionPosition;
+   TXIMStringConversionPosition = word;
+
+   PXIMStringConversionType = ^TXIMStringConversionType;
+   TXIMStringConversionType = word;
+
+const
+   XIMStringConversionBuffer = $0001;
+   XIMStringConversionLine = $0002;
+   XIMStringConversionWord = $0003;
+   XIMStringConversionChar = $0004;
+type
+
+   PXIMStringConversionOperation = ^TXIMStringConversionOperation;
+   TXIMStringConversionOperation = word;
+
+const
+   XIMStringConversionSubstitution = $0001;
+   XIMStringConversionRetrieval = $0002;
+type
+
+   PXIMCaretDirection = ^TXIMCaretDirection;
+   TXIMCaretDirection = (XIMForwardChar,XIMBackwardChar,XIMForwardWord,
+     XIMBackwardWord,XIMCaretUp,XIMCaretDown,
+     XIMNextLine,XIMPreviousLine,XIMLineStart,
+     XIMLineEnd,XIMAbsolutePosition,XIMDontChange
+     );
+
+   PXIMStringConversionCallbackStruct = ^TXIMStringConversionCallbackStruct;
+   TXIMStringConversionCallbackStruct = record
+        position : TXIMStringConversionPosition;
+        direction : TXIMCaretDirection;
+        operation : TXIMStringConversionOperation;
+        factor : word;
+        text : PXIMStringConversionText;
+     end;
+
+   PXIMPreeditDrawCallbackStruct = ^TXIMPreeditDrawCallbackStruct;
+   TXIMPreeditDrawCallbackStruct = record
+        caret : longint;
+        chg_first : longint;
+        chg_length : longint;
+        text : PXIMText;
+     end;
+
+   PXIMCaretStyle = ^TXIMCaretStyle;
+   TXIMCaretStyle = (XIMIsInvisible,XIMIsPrimary,XIMIsSecondary
+     );
+
+   PXIMPreeditCaretCallbackStruct = ^TXIMPreeditCaretCallbackStruct;
+   TXIMPreeditCaretCallbackStruct = record
+        position : longint;
+        direction : TXIMCaretDirection;
+        style : TXIMCaretStyle;
+     end;
+
+   PXIMStatusDataType = ^TXIMStatusDataType;
+   TXIMStatusDataType = (XIMTextType,XIMBitmapType);
+
+   PXIMStatusDrawCallbackStruct = ^TXIMStatusDrawCallbackStruct;
+   TXIMStatusDrawCallbackStruct = record
+        _type : TXIMStatusDataType;
+        data : record
+            case longint of
+               0 : ( text : PXIMText );
+               1 : ( bitmap : TPixmap );
+            end;
+     end;
+
+   PXIMHotKeyTrigger = ^TXIMHotKeyTrigger;
+   TXIMHotKeyTrigger = record
+        keysym : TKeySym;
+        modifier : longint;
+        modifier_mask : longint;
+     end;
+
+   PXIMHotKeyTriggers = ^TXIMHotKeyTriggers;
+   TXIMHotKeyTriggers = record
+        num_hot_key : longint;
+        key : PXIMHotKeyTrigger;
+     end;
+
+   PXIMHotKeyState = ^TXIMHotKeyState;
+   TXIMHotKeyState = dword;
+
+const
+   XIMHotKeyStateON = $0001;
+   XIMHotKeyStateOFF = $0002;
+type
+
+   PXIMValuesList = ^TXIMValuesList;
+   TXIMValuesList = record
+        count_values : word;
+        supported_values : PPChar;
+     end;
+  var
+     _Xdebug : longint;cvar;external;
+type
+  funclong = function :longint;
+  funcbool = function :TBool;
+  chararr32 = array[0..31] of char;
+
+function XLoadQueryFont(para1:PDisplay; para2:Pchar):PXFontStruct;cdecl;external;
+function XQueryFont(para1:PDisplay; para2:TXID):PXFontStruct;cdecl;external;
+function XGetMotionEvents(para1:PDisplay; para2:TWindow; para3:TTime; para4:TTime; para5:Plongint):PXTimeCoord;cdecl;external;
+function XDeleteModifiermapEntry(para1:PXModifierKeymap; para2:TKeyCode; para3:longint):PXModifierKeymap;cdecl;external;
+function XGetModifierMapping(para1:PDisplay):PXModifierKeymap;cdecl;external;
+function XInsertModifiermapEntry(para1:PXModifierKeymap; para2:TKeyCode; para3:longint):PXModifierKeymap;cdecl;external;
+function XNewModifiermap(para1:longint):PXModifierKeymap;cdecl;external;
+function XCreateImage(para1:PDisplay; para2:PVisual; para3:dword; para4:longint; para5:longint;
+           para6:Pchar; para7:dword; para8:dword; para9:longint; para10:longint):PXImage;cdecl;external;
+function XInitImage(para1:PXImage):TStatus;cdecl;external;
+function XGetImage(para1:PDisplay; para2:TDrawable; para3:longint; para4:longint; para5:dword;
+           para6:dword; para7:dword; para8:longint):PXImage;cdecl;external;
+function XGetSubImage(para1:PDisplay; para2:TDrawable; para3:longint; para4:longint; para5:dword;
+           para6:dword; para7:dword; para8:longint; para9:PXImage; para10:longint;
+           para11:longint):PXImage;cdecl;external;
+function XOpenDisplay(para1:Pchar):PDisplay;cdecl;external;
+procedure XrmInitialize;cdecl;external;
+function XFetchBytes(para1:PDisplay; para2:Plongint):Pchar;cdecl;external;
+function XFetchBuffer(para1:PDisplay; para2:Plongint; para3:longint):Pchar;cdecl;external;
+function XGetAtomName(para1:PDisplay; para2:TAtom):Pchar;cdecl;external;
+function XGetAtomNames(para1:PDisplay; para2:PAtom; para3:longint; para4:PPchar):TStatus;cdecl;external;
+function XGetDefault(para1:PDisplay; para2:Pchar; para3:Pchar):Pchar;cdecl;external;
+function XDisplayName(para1:Pchar):Pchar;cdecl;external;
+function XKeysymToString(para1:TKeySym):Pchar;cdecl;external;
+function XSynchronize(para1:PDisplay; para2:TBool):funclong;cdecl;external;
+function XSetAfterFunction(para1:PDisplay; para2:funclong):funclong;cdecl;external;
+function XInternAtom(para1:PDisplay; para2:Pchar; para3:TBool):TAtom;cdecl;external;
+function XInternAtoms(para1:PDisplay; para2:PPchar; para3:longint; para4:TBool; para5:PAtom):TStatus;cdecl;external;
+function XCopyColormapAndFree(para1:PDisplay; para2:TColormap):TColormap;cdecl;external;
+function XCreateColormap(para1:PDisplay; para2:TWindow; para3:PVisual; para4:longint):TColormap;cdecl;external;
+function XCreatePixmapCursor(para1:PDisplay; para2:TPixmap; para3:TPixmap; para4:PXColor; para5:PXColor;
+           para6:dword; para7:dword):TCursor;cdecl;external;
+function XCreateGlyphCursor(para1:PDisplay; para2:TFont; para3:TFont; para4:dword; para5:dword;
+           para6:PXColor; para7:PXColor):TCursor;cdecl;external;
+function XCreateFontCursor(para1:PDisplay; para2:dword):TCursor;cdecl;external;
+function XLoadFont(para1:PDisplay; para2:Pchar):TFont;cdecl;external;
+function XCreateGC(para1:PDisplay; para2:TDrawable; para3:dword; para4:PXGCValues):TGC;cdecl;external;
+function XGContextFromGC(para1:TGC):TGContext;cdecl;external;
+procedure XFlushGC(para1:PDisplay; para2:TGC);cdecl;external;
+function XCreatePixmap(para1:PDisplay; para2:TDrawable; para3:dword; para4:dword; para5:dword):TPixmap;cdecl;external;
+function XCreateBitmapFromData(para1:PDisplay; para2:TDrawable; para3:Pchar; para4:dword; para5:dword):TPixmap;cdecl;external;
+function XCreatePixmapFromBitmapData(para1:PDisplay; para2:TDrawable; para3:Pchar; para4:dword; para5:dword;
+           para6:dword; para7:dword; para8:dword):TPixmap;cdecl;external;
+function XCreateSimpleWindow(para1:PDisplay; para2:TWindow; para3:longint; para4:longint; para5:dword;
+           para6:dword; para7:dword; para8:dword; para9:dword):TWindow;cdecl;external;
+function XGetSelectionOwner(para1:PDisplay; para2:TAtom):TWindow;cdecl;external;
+function XCreateWindow(para1:PDisplay; para2:TWindow; para3:longint; para4:longint; para5:dword;
+           para6:dword; para7:dword; para8:longint; para9:dword; para10:PVisual;
+           para11:dword; para12:PXSetWindowAttributes):TWindow;cdecl;external;
+function XListInstalledColormaps(para1:PDisplay; para2:TWindow; para3:Plongint):PColormap;cdecl;external;
+function XListFonts(para1:PDisplay; para2:Pchar; para3:longint; para4:Plongint):PPChar;cdecl;external;
+function XListFontsWithInfo(para1:PDisplay; para2:Pchar; para3:longint; para4:Plongint; para5:PPXFontStruct):PPChar;cdecl;external;
+function XGetFontPath(para1:PDisplay; para2:Plongint):PPChar;cdecl;external;
+function XListExtensions(para1:PDisplay; para2:Plongint):PPChar;cdecl;external;
+function XListProperties(para1:PDisplay; para2:TWindow; para3:Plongint):PAtom;cdecl;external;
+function XListHosts(para1:PDisplay; para2:Plongint; para3:PBool):PXHostAddress;cdecl;external;
+function XKeycodeToKeysym(para1:PDisplay; para2:TKeyCode; para3:longint):TKeySym;cdecl;external;
+function XLookupKeysym(para1:PXKeyEvent; para2:longint):TKeySym;cdecl;external;
+function XGetKeyboardMapping(para1:PDisplay; para2:TKeyCode; para3:longint; para4:Plongint):PKeySym;cdecl;external;
+function XStringToKeysym(para1:Pchar):TKeySym;cdecl;external;
+function XMaxRequestSize(para1:PDisplay):longint;cdecl;external;
+function XExtendedMaxRequestSize(para1:PDisplay):longint;cdecl;external;
+function XResourceManagerString(para1:PDisplay):Pchar;cdecl;external;
+function XScreenResourceString(para1:PScreen):Pchar;cdecl;external;
+function XDisplayMotionBufferSize(para1:PDisplay):dword;cdecl;external;
+function XVisualIDFromVisual(para1:PVisual):TVisualID;cdecl;external;
+function XInitThreads:TStatus;cdecl;external;
+procedure XLockDisplay(para1:PDisplay);cdecl;external;
+procedure XUnlockDisplay(para1:PDisplay);cdecl;external;
+function XInitExtension(para1:PDisplay; para2:Pchar):PXExtCodes;cdecl;external;
+function XAddExtension(para1:PDisplay):PXExtCodes;cdecl;external;
+function XFindOnExtensionList(para1:PPXExtData; para2:longint):PXExtData;cdecl;external;
+function XEHeadOfExtensionList(para1:TXEDataObject):PPXExtData;cdecl;external;
+function XRootWindow(para1:PDisplay; para2:longint):TWindow;cdecl;external;
+function XDefaultRootWindow(para1:PDisplay):TWindow;cdecl;external;
+function XRootWindowOfScreen(para1:PScreen):TWindow;cdecl;external;
+function XDefaultVisual(para1:PDisplay; para2:longint):PVisual;cdecl;external;
+function XDefaultVisualOfScreen(para1:PScreen):PVisual;cdecl;external;
+function XDefaultGC(para1:PDisplay; para2:longint):TGC;cdecl;external;
+function XDefaultGCOfScreen(para1:PScreen):TGC;cdecl;external;
+function XBlackPixel(para1:PDisplay; para2:longint):dword;cdecl;external;
+function XWhitePixel(para1:PDisplay; para2:longint):dword;cdecl;external;
+function XAllPlanes:dword;cdecl;external;
+function XBlackPixelOfScreen(para1:PScreen):dword;cdecl;external;
+function XWhitePixelOfScreen(para1:PScreen):dword;cdecl;external;
+function XNextRequest(para1:PDisplay):dword;cdecl;external;
+function XLastKnownRequestProcessed(para1:PDisplay):dword;cdecl;external;
+function XServerVendor(para1:PDisplay):Pchar;cdecl;external;
+function XDisplayString(para1:PDisplay):Pchar;cdecl;external;
+function XDefaultColormap(para1:PDisplay; para2:longint):TColormap;cdecl;external;
+function XDefaultColormapOfScreen(para1:PScreen):TColormap;cdecl;external;
+function XDisplayOfScreen(para1:PScreen):PDisplay;cdecl;external;
+function XScreenOfDisplay(para1:PDisplay; para2:longint):PScreen;cdecl;external;
+function XDefaultScreenOfDisplay(para1:PDisplay):PScreen;cdecl;external;
+function XEventMaskOfScreen(para1:PScreen):longint;cdecl;external;
+function XScreenNumberOfScreen(para1:PScreen):longint;cdecl;external;
+type
+
+   TXErrorHandler = function (para1:PDisplay; para2:PXErrorEvent):longint;cdecl;
+
+function XSetErrorHandler(para1:TXErrorHandler):TXErrorHandler;cdecl;external;
+type
+
+   TXIOErrorHandler = function (para1:PDisplay):longint;cdecl;
+
+function XSetIOErrorHandler(para1:TXIOErrorHandler):TXIOErrorHandler;cdecl;external;
+function XListPixmapFormats(para1:PDisplay; para2:Plongint):PXPixmapFormatValues;cdecl;external;
+function XListDepths(para1:PDisplay; para2:longint; para3:Plongint):Plongint;cdecl;external;
+function XReconfigureWMWindow(para1:PDisplay; para2:TWindow; para3:longint; para4:dword; para5:PXWindowChanges):TStatus;cdecl;external;
+function XGetWMProtocols(para1:PDisplay; para2:TWindow; para3:PPAtom; para4:Plongint):TStatus;cdecl;external;
+function XSetWMProtocols(para1:PDisplay; para2:TWindow; para3:PAtom; para4:longint):TStatus;cdecl;external;
+function XIconifyWindow(para1:PDisplay; para2:TWindow; para3:longint):TStatus;cdecl;external;
+function XWithdrawWindow(para1:PDisplay; para2:TWindow; para3:longint):TStatus;cdecl;external;
+function XGetCommand(para1:PDisplay; para2:TWindow; para3:PPPchar; para4:Plongint):TStatus;cdecl;external;
+function XGetWMColormapWindows(para1:PDisplay; para2:TWindow; para3:PPWindow; para4:Plongint):TStatus;cdecl;external;
+function XSetWMColormapWindows(para1:PDisplay; para2:TWindow; para3:PWindow; para4:longint):TStatus;cdecl;external;
+procedure XFreeStringList(para1:PPchar);cdecl;external;
+function XSetTransientForHint(para1:PDisplay; para2:TWindow; para3:TWindow):longint;cdecl;external;
+function XActivateScreenSaver(para1:PDisplay):longint;cdecl;external;
+function XAddHost(para1:PDisplay; para2:PXHostAddress):longint;cdecl;external;
+function XAddHosts(para1:PDisplay; para2:PXHostAddress; para3:longint):longint;cdecl;external;
+function XAddToExtensionList(para1:PPXExtData; para2:PXExtData):longint;cdecl;external;
+function XAddToSaveSet(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XAllocColor(para1:PDisplay; para2:TColormap; para3:PXColor):TStatus;cdecl;external;
+function XAllocColorCells(para1:PDisplay; para2:TColormap; para3:TBool; para4:Pdword; para5:dword;
+           para6:Pdword; para7:dword):TStatus;cdecl;external;
+function XAllocColorPlanes(para1:PDisplay; para2:TColormap; para3:TBool; para4:Pdword; para5:longint;
+           para6:longint; para7:longint; para8:longint; para9:Pdword; para10:Pdword;
+           para11:Pdword):TStatus;cdecl;external;
+function XAllocNamedColor(para1:PDisplay; para2:TColormap; para3:Pchar; para4:PXColor; para5:PXColor):TStatus;cdecl;external;
+function XAllowEvents(para1:PDisplay; para2:longint; para3:TTime):longint;cdecl;external;
+function XAutoRepeatOff(para1:PDisplay):longint;cdecl;external;
+function XAutoRepeatOn(para1:PDisplay):longint;cdecl;external;
+function XBell(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XBitmapBitOrder(para1:PDisplay):longint;cdecl;external;
+function XBitmapPad(para1:PDisplay):longint;cdecl;external;
+function XBitmapUnit(para1:PDisplay):longint;cdecl;external;
+function XCellsOfScreen(para1:PScreen):longint;cdecl;external;
+function XChangeActivePointerGrab(para1:PDisplay; para2:dword; para3:TCursor; para4:TTime):longint;cdecl;external;
+function XChangeGC(para1:PDisplay; para2:TGC; para3:dword; para4:PXGCValues):longint;cdecl;external;
+function XChangeKeyboardControl(para1:PDisplay; para2:dword; para3:PXKeyboardControl):longint;cdecl;external;
+function XChangeKeyboardMapping(para1:PDisplay; para2:longint; para3:longint; para4:PKeySym; para5:longint):longint;cdecl;external;
+function XChangePointerControl(para1:PDisplay; para2:TBool; para3:TBool; para4:longint; para5:longint;
+           para6:longint):longint;cdecl;external;
+function XChangeProperty(para1:PDisplay; para2:TWindow; para3:TAtom; para4:TAtom; para5:longint;
+           para6:longint; para7:Pbyte; para8:longint):longint;cdecl;external;
+function XChangeSaveSet(para1:PDisplay; para2:TWindow; para3:longint):longint;cdecl;external;
+function XChangeWindowAttributes(para1:PDisplay; para2:TWindow; para3:dword; para4:PXSetWindowAttributes):longint;cdecl;external;
+function XCheckIfEvent(para1:PDisplay; para2:PXEvent; para3:funcbool; para4:TXPointer):TBool;cdecl;external;
+function XCheckMaskEvent(para1:PDisplay; para2:longint; para3:PXEvent):TBool;cdecl;external;
+function XCheckTypedEvent(para1:PDisplay; para2:longint; para3:PXEvent):TBool;cdecl;external;
+function XCheckTypedWindowEvent(para1:PDisplay; para2:TWindow; para3:longint; para4:PXEvent):TBool;cdecl;external;
+function XCheckWindowEvent(para1:PDisplay; para2:TWindow; para3:longint; para4:PXEvent):TBool;cdecl;external;
+function XCirculateSubwindows(para1:PDisplay; para2:TWindow; para3:longint):longint;cdecl;external;
+function XCirculateSubwindowsDown(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XCirculateSubwindowsUp(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XClearArea(para1:PDisplay; para2:TWindow; para3:longint; para4:longint; para5:dword;
+           para6:dword; para7:TBool):longint;cdecl;external;
+function XClearWindow(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XCloseDisplay(para1:PDisplay):longint;cdecl;external;
+function XConfigureWindow(para1:PDisplay; para2:TWindow; para3:dword; para4:PXWindowChanges):longint;cdecl;external;
+function XConnectionNumber(para1:PDisplay):longint;cdecl;external;
+function XConvertSelection(para1:PDisplay; para2:TAtom; para3:TAtom; para4:TAtom; para5:TWindow;
+           para6:TTime):longint;cdecl;external;
+function XCopyArea(para1:PDisplay; para2:TDrawable; para3:TDrawable; para4:TGC; para5:longint;
+           para6:longint; para7:dword; para8:dword; para9:longint; para10:longint):longint;cdecl;external;
+function XCopyGC(para1:PDisplay; para2:TGC; para3:dword; para4:TGC):longint;cdecl;external;
+function XCopyPlane(para1:PDisplay; para2:TDrawable; para3:TDrawable; para4:TGC; para5:longint;
+           para6:longint; para7:dword; para8:dword; para9:longint; para10:longint;
+           para11:dword):longint;cdecl;external;
+function XDefaultDepth(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XDefaultDepthOfScreen(para1:PScreen):longint;cdecl;external;
+function XDefaultScreen(para1:PDisplay):longint;cdecl;external;
+function XDefineCursor(para1:PDisplay; para2:TWindow; para3:TCursor):longint;cdecl;external;
+function XDeleteProperty(para1:PDisplay; para2:TWindow; para3:TAtom):longint;cdecl;external;
+function XDestroyWindow(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XDestroySubwindows(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XDoesBackingStore(para1:PScreen):longint;cdecl;external;
+function XDoesSaveUnders(para1:PScreen):TBool;cdecl;external;
+function XDisableAccessControl(para1:PDisplay):longint;cdecl;external;
+function XDisplayCells(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XDisplayHeight(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XDisplayHeightMM(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XDisplayKeycodes(para1:PDisplay; para2:Plongint; para3:Plongint):longint;cdecl;external;
+function XDisplayPlanes(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XDisplayWidth(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XDisplayWidthMM(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XDrawArc(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+           para6:dword; para7:dword; para8:longint; para9:longint):longint;cdecl;external;
+function XDrawArcs(para1:PDisplay; para2:TDrawable; para3:TGC; para4:PXArc; para5:longint):longint;cdecl;external;
+function XDrawImageString(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+           para6:Pchar; para7:longint):longint;cdecl;external;
+function XDrawImageString16(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+           para6:PXChar2b; para7:longint):longint;cdecl;external;
+function XDrawLine(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+           para6:longint; para7:longint):longint;cdecl;external;
+function XDrawLines(para1:PDisplay; para2:TDrawable; para3:TGC; para4:PXPoint; para5:longint;
+           para6:longint):longint;cdecl;external;
+function XDrawPoint(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint):longint;cdecl;external;
+function XDrawPoints(para1:PDisplay; para2:TDrawable; para3:TGC; para4:PXPoint; para5:longint;
+           para6:longint):longint;cdecl;external;
+function XDrawRectangle(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+           para6:dword; para7:dword):longint;cdecl;external;
+function XDrawRectangles(para1:PDisplay; para2:TDrawable; para3:TGC; para4:PXRectangle; para5:longint):longint;cdecl;external;
+function XDrawSegments(para1:PDisplay; para2:TDrawable; para3:TGC; para4:PXSegment; para5:longint):longint;cdecl;external;
+function XDrawString(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+           para6:Pchar; para7:longint):longint;cdecl;external;
+function XDrawString16(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+           para6:PXChar2b; para7:longint):longint;cdecl;external;
+function XDrawText(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+           para6:PXTextItem; para7:longint):longint;cdecl;external;
+function XDrawText16(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+           para6:PXTextItem16; para7:longint):longint;cdecl;external;
+function XEnableAccessControl(para1:PDisplay):longint;cdecl;external;
+function XEventsQueued(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XFetchName(para1:PDisplay; para2:TWindow; para3:PPchar):TStatus;cdecl;external;
+function XFillArc(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+           para6:dword; para7:dword; para8:longint; para9:longint):longint;cdecl;external;
+function XFillArcs(para1:PDisplay; para2:TDrawable; para3:TGC; para4:PXArc; para5:longint):longint;cdecl;external;
+function XFillPolygon(para1:PDisplay; para2:TDrawable; para3:TGC; para4:PXPoint; para5:longint;
+           para6:longint; para7:longint):longint;cdecl;external;
+function XFillRectangle(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+           para6:dword; para7:dword):longint;cdecl;external;
+function XFillRectangles(para1:PDisplay; para2:TDrawable; para3:TGC; para4:PXRectangle; para5:longint):longint;cdecl;external;
+function XFlush(para1:PDisplay):longint;cdecl;external;
+function XForceScreenSaver(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XFree(para1:pointer):longint;cdecl;external;
+function XFreeColormap(para1:PDisplay; para2:TColormap):longint;cdecl;external;
+function XFreeColors(para1:PDisplay; para2:TColormap; para3:Pdword; para4:longint; para5:dword):longint;cdecl;external;
+function XFreeCursor(para1:PDisplay; para2:TCursor):longint;cdecl;external;
+function XFreeExtensionList(para1:PPchar):longint;cdecl;external;
+function XFreeFont(para1:PDisplay; para2:PXFontStruct):longint;cdecl;external;
+function XFreeFontInfo(para1:PPchar; para2:PXFontStruct; para3:longint):longint;cdecl;external;
+function XFreeFontNames(para1:PPchar):longint;cdecl;external;
+function XFreeFontPath(para1:PPchar):longint;cdecl;external;
+function XFreeGC(para1:PDisplay; para2:TGC):longint;cdecl;external;
+function XFreeModifiermap(para1:PXModifierKeymap):longint;cdecl;external;
+function XFreePixmap(para1:PDisplay; para2:TPixmap):longint;cdecl;external;
+function XGeometry(para1:PDisplay; para2:longint; para3:Pchar; para4:Pchar; para5:dword;
+           para6:dword; para7:dword; para8:longint; para9:longint; para10:Plongint;
+           para11:Plongint; para12:Plongint; para13:Plongint):longint;cdecl;external;
+function XGetErrorDatabaseText(para1:PDisplay; para2:Pchar; para3:Pchar; para4:Pchar; para5:Pchar;
+           para6:longint):longint;cdecl;external;
+function XGetErrorText(para1:PDisplay; para2:longint; para3:Pchar; para4:longint):longint;cdecl;external;
+function XGetFontProperty(para1:PXFontStruct; para2:TAtom; para3:Pdword):TBool;cdecl;external;
+function XGetGCValues(para1:PDisplay; para2:TGC; para3:dword; para4:PXGCValues):TStatus;cdecl;external;
+function XGetGeometry(para1:PDisplay; para2:TDrawable; para3:PWindow; para4:Plongint; para5:Plongint;
+           para6:Pdword; para7:Pdword; para8:Pdword; para9:Pdword):TStatus;cdecl;external;
+function XGetIconName(para1:PDisplay; para2:TWindow; para3:PPchar):TStatus;cdecl;external;
+function XGetInputFocus(para1:PDisplay; para2:PWindow; para3:Plongint):longint;cdecl;external;
+function XGetKeyboardControl(para1:PDisplay; para2:PXKeyboardState):longint;cdecl;external;
+function XGetPointerControl(para1:PDisplay; para2:Plongint; para3:Plongint; para4:Plongint):longint;cdecl;external;
+function XGetPointerMapping(para1:PDisplay; para2:Pbyte; para3:longint):longint;cdecl;external;
+function XGetScreenSaver(para1:PDisplay; para2:Plongint; para3:Plongint; para4:Plongint; para5:Plongint):longint;cdecl;external;
+function XGetTransientForHint(para1:PDisplay; para2:TWindow; para3:PWindow):TStatus;cdecl;external;
+function XGetWindowProperty(para1:PDisplay; para2:TWindow; para3:TAtom; para4:longint; para5:longint;
+           para6:TBool; para7:TAtom; para8:PAtom; para9:Plongint; para10:Pdword;
+           para11:Pdword; para12:PPbyte):longint;cdecl;external;
+function XGetWindowAttributes(para1:PDisplay; para2:TWindow; para3:PXWindowAttributes):TStatus;cdecl;external;
+function XGrabButton(para1:PDisplay; para2:dword; para3:dword; para4:TWindow; para5:TBool;
+           para6:dword; para7:longint; para8:longint; para9:TWindow; para10:TCursor):longint;cdecl;external;
+function XGrabKey(para1:PDisplay; para2:longint; para3:dword; para4:TWindow; para5:TBool;
+           para6:longint; para7:longint):longint;cdecl;external;
+function XGrabKeyboard(para1:PDisplay; para2:TWindow; para3:TBool; para4:longint; para5:longint;
+           para6:TTime):longint;cdecl;external;
+function XGrabPointer(para1:PDisplay; para2:TWindow; para3:TBool; para4:dword; para5:longint;
+           para6:longint; para7:TWindow; para8:TCursor; para9:TTime):longint;cdecl;external;
+function XGrabServer(para1:PDisplay):longint;cdecl;external;
+function XHeightMMOfScreen(para1:PScreen):longint;cdecl;external;
+function XHeightOfScreen(para1:PScreen):longint;cdecl;external;
+function XIfEvent(para1:PDisplay; para2:PXEvent; para3:funcbool; para4:TXPointer):longint;cdecl;external;
+function XImageByteOrder(para1:PDisplay):longint;cdecl;external;
+function XInstallColormap(para1:PDisplay; para2:TColormap):longint;cdecl;external;
+function XKeysymToKeycode(para1:PDisplay; para2:TKeySym):TKeyCode;cdecl;external;
+function XKillClient(para1:PDisplay; para2:TXID):longint;cdecl;external;
+function XLookupColor(para1:PDisplay; para2:TColormap; para3:Pchar; para4:PXColor; para5:PXColor):TStatus;cdecl;external;
+function XLowerWindow(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XMapRaised(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XMapSubwindows(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XMapWindow(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XMaskEvent(para1:PDisplay; para2:longint; para3:PXEvent):longint;cdecl;external;
+function XMaxCmapsOfScreen(para1:PScreen):longint;cdecl;external;
+function XMinCmapsOfScreen(para1:PScreen):longint;cdecl;external;
+function XMoveResizeWindow(para1:PDisplay; para2:TWindow; para3:longint; para4:longint; para5:dword;
+           para6:dword):longint;cdecl;external;
+function XMoveWindow(para1:PDisplay; para2:TWindow; para3:longint; para4:longint):longint;cdecl;external;
+function XNextEvent(para1:PDisplay; para2:PXEvent):longint;cdecl;external;
+function XNoOp(para1:PDisplay):longint;cdecl;external;
+function XParseColor(para1:PDisplay; para2:TColormap; para3:Pchar; para4:PXColor):TStatus;cdecl;external;
+function XParseGeometry(para1:Pchar; para2:Plongint; para3:Plongint; para4:Pdword; para5:Pdword):longint;cdecl;external;
+function XPeekEvent(para1:PDisplay; para2:PXEvent):longint;cdecl;external;
+function XPeekIfEvent(para1:PDisplay; para2:PXEvent; para3:funcbool; para4:TXPointer):longint;cdecl;external;
+function XPending(para1:PDisplay):longint;cdecl;external;
+function XPlanesOfScreen(para1:PScreen):longint;cdecl;external;
+function XProtocolRevision(para1:PDisplay):longint;cdecl;external;
+function XProtocolVersion(para1:PDisplay):longint;cdecl;external;
+function XPutBackEvent(para1:PDisplay; para2:PXEvent):longint;cdecl;external;
+function XPutImage(para1:PDisplay; para2:TDrawable; para3:TGC; para4:PXImage; para5:longint;
+           para6:longint; para7:longint; para8:longint; para9:dword; para10:dword):longint;cdecl;external;
+function XQLength(para1:PDisplay):longint;cdecl;external;
+function XQueryBestCursor(para1:PDisplay; para2:TDrawable; para3:dword; para4:dword; para5:Pdword;
+           para6:Pdword):TStatus;cdecl;external;
+function XQueryBestSize(para1:PDisplay; para2:longint; para3:TDrawable; para4:dword; para5:dword;
+           para6:Pdword; para7:Pdword):TStatus;cdecl;external;
+function XQueryBestStipple(para1:PDisplay; para2:TDrawable; para3:dword; para4:dword; para5:Pdword;
+           para6:Pdword):TStatus;cdecl;external;
+function XQueryBestTile(para1:PDisplay; para2:TDrawable; para3:dword; para4:dword; para5:Pdword;
+           para6:Pdword):TStatus;cdecl;external;
+function XQueryColor(para1:PDisplay; para2:TColormap; para3:PXColor):longint;cdecl;external;
+function XQueryColors(para1:PDisplay; para2:TColormap; para3:PXColor; para4:longint):longint;cdecl;external;
+function XQueryExtension(para1:PDisplay; para2:Pchar; para3:Plongint; para4:Plongint; para5:Plongint):TBool;cdecl;external;
+function XQueryKeymap(para1:PDisplay; para2:chararr32):longint;cdecl;external;
+function XQueryPointer(para1:PDisplay; para2:TWindow; para3:PWindow; para4:PWindow; para5:Plongint;
+           para6:Plongint; para7:Plongint; para8:Plongint; para9:Pdword):TBool;cdecl;external;
+function XQueryTextExtents(para1:PDisplay; para2:TXID; para3:Pchar; para4:longint; para5:Plongint;
+           para6:Plongint; para7:Plongint; para8:PXCharStruct):longint;cdecl;external;
+function XQueryTextExtents16(para1:PDisplay; para2:TXID; para3:PXChar2b; para4:longint; para5:Plongint;
+           para6:Plongint; para7:Plongint; para8:PXCharStruct):longint;cdecl;external;
+function XQueryTree(para1:PDisplay; para2:TWindow; para3:PWindow; para4:PWindow; para5:PPWindow;
+           para6:Pdword):TStatus;cdecl;external;
+function XRaiseWindow(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XReadBitmapFile(para1:PDisplay; para2:TDrawable; para3:Pchar; para4:Pdword; para5:Pdword;
+           para6:PPixmap; para7:Plongint; para8:Plongint):longint;cdecl;external;
+function XReadBitmapFileData(para1:Pchar; para2:Pdword; para3:Pdword; para4:PPbyte; para5:Plongint;
+           para6:Plongint):longint;cdecl;external;
+function XRebindKeysym(para1:PDisplay; para2:TKeySym; para3:PKeySym; para4:longint; para5:Pbyte;
+           para6:longint):longint;cdecl;external;
+function XRecolorCursor(para1:PDisplay; para2:TCursor; para3:PXColor; para4:PXColor):longint;cdecl;external;
+function XRefreshKeyboardMapping(para1:PXMappingEvent):longint;cdecl;external;
+function XRemoveFromSaveSet(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XRemoveHost(para1:PDisplay; para2:PXHostAddress):longint;cdecl;external;
+function XRemoveHosts(para1:PDisplay; para2:PXHostAddress; para3:longint):longint;cdecl;external;
+function XReparentWindow(para1:PDisplay; para2:TWindow; para3:TWindow; para4:longint; para5:longint):longint;cdecl;external;
+function XResetScreenSaver(para1:PDisplay):longint;cdecl;external;
+function XResizeWindow(para1:PDisplay; para2:TWindow; para3:dword; para4:dword):longint;cdecl;external;
+function XRestackWindows(para1:PDisplay; para2:PWindow; para3:longint):longint;cdecl;external;
+function XRotateBuffers(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XRotateWindowProperties(para1:PDisplay; para2:TWindow; para3:PAtom; para4:longint; para5:longint):longint;cdecl;external;
+function XScreenCount(para1:PDisplay):longint;cdecl;external;
+function XSelectInput(para1:PDisplay; para2:TWindow; para3:longint):longint;cdecl;external;
+function XSendEvent(para1:PDisplay; para2:TWindow; para3:TBool; para4:longint; para5:PXEvent):TStatus;cdecl;external;
+function XSetAccessControl(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XSetArcMode(para1:PDisplay; para2:TGC; para3:longint):longint;cdecl;external;
+function XSetBackground(para1:PDisplay; para2:TGC; para3:dword):longint;cdecl;external;
+function XSetClipMask(para1:PDisplay; para2:TGC; para3:TPixmap):longint;cdecl;external;
+function XSetClipOrigin(para1:PDisplay; para2:TGC; para3:longint; para4:longint):longint;cdecl;external;
+function XSetClipRectangles(para1:PDisplay; para2:TGC; para3:longint; para4:longint; para5:PXRectangle;
+           para6:longint; para7:longint):longint;cdecl;external;
+function XSetCloseDownMode(para1:PDisplay; para2:longint):longint;cdecl;external;
+function XSetCommand(para1:PDisplay; para2:TWindow; para3:PPchar; para4:longint):longint;cdecl;external;
+function XSetDashes(para1:PDisplay; para2:TGC; para3:longint; para4:Pchar; para5:longint):longint;cdecl;external;
+function XSetFillRule(para1:PDisplay; para2:TGC; para3:longint):longint;cdecl;external;
+function XSetFillStyle(para1:PDisplay; para2:TGC; para3:longint):longint;cdecl;external;
+function XSetFont(para1:PDisplay; para2:TGC; para3:TFont):longint;cdecl;external;
+function XSetFontPath(para1:PDisplay; para2:PPchar; para3:longint):longint;cdecl;external;
+function XSetForeground(para1:PDisplay; para2:TGC; para3:dword):longint;cdecl;external;
+function XSetFunction(para1:PDisplay; para2:TGC; para3:longint):longint;cdecl;external;
+function XSetGraphicsExposures(para1:PDisplay; para2:TGC; para3:TBool):longint;cdecl;external;
+function XSetIconName(para1:PDisplay; para2:TWindow; para3:Pchar):longint;cdecl;external;
+function XSetInputFocus(para1:PDisplay; para2:TWindow; para3:longint; para4:TTime):longint;cdecl;external;
+function XSetLineAttributes(para1:PDisplay; para2:TGC; para3:dword; para4:longint; para5:longint;
+           para6:longint):longint;cdecl;external;
+function XSetModifierMapping(para1:PDisplay; para2:PXModifierKeymap):longint;cdecl;external;
+function XSetPlaneMask(para1:PDisplay; para2:TGC; para3:dword):longint;cdecl;external;
+function XSetPointerMapping(para1:PDisplay; para2:Pbyte; para3:longint):longint;cdecl;external;
+function XSetScreenSaver(para1:PDisplay; para2:longint; para3:longint; para4:longint; para5:longint):longint;cdecl;external;
+function XSetSelectionOwner(para1:PDisplay; para2:TAtom; para3:TWindow; para4:TTime):longint;cdecl;external;
+function XSetState(para1:PDisplay; para2:TGC; para3:dword; para4:dword; para5:longint;
+           para6:dword):longint;cdecl;external;
+function XSetStipple(para1:PDisplay; para2:TGC; para3:TPixmap):longint;cdecl;external;
+function XSetSubwindowMode(para1:PDisplay; para2:TGC; para3:longint):longint;cdecl;external;
+function XSetTSOrigin(para1:PDisplay; para2:TGC; para3:longint; para4:longint):longint;cdecl;external;
+function XSetTile(para1:PDisplay; para2:TGC; para3:TPixmap):longint;cdecl;external;
+function XSetWindowBackground(para1:PDisplay; para2:TWindow; para3:dword):longint;cdecl;external;
+function XSetWindowBackgroundPixmap(para1:PDisplay; para2:TWindow; para3:TPixmap):longint;cdecl;external;
+function XSetWindowBorder(para1:PDisplay; para2:TWindow; para3:dword):longint;cdecl;external;
+function XSetWindowBorderPixmap(para1:PDisplay; para2:TWindow; para3:TPixmap):longint;cdecl;external;
+function XSetWindowBorderWidth(para1:PDisplay; para2:TWindow; para3:dword):longint;cdecl;external;
+function XSetWindowColormap(para1:PDisplay; para2:TWindow; para3:TColormap):longint;cdecl;external;
+function XStoreBuffer(para1:PDisplay; para2:Pchar; para3:longint; para4:longint):longint;cdecl;external;
+function XStoreBytes(para1:PDisplay; para2:Pchar; para3:longint):longint;cdecl;external;
+function XStoreColor(para1:PDisplay; para2:TColormap; para3:PXColor):longint;cdecl;external;
+function XStoreColors(para1:PDisplay; para2:TColormap; para3:PXColor; para4:longint):longint;cdecl;external;
+function XStoreName(para1:PDisplay; para2:TWindow; para3:Pchar):longint;cdecl;external;
+function XStoreNamedColor(para1:PDisplay; para2:TColormap; para3:Pchar; para4:dword; para5:longint):longint;cdecl;external;
+function XSync(para1:PDisplay; para2:TBool):longint;cdecl;external;
+function XTextExtents(para1:PXFontStruct; para2:Pchar; para3:longint; para4:Plongint; para5:Plongint;
+           para6:Plongint; para7:PXCharStruct):longint;cdecl;external;
+function XTextExtents16(para1:PXFontStruct; para2:PXChar2b; para3:longint; para4:Plongint; para5:Plongint;
+           para6:Plongint; para7:PXCharStruct):longint;cdecl;external;
+function XTextWidth(para1:PXFontStruct; para2:Pchar; para3:longint):longint;cdecl;external;
+function XTextWidth16(para1:PXFontStruct; para2:PXChar2b; para3:longint):longint;cdecl;external;
+function XTranslateCoordinates(para1:PDisplay; para2:TWindow; para3:TWindow; para4:longint; para5:longint;
+           para6:Plongint; para7:Plongint; para8:PWindow):TBool;cdecl;external;
+function XUndefineCursor(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XUngrabButton(para1:PDisplay; para2:dword; para3:dword; para4:TWindow):longint;cdecl;external;
+function XUngrabKey(para1:PDisplay; para2:longint; para3:dword; para4:TWindow):longint;cdecl;external;
+function XUngrabKeyboard(para1:PDisplay; para2:TTime):longint;cdecl;external;
+function XUngrabPointer(para1:PDisplay; para2:TTime):longint;cdecl;external;
+function XUngrabServer(para1:PDisplay):longint;cdecl;external;
+function XUninstallColormap(para1:PDisplay; para2:TColormap):longint;cdecl;external;
+function XUnloadFont(para1:PDisplay; para2:TFont):longint;cdecl;external;
+function XUnmapSubwindows(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XUnmapWindow(para1:PDisplay; para2:TWindow):longint;cdecl;external;
+function XVendorRelease(para1:PDisplay):longint;cdecl;external;
+function XWarpPointer(para1:PDisplay; para2:TWindow; para3:TWindow; para4:longint; para5:longint;
+           para6:dword; para7:dword; para8:longint; para9:longint):longint;cdecl;external;
+function XWidthMMOfScreen(para1:PScreen):longint;cdecl;external;
+function XWidthOfScreen(para1:PScreen):longint;cdecl;external;
+function XWindowEvent(para1:PDisplay; para2:TWindow; para3:longint; para4:PXEvent):longint;cdecl;external;
+function XWriteBitmapFile(para1:PDisplay; para2:Pchar; para3:TPixmap; para4:dword; para5:dword;
+           para6:longint; para7:longint):longint;cdecl;external;
+function XSupportsLocale:TBool;cdecl;external;
+function XSetLocaleModifiers(para1:Pchar):Pchar;cdecl;external;
+function XOpenOM(para1:PDisplay; para2:PXrmHashBucketRec; para3:Pchar; para4:Pchar):TXOM;cdecl;external;
+function XCloseOM(para1:TXOM):TStatus;cdecl;external;
+function XSetOMValues:Pchar;cdecl;external;
+function XGetOMValues:Pchar;cdecl;external;
+function XDisplayOfOM(para1:TXOM):PDisplay;cdecl;external;
+function XLocaleOfOM(para1:TXOM):Pchar;cdecl;external;
+function XCreateOC:TXOC;cdecl;external;
+procedure XDestroyOC(para1:TXOC);cdecl;external;
+function XOMOfOC(para1:TXOC):TXOM;cdecl;external;
+function XSetOCValues:Pchar;cdecl;external;
+function XGetOCValues:Pchar;cdecl;external;
+function XCreateFontSet(para1:PDisplay; para2:Pchar; para3:PPPchar; para4:Plongint; para5:PPchar):TXFontSet;cdecl;external;
+procedure XFreeFontSet(para1:PDisplay; para2:TXFontSet);cdecl;external;
+function XFontsOfFontSet(para1:TXFontSet; para2:PPPXFontStruct; para3:PPPchar):longint;cdecl;external;
+function XBaseFontNameListOfFontSet(para1:TXFontSet):Pchar;cdecl;external;
+function XLocaleOfFontSet(para1:TXFontSet):Pchar;cdecl;external;
+function XContextDependentDrawing(para1:TXFontSet):TBool;cdecl;external;
+function XDirectionalDependentDrawing(para1:TXFontSet):TBool;cdecl;external;
+function XContextualDrawing(para1:TXFontSet):TBool;cdecl;external;
+function XExtentsOfFontSet(para1:TXFontSet):PXFontSetExtents;cdecl;external;
+function XmbTextEscapement(para1:TXFontSet; para2:Pchar; para3:longint):longint;cdecl;external;
+function XwcTextEscapement(para1:TXFontSet; para2:PWideChar; para3:longint):longint;cdecl;external;
+function XmbTextExtents(para1:TXFontSet; para2:Pchar; para3:longint; para4:PXRectangle; para5:PXRectangle):longint;cdecl;external;
+function XwcTextExtents(para1:TXFontSet; para2:PWideChar; para3:longint; para4:PXRectangle; para5:PXRectangle):longint;cdecl;external;
+function XmbTextPerCharExtents(para1:TXFontSet; para2:Pchar; para3:longint; para4:PXRectangle; para5:PXRectangle;
+           para6:longint; para7:Plongint; para8:PXRectangle; para9:PXRectangle):TStatus;cdecl;external;
+function XwcTextPerCharExtents(para1:TXFontSet; para2:PWideChar; para3:longint; para4:PXRectangle; para5:PXRectangle;
+           para6:longint; para7:Plongint; para8:PXRectangle; para9:PXRectangle):TStatus;cdecl;external;
+procedure XmbDrawText(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+            para6:PXmbTextItem; para7:longint);cdecl;external;
+procedure XwcDrawText(para1:PDisplay; para2:TDrawable; para3:TGC; para4:longint; para5:longint;
+            para6:PXwcTextItem; para7:longint);cdecl;external;
+procedure XmbDrawString(para1:PDisplay; para2:TDrawable; para3:TXFontSet; para4:TGC; para5:longint;
+            para6:longint; para7:Pchar; para8:longint);cdecl;external;
+procedure XwcDrawString(para1:PDisplay; para2:TDrawable; para3:TXFontSet; para4:TGC; para5:longint;
+            para6:longint; para7:PWideChar; para8:longint);cdecl;external;
+procedure XmbDrawImageString(para1:PDisplay; para2:TDrawable; para3:TXFontSet; para4:TGC; para5:longint;
+            para6:longint; para7:Pchar; para8:longint);cdecl;external;
+procedure XwcDrawImageString(para1:PDisplay; para2:TDrawable; para3:TXFontSet; para4:TGC; para5:longint;
+            para6:longint; para7:PWideChar; para8:longint);cdecl;external;
+function XOpenIM(para1:PDisplay; para2:PXrmHashBucketRec; para3:Pchar; para4:Pchar):TXIM;cdecl;external;
+function XCloseIM(para1:TXIM):TStatus;cdecl;external;
+function XGetIMValues:Pchar;cdecl;external;
+function XDisplayOfIM(para1:TXIM):PDisplay;cdecl;external;
+function XLocaleOfIM(para1:TXIM):Pchar;cdecl;external;
+function XCreateIC:TXIC;cdecl;external;
+procedure XDestroyIC(para1:TXIC);cdecl;external;
+procedure XSetICFocus(para1:TXIC);cdecl;external;
+procedure XUnsetICFocus(para1:TXIC);cdecl;external;
+function XwcResetIC(para1:TXIC):PWideChar;cdecl;external;
+function XmbResetIC(para1:TXIC):Pchar;cdecl;external;
+function XSetICValues:Pchar;cdecl;external;
+function XGetICValues:Pchar;cdecl;external;
+function XIMOfIC(para1:TXIC):TXIM;cdecl;external;
+function XFilterEvent(para1:PXEvent; para2:TWindow):TBool;cdecl;external;
+function XmbLookupString(para1:TXIC; para2:PXKeyPressedEvent; para3:Pchar; para4:longint; para5:PKeySym;
+           para6:PStatus):longint;cdecl;external;
+function XwcLookupString(para1:TXIC; para2:PXKeyPressedEvent; para3:PWideChar; para4:longint; para5:PKeySym;
+           para6:PStatus):longint;cdecl;external;
+function XVaCreateNestedList:TXVaNestedList;cdecl;external;
+function XRegisterIMInstantiateCallback(para1:PDisplay; para2:PXrmHashBucketRec; para3:Pchar; para4:Pchar; para5:TXIDProc;
+           para6:TXPointer):TBool;cdecl;external;
+function XUnregisterIMInstantiateCallback(para1:PDisplay; para2:PXrmHashBucketRec; para3:Pchar; para4:Pchar; para5:TXIDProc;
+           para6:TXPointer):TBool;cdecl;external;
+type
+
+   TXConnectionWatchProc = procedure (para1:PDisplay; para2:TXPointer; para3:longint; para4:TBool; para5:PXPointer);cdecl;
+
+function XInternalConnectionNumbers(para1:PDisplay; para2:PPlongint; para3:Plongint):TStatus;cdecl;external;
+procedure XProcessInternalConnection(para1:PDisplay; para2:longint);cdecl;external;
+function XAddConnectionWatch(para1:PDisplay; para2:TXConnectionWatchProc; para3:TXPointer):TStatus;cdecl;external;
+procedure XRemoveConnectionWatch(para1:PDisplay; para2:TXConnectionWatchProc; para3:TXPointer);cdecl;external;
+procedure XSetAuthorization(para1:Pchar; para2:longint; para3:Pchar; para4:longint);cdecl;external;
 
 implementation
 
-end.
-{
-  $Log$
-  Revision 1.4  2000-10-29 12:35:09  sg
-  * Fixed XImage (function pointers are now declared)
+{$ifdef MACROS}
+function ConnectionNumber(dpy : longint) : longint;
+begin
+   ConnectionNumber:=(TXPrivDisplay(dpy))^.fd;
+end;
 
-  Revision 1.3  2000/10/26 16:40:27  sg
-  * Fixed declaration of TVisual
+function RootWindow(dpy,scr : longint) : longint;
+begin
+   RootWindow:=(ScreenOfDisplay(dpy,scr))^.root;
+end;
 
-  Revision 1.2  2000/07/13 11:33:34  michael
-  + removed logs
- 
-}
+function DefaultScreen(dpy : longint) : longint;
+begin
+   DefaultScreen:=(TXPrivDisplay(dpy))^.default_screen;
+end;
+
+function DefaultRootWindow(dpy : longint) : longint;
+begin
+   DefaultRootWindow:=(ScreenOfDisplay(dpy,DefaultScreen(dpy)))^.root;
+end;
+
+function DefaultVisual(dpy,scr : longint) : longint;
+begin
+   DefaultVisual:=(ScreenOfDisplay(dpy,scr))^.root_visual;
+end;
+
+function DefaultGC(dpy,scr : longint) : longint;
+begin
+   DefaultGC:=(ScreenOfDisplay(dpy,scr))^.default_gc;
+end;
+
+function BlackPixel(dpy,scr : longint) : longint;
+begin
+   BlackPixel:=(ScreenOfDisplay(dpy,scr))^.black_pixel;
+end;
+
+function WhitePixel(dpy,scr : longint) : longint;
+begin
+   WhitePixel:=(ScreenOfDisplay(dpy,scr))^.white_pixel;
+end;
+
+function AllPlanes : dword;
+  begin
+     AllPlanes:=dword( not (0));
+  end;
+
+function QLength(dpy : longint) : longint;
+begin
+   QLength:=(TXPrivDisplay(dpy))^.qlen;
+end;
+
+function DisplayWidth(dpy,scr : longint) : longint;
+begin
+   DisplayWidth:=(ScreenOfDisplay(dpy,scr))^.width;
+end;
+
+function DisplayHeight(dpy,scr : longint) : longint;
+begin
+   DisplayHeight:=(ScreenOfDisplay(dpy,scr))^.height;
+end;
+
+function DisplayWidthMM(dpy,scr : longint) : longint;
+begin
+   DisplayWidthMM:=(ScreenOfDisplay(dpy,scr))^.mwidth;
+end;
+
+function DisplayHeightMM(dpy,scr : longint) : longint;
+begin
+   DisplayHeightMM:=(ScreenOfDisplay(dpy,scr))^.mheight;
+end;
+
+function DisplayPlanes(dpy,scr : longint) : longint;
+begin
+   DisplayPlanes:=(ScreenOfDisplay(dpy,scr))^.root_depth;
+end;
+
+function DisplayCells(dpy,scr : longint) : longint;
+begin
+   DisplayCells:=(DefaultVisual(dpy,scr))^.map_entries;
+end;
+
+function ScreenCount(dpy : longint) : longint;
+begin
+   ScreenCount:=(TXPrivDisplay(dpy))^.nscreens;
+end;
+
+function ServerVendor(dpy : longint) : longint;
+begin
+   ServerVendor:=(TXPrivDisplay(dpy))^.vendor;
+end;
+
+function ProtocolVersion(dpy : longint) : longint;
+begin
+   ProtocolVersion:=(TXPrivDisplay(dpy))^.proto_major_version;
+end;
+
+function ProtocolRevision(dpy : longint) : longint;
+begin
+   ProtocolRevision:=(TXPrivDisplay(dpy))^.proto_minor_version;
+end;
+
+function VendorRelease(dpy : longint) : longint;
+begin
+   VendorRelease:=(TXPrivDisplay(dpy))^.release;
+end;
+
+function DisplayString(dpy : longint) : longint;
+begin
+   DisplayString:=(TXPrivDisplay(dpy))^.display_name;
+end;
+
+function DefaultDepth(dpy,scr : longint) : longint;
+begin
+   DefaultDepth:=(ScreenOfDisplay(dpy,scr))^.root_depth;
+end;
+
+function DefaultColormap(dpy,scr : longint) : longint;
+begin
+   DefaultColormap:=(ScreenOfDisplay(dpy,scr))^.cmap;
+end;
+
+function BitmapUnit(dpy : longint) : longint;
+begin
+   BitmapUnit:=(TXPrivDisplay(dpy))^.bitmap_unit;
+end;
+
+function BitmapBitOrder(dpy : longint) : longint;
+begin
+   BitmapBitOrder:=(TXPrivDisplay(dpy))^.bitmap_bit_order;
+end;
+
+function BitmapPad(dpy : longint) : longint;
+begin
+   BitmapPad:=(TXPrivDisplay(dpy))^.bitmap_pad;
+end;
+
+function ImageByteOrder(dpy : longint) : longint;
+begin
+   ImageByteOrder:=(TXPrivDisplay(dpy))^.byte_order;
+end;
+
+function NextRequest(dpy : longint) : longint;
+begin
+   NextRequest:=((TXPrivDisplay(dpy))^.request) + 1;
+end;
+
+function LastKnownRequestProcessed(dpy : longint) : longint;
+begin
+   LastKnownRequestProcessed:=(TXPrivDisplay(dpy))^.last_request_read;
+end;
+
+function ScreenOfDisplay(dpy,scr : longint) : longint;
+begin
+   ScreenOfDisplay:=@((TXPrivDisplay(dpy))^.(screens[scr]));
+end;
+
+function DefaultScreenOfDisplay(dpy : longint) : longint;
+begin
+   DefaultScreenOfDisplay:=ScreenOfDisplay(dpy,DefaultScreen(dpy));
+end;
+
+function DisplayOfScreen(s : longint) : longint;
+begin
+   DisplayOfScreen:=s^.display;
+end;
+
+function RootWindowOfScreen(s : longint) : longint;
+begin
+   RootWindowOfScreen:=s^.root;
+end;
+
+function BlackPixelOfScreen(s : longint) : longint;
+begin
+   BlackPixelOfScreen:=s^.black_pixel;
+end;
+
+function WhitePixelOfScreen(s : longint) : longint;
+begin
+   WhitePixelOfScreen:=s^.white_pixel;
+end;
+
+function DefaultColormapOfScreen(s : longint) : longint;
+begin
+   DefaultColormapOfScreen:=s^.cmap;
+end;
+
+function DefaultDepthOfScreen(s : longint) : longint;
+begin
+   DefaultDepthOfScreen:=s^.root_depth;
+end;
+
+function DefaultGCOfScreen(s : longint) : longint;
+begin
+   DefaultGCOfScreen:=s^.default_gc;
+end;
+
+function DefaultVisualOfScreen(s : longint) : longint;
+begin
+   DefaultVisualOfScreen:=s^.root_visual;
+end;
+
+function WidthOfScreen(s : longint) : longint;
+begin
+   WidthOfScreen:=s^.width;
+end;
+
+function HeightOfScreen(s : longint) : longint;
+begin
+   HeightOfScreen:=s^.height;
+end;
+
+function WidthMMOfScreen(s : longint) : longint;
+begin
+   WidthMMOfScreen:=s^.mwidth;
+end;
+
+function HeightMMOfScreen(s : longint) : longint;
+begin
+   HeightMMOfScreen:=s^.mheight;
+end;
+
+function PlanesOfScreen(s : longint) : longint;
+begin
+   PlanesOfScreen:=s^.root_depth;
+end;
+
+function CellsOfScreen(s : longint) : longint;
+begin
+   CellsOfScreen:=(DefaultVisualOfScreen(s))^.map_entries;
+end;
+
+function MinCmapsOfScreen(s : longint) : longint;
+begin
+   MinCmapsOfScreen:=s^.min_maps;
+end;
+
+function MaxCmapsOfScreen(s : longint) : longint;
+begin
+   MaxCmapsOfScreen:=s^.max_maps;
+end;
+
+function DoesSaveUnders(s : longint) : longint;
+begin
+   DoesSaveUnders:=s^.save_unders;
+end;
+
+function DoesBackingStore(s : longint) : longint;
+begin
+   DoesBackingStore:=s^.backing_store;
+end;
+
+function EventMaskOfScreen(s : longint) : longint;
+begin
+   EventMaskOfScreen:=s^.root_input_mask;
+end;
+
+function XAllocID(dpy : longint) : longint;
+begin
+   XAllocID:=(TXPrivDisplay(dpy))^.resource_alloc(dpy);
+end;
+{$endif MACROS}
+
+
+end.

+ 187 - 269
packages/x11/xresource.pp

@@ -1,305 +1,223 @@
-{
-  $Id$
-}
 unit xresource;
 interface
-
 uses
-  xlib;
+  x,xlib;
 
 {$LinkLib c}
 {$LinkLib X11}
 
-{***************************************************************
- * Quark Management
- ***************************************************************}
+{
+  Automatically converted by H2Pas 0.99.15 from xresource.h
+  The following command line parameters were used:
+    -p
+    -T
+    -S
+    -d
+    -c
+    xresource.h
+}
+
+{$PACKRECORDS C}
 
+
+function Xpermalloc(para1:dword):Pchar;cdecl;external;
 type
-  TXrmQuark     = Longint;
-  PXrmQuark     = ^TXrmQuark;
-  TXrmQuarkList = PXrmQuark;
-  TXrmString    = Pchar;
-
-Const
-  NULLQUARK = 0 ;
-  NULLSTRING = 0;
-
-{ find quark for string, create new quark if none already exists }
-Function  XrmStringToQuark( p1 : pchar ) : TXrmQuark;cdecl;external;
-Function  XrmPermStringToQuark( p1 : pchar ) : TXrmQuark;cdecl;external;
-{ find string for quark }
-Function  XrmQuarkToString( p1 : TXrmQuark) : TXrmString;cdecl;external;
-Function  XrmUniqueQuark : TXrmQuark;cdecl;external;
 
-{
-#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
-}
+   PXrmQuark = ^TXrmQuark;
+   TXrmQuark = longint;
+   TXrmQuarkList = PXrmQuark;
+   PXrmQuarkList = ^TXrmQuarkList;
+function NULLQUARK : TXrmQuark;
+
+type
+
+   PXrmString = ^TXrmString;
+   TXrmString = char;
+function NULLSTRING : TXrmString;
 
+function XrmStringToQuark(para1:Pchar):TXrmQuark;cdecl;external;
+function XrmPermStringToQuark(para1:Pchar):TXrmQuark;cdecl;external;
+function XrmQuarkToString(para1:TXrmQuark):TXrmString;cdecl;external;
+function XrmUniqueQuark:TXrmQuark;cdecl;external;
+{$ifdef MACROS}
+function XrmStringsEqual(a1,a2 : longint) : longint;
+{$endif MACROS}
 
-{***************************************************************
- * Conversion of Strings to Lists
- ***************************************************************}
+type
+
+   PXrmBinding = ^TXrmBinding;
+   TXrmBinding = (XrmBindTightly,XrmBindLoosely);
+   TXrmBindingList = PXrmBinding;
+   PXrmBindingList = ^TXrmBindingList;
 
+procedure XrmStringToQuarkList(para1:Pchar; para2:TXrmQuarkList);cdecl;external;
+procedure XrmStringToBindingQuarkList(para1:Pchar; para2:TXrmBindingList; para3:TXrmQuarkList);cdecl;external;
 type
-  TXrmBinding = longint;
-  TXrmBindingList = ^longint;
-Const
-  XrmBindTightly = 0;
-  XrmBindLoosely = 1;
 
-procedure XrmStringToQuarkList(
-    p1 : pchar  { string };
-    p2 : TXrmQuarkList  { quarks_return }
-);cdecl;external;
+   PXrmName = ^TXrmName;
+   TXrmName = TXrmQuark;
 
-procedure XrmStringToBindingQuarkList(
-    p1 : pchar  { string };
-    p2 : TXrmBindingList        { bindings_return };
-    p3 : TXrmQuarkList  { quarks_return }
-);cdecl;external;
+   PXrmNameList = ^TXrmNameList;
+   TXrmNameList = TXrmQuarkList;
+{$ifdef MACROS}
+function XrmNameToString(name : longint) : longint;
 
+function XrmStringToName(_string : longint) : longint;
 
-{***************************************************************
- * Name and Class lists.
- ***************************************************************}
+function XrmStringToNameList(str,name : longint) : longint;
+{$endif MACROS}
 
 type
-  TXrmName = TXrmQuark;
-  TXrmNameList = TXrmQuarkList ;
-{
-#define XrmNameToString(name)           XrmQuarkToString(name)
-#define XrmStringToName(string)         XrmStringToQuark(string)
-#define XrmStringToNameList(str, name)  XrmStringToQuarkList(str, name)
-}
- TXrmClass = TXrmQuark;
- TXrmClassList = TXrmQuarkList;
-{
-#define XrmClassToString(c_class)       XrmQuarkToString(c_class)
-#define XrmStringToClass(c_class)       XrmStringToQuark(c_class)
-#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class)
-}
 
+   PXrmClass = ^TXrmClass;
+   TXrmClass = TXrmQuark;
 
-{***************************************************************
- * Resource Representation Types and Values
- ***************************************************************}
+   PXrmClassList = ^TXrmClassList;
+   TXrmClassList = TXrmQuarkList;
+{$ifdef MACROS}
+function XrmClassToString(c_class : longint) : longint;
 
+function XrmStringToClass(c_class : longint) : longint;
+
+function XrmStringToClassList(str,c_class : longint) : longint;
+{$endif MACROS}
 type
-  TXrmRepresentation = TXrmQuark    ;
-  PXrmRepresentation = ^TXrmRepresentation;
-{
-#define XrmStringToRepresentation(string)   XrmStringToQuark(string)
-#define XrmRepresentationToString(type)   XrmQuarkToString(type)
-}
+
+   PXrmRepresentation = ^TXrmRepresentation;
+   TXrmRepresentation = TXrmQuark;
+{$ifdef MACROS}
+function XrmStringToRepresentation(_string : longint) : longint;
+
+function XrmRepresentationToString(_type : longint) : longint;
+{$endif MACROS}
 
 type
-  TXrmValue = record
-    size : word;
-    theaddr : TXPointer;
+
+   PXrmValue = ^TXrmValue;
+   TXrmValue = record
+        size : dword;
+        addr : TXPointer;
+     end;
+   TXrmValuePtr = PXrmValue;
+   PXrmValuePtr = ^TXrmValuePtr;
+
+   PXrmHashBucketRec = ^TXrmHashBucketRec;
+   TXrmHashBucketRec = record
+     end;
+   TXrmHashBucket = PXrmHashBucketRec;
+   PXrmHashBucket = ^TXrmHashBucket;
+
+   PXrmHashTable = ^TXrmHashTable;
+   TXrmHashTable = TXrmHashBucket;
+
+   TXrmDatabase = PXrmHashBucketRec;
+   PXrmDatabase = ^TXrmDatabase;
+
+procedure XrmDestroyDatabase(para1:TXrmDatabase);cdecl;external;
+procedure XrmQPutResource(para1:PXrmDatabase; para2:TXrmBindingList; para3:TXrmQuarkList; para4:TXrmRepresentation; para5:PXrmValue);cdecl;external;
+procedure XrmPutResource(para1:PXrmDatabase; para2:Pchar; para3:Pchar; para4:PXrmValue);cdecl;external;
+procedure XrmQPutStringResource(para1:PXrmDatabase; para2:TXrmBindingList; para3:TXrmQuarkList; para4:Pchar);cdecl;external;
+procedure XrmPutStringResource(para1:PXrmDatabase; para2:Pchar; para3:Pchar);cdecl;external;
+procedure XrmPutLineResource(para1:PXrmDatabase; para2:Pchar);cdecl;external;
+function XrmQGetResource(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:PXrmRepresentation; para5:PXrmValue):TBool;cdecl;external;
+function XrmGetResource(para1:TXrmDatabase; para2:Pchar; para3:Pchar; para4:PPchar; para5:PXrmValue):TBool;cdecl;external;
+{ There is no definition of TXrmSearchList }
+{function XrmQGetSearchList(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:TXrmSearchList; para5:longint):TBool;cdecl;external;
+function XrmQGetSearchResource(para1:TXrmSearchList; para2:TXrmName; para3:TXrmClass; para4:PXrmRepresentation; para5:PXrmValue):TBool;cdecl;external;}
+procedure XrmSetDatabase(para1:PDisplay; para2:TXrmDatabase);cdecl;external;
+function XrmGetDatabase(para1:PDisplay):TXrmDatabase;cdecl;external;
+function XrmGetFileDatabase(para1:Pchar):TXrmDatabase;cdecl;external;
+function XrmCombineFileDatabase(para1:Pchar; para2:PXrmDatabase; para3:TBool):TStatus;cdecl;external;
+function XrmGetStringDatabase(para1:Pchar):TXrmDatabase;cdecl;external;
+procedure XrmPutFileDatabase(para1:TXrmDatabase; para2:Pchar);cdecl;external;
+procedure XrmMergeDatabases(para1:TXrmDatabase; para2:PXrmDatabase);cdecl;external;
+procedure XrmCombineDatabase(para1:TXrmDatabase; para2:PXrmDatabase; para3:TBool);cdecl;external;
+
+const
+   XrmEnumAllLevels = 0;
+   XrmEnumOneLevel = 1;
+type
+  funcbool=function :TBool;
+function XrmEnumerateDatabase(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:longint; para5:funcbool;
+           para6:TXPointer):TBool;cdecl;external;
+function XrmLocaleOfDatabase(para1:TXrmDatabase):Pchar;cdecl;external;
+type
+
+   PXrmOptionKind = ^TXrmOptionKind;
+   TXrmOptionKind = (XrmoptionNoArg,XrmoptionIsArg,XrmoptionStickyArg,
+     XrmoptionSepArg,XrmoptionResArg,XrmoptionSkipArg,
+     XrmoptionSkipLine,XrmoptionSkipNArgs);
+
+   PXrmOptionDescRec = ^TXrmOptionDescRec;
+   TXrmOptionDescRec = record
+        option : Pchar;
+        specifier : Pchar;
+        argKind : TXrmOptionKind;
+        value : TXPointer;
+     end;
+   TXrmOptionDescList = PXrmOptionDescRec;
+   PXrmOptionDescList = ^TXrmOptionDescList;
+
+procedure XrmParseCommand(para1:PXrmDatabase; para2:TXrmOptionDescList; para3:longint; para4:Pchar; para5:Plongint;
+            para6:PPchar);cdecl;external;
+
+implementation
+
+function NULLQUARK : TXrmQuark;
+  begin
+     NULLQUARK:=TXrmQuark(0);
   end;
-  PXrmValue = ^TXrmValue;
-  TXrmValuePtr = PXrmValue;
 
+function NULLSTRING : TXrmString;
+  begin
+     NULLSTRING:=TXrmString(0);
+  end;
 
-{***************************************************************
- * Resource Manager Functions
- ***************************************************************}
-{
-typedef struct _XrmHashBucketRec *XrmHashBucket;
-typedef XrmHashBucket *XrmHashTable;
-typedef XrmHashTable XrmSearchList[];
-typedef struct _XrmHashBucketRec *XrmDatabase;
-}
-Type
-  TXrmHashBucket = pointer;
-  TXrmHashTable = ^TXrmHashBucket;
-  TXrmSearchList = ^TXrmHashTable;
-  TXrmDatabase = pointer;
-  PXrmDatabase = ^TXrmDatabase;
-
-procedure XrmDestroyDatabase(
-    p1 : TXrmDatabase           { database }
-);cdecl;external;
-
-Procedure XrmQPutResource(
-    p1 :  PXrmDatabase  { database };
-    p2 : TXrmBindingList        { bindings };
-    p3 : TXrmQuarkList  { quarks };
-    p4 : TXrmRepresentation     { type };
-    p5 : PXrmValue              { value }
-);cdecl;external;
-
-Procedure  XrmPutResource(
-    p1 : PXrmDatabase   { database };
-    p2 : pchar  { specifier };
-    p3 : pchar  { type };
-    p4 : PXrmValue              { value }
-);cdecl;external;
-
-Procedure  XrmQPutStringResource(
-    p1 : PXrmDatabase   { database };
-    p2 : TXrmBindingList      { bindings };
-    p3 : TXrmQuarkList  { quarks };
-    p4 : Pchar  { value }
-);cdecl;external;
-
-Procedure XrmPutStringResource(
-    P1 : PXrmDatabase   { database };
-    p2,p3 : pchar
-);cdecl;external;
-
-Procedure XrmPutLineResource(
-    p1 : PXrmDatabase   { database };
-    p2 : pchar  { line }
-);cdecl;external;
-
-Function XrmQGetResource(
-    p1 : PXrmDatabase           { database };
-    p2 : TXrmNameList           { quark_name };
-    p3 : TXrmClassList  { quark_class };
-    p4 : PXrmRepresentation     { quark_type_return };
-    p5 : PXrmValue              { value_return }
-) : Integer;cdecl;external;
-
-Function XrmGetResource(
-    p1 : TXrmDatabase           { database };
-    p2 : pchar  { str_name };
-    p3 : pchar  { str_class };
-    p4 : ppchar         { str_type_return };
-    p5 : PXrmValue              { value_return }
-) : Tbool;cdecl;external;
-
-Function XrmQGetSearchList(
-    p1 : TXrmDatabase           { database };
-    p2 : TXrmNameList           { names };
-    p3 : TXrmClassList  { classes };
-    p4 : TXrmSearchList { list_return };
-    p5 : integer                        { list_length }
-) : Tbool;cdecl;external;
-
-Function XrmQGetSearchResource(
-    P1 : TXrmSearchList { list };
-    p2 : TXrmName               { name };
-    p3 : TXrmClass              { class };
-    p4 : PXrmRepresentation     { type_return };
-    p5 : PXrmValue              { value_return }
-) : TBool;cdecl;external;
-
-{***************************************************************
- *
- * Resource Database Management
- *
- ***************************************************************}
-
-procedure XrmSetDatabase(
-    p1 : PDisplay               { display };
-    p2 : TXrmDatabase           { database }
-);cdecl;external;
-
-Function  XrmGetDatabase(
-    p1 : PDisplay               { display }
-) : TXrmDatabase;cdecl;external;
-
-Function XrmGetFileDatabase(
-    p1 : pchar  { filename }
-) : TXrmDatabase ;cdecl;external;
-
-Function XrmCombineFileDatabase(
-    p1 : pchar  { filename };
-    p2 : PXrmDatabase   { target };
-    p3 : TBool          { override }
-) : TStatus ;cdecl;external;
-
-function XrmGetStringDatabase(
-    p1 : pchar  { data }  {  null terminated string }
-) : TXrmDatabase ;cdecl;external;
-
-Procedure XrmPutFileDatabase(
-    p1 : TXrmDatabase           { database };
-    p2: pchar   { filename }
-);cdecl;external;
-
-Procedure XrmMergeDatabases(
-    p1 : TXrmDatabase           { source_db };
-    p2 : PXrmDatabase   { target_db }
-);cdecl;external;
-
-procedure XrmCombineDatabase(
-    p1 : TXrmDatabase           { source_db };
-    p2 : PXrmDatabase   { target_db };
-    p3 : TBool          { override }
-);cdecl;external;
+{$ifdef MACROS}
+function XrmStringsEqual(a1,a2 : longint) : longint;
+begin
+   XrmStringsEqual:=(strcmp(a1,a2)) = 0;
+end;
 
-const
- XrmEnumAllLevels = 0;
- XrmEnumOneLevel  = 1;
-(*
-Function XrmEnumerateDatabase(
-    XrmDatabase         { db };
-    XrmNameList         { name_prefix };
-    XrmClassList        { class_prefix };
-    int                 { mode };
-    Bool *(#if NeedNestedPrototypes
-             XrmDatabase*       { db };
-             XrmBindingList     { bindings };
-             XrmQuarkList       { quarks };
-             XrmRepresentation* { type };
-             XrmValue*          { value };
-             XPointer           { closure }
-
-             )          { proc };
-    XPointer            { closure }
-) : TBool;
-*)
-
-Function XrmLocaleOfDatabase(
-    P1 : TXrmDatabase   { database }
-) : Pchar;cdecl;external;
-
-
-{***************************************************************
- *
- * Command line option mapping to resource entries
- *
- ***************************************************************}
-
-Const
-    XrmoptionNoArg = 0; { Value is specified in OptionDescRec.value         }
-    XrmoptionIsArg = 1;     { Value is the option string itself             }
-    XrmoptionStickyArg = 2; { Value is characters immediately following option }
-    XrmoptionSepArg = 3;    { Value is next argument in argv                }
-    XrmoptionResArg = 4;        { Resource and value in next argument in argv      }
-    XrmoptionSkipArg = 5;   { Ignore this option and the next argument in argv }
-    XrmoptionSkipLine = 6;  { Ignore this option and the rest of argv       }
-    XrmoptionSkipNArgs = 7;     { Ignore this option and the next
-                           OptionDescRes.value arguments in argv }
-Type TXrmOptionKind = Integer;
-
-TXrmOptionDescRec = record
-    option : pchar;         { Option abbreviation in argv           }
-    specifier : pchar;     { Resource specifier             }
-    argKind : TXrmOptionKind;       { Which style of option it is           }
-    value : TXpointer;      { Value to provide if XrmoptionNoArg   }
+function XrmNameToString(name : longint) : longint;
+begin
+   XrmNameToString:=XrmQuarkToString(name);
 end;
-PXrmOptionDescRec= ^TXrmOptionDescRec;
-TXrmOptionDescList = PXrmOptionDescRec;
 
+function XrmStringToName(string : longint) : longint;
+begin
+   XrmStringToName:=XrmStringToQuark(_string);
+end;
 
-Procedure XrmParseCommand(
-    p1 : TXrmDatabase   { database };
-    p2 : TXrmOptionDescList     { table };
-    p3 : integer                        { table_count };
-    p4 : pchar  { name };
-    p5 : Pointer                { argc_in_out };
-    p6 : ppchar         { argv_in_out }
-);cdecl;external;
+function XrmStringToNameList(str,name : longint) : longint;
+begin
+   XrmStringToNameList:=XrmStringToQuarkList(str,name);
+end;
 
-Implementation
+function XrmClassToString(c_class : longint) : longint;
+begin
+   XrmClassToString:=XrmQuarkToString(c_class);
+end;
+
+function XrmStringToClass(c_class : longint) : longint;
+begin
+   XrmStringToClass:=XrmStringToQuark(c_class);
+end;
+
+function XrmStringToClassList(str,c_class : longint) : longint;
+begin
+   XrmStringToClassList:=XrmStringToQuarkList(str,c_class);
+end;
+
+function XrmStringToRepresentation(_string : longint) : longint;
+begin
+   XrmStringToRepresentation:=XrmStringToQuark(_string);
+end;
+
+function XrmRepresentationToString(_type : longint) : longint;
+begin
+   XrmRepresentationToString:=XrmQuarkToString(_type);
+end;
+{$endif MACROS}
 
 end.
-{
-  $Log$
-  Revision 1.2  2000-07-13 11:33:34  michael
-  + removed logs
- 
-}

+ 350 - 657
packages/x11/xutil.pp

@@ -1,10 +1,4 @@
-{
-  $Id$
-}
-Unit XUtil;
-
-{$MODE objfpc}
-
+unit xutil;
 interface
 uses
   x,xlib;
@@ -13,686 +7,385 @@ uses
 {$LinkLib X11}
 
 {
-  Bitmask returned by XParseGeometry().  Each bit tells if the corresponding
-  value (x, y, width, height) was found in the parsed string.
+  Automatically converted by H2Pas 0.99.15 from xutil.h
+  The following command line parameters were used:
+    -p
+    -T
+    -S
+    -d
+    -c
+    xutil.h
 }
-Const
-  NoValue       = $0000;
-  XValue        = $0001;
-  YValue        = $0002;
-  WidthValue    = $0004;
-  HeightValue   = $0008;
-  AllValues     = $000F;
-  XNegative     = $0010;
-  YNegative     = $0020;
 
-{
-  new version containing base_width, base_height, and win_gravity fields;
-  used with WM_NORMAL_HINTS.
-}
-Type
-  long = Cardinal; { Untill we know better. M.}
-  PLong = ^Long;
-  PInteger = ^Integer;
-
-Type
-  TAspectRecord = record
-    x,y : longint;
-  end;
+{$PACKRECORDS C}
 
-  TXSizeHints = record
-        flags : Long;   { marks which fields in this structure are defined }
-        x, y : longint ;                { obsolete for new window mgrs, but clients }
-        width, height: longint ;        { should set so old wm's don't mess up }
-        min_width, min_height : longint ;
-        max_width, max_height : longint ;
-        width_inc, height_inc : longint ;
-        min_aspect, max_aspect : TAspectRecord;
-        base_width, base_height : longint ;             { added by ICCCM version 1 }
-        win_gravity : longint ;                 { added by ICCCM version 1 }
-  end;
-  PXSizeHints=^TXSizeHints;
+const
+   NoValue = $0000;
+   XValue = $0001;
+   YValue = $0002;
+   WidthValue = $0004;
+   HeightValue = $0008;
+   AllValues = $000F;
+   XNegative = $0010;
+   YNegative = $0020;
+type
 
-{
-  The next block of definitions are for window manager properties that
-  clients and applications use for communication.
-}
+   PXSizeHints = ^TXSizeHints;
+   TXSizeHints = record
+        flags : longint;
+        x : longint;
+        y : longint;
+        width : longint;
+        height : longint;
+        min_width : longint;
+        min_height : longint;
+        max_width : longint;
+        max_height : longint;
+        width_inc : longint;
+        height_inc : longint;
+        min_aspect : record
+             x : longint;
+             y : longint;
+          end;
+        max_aspect : record
+             x : longint;
+             y : longint;
+          end;
+        base_width : longint;
+        base_height : longint;
+        win_gravity : longint;
+     end;
 
-{ flags argument in size hints }
-Const
-  USPosition     = 1 shl 0; { user specified x, y }
-  USSize         = 1 shl 1; { user specified width, height }
-
-  PPosition      = 1 shl 2; { program specified position }
-  PSize          = 1 shl 3; { program specified size }
-  PMinSize       = 1 shl 4; { program specified minimum size }
-  PMaxSize       = 1 shl 5; { program specified maximum size }
-  PResizeInc     = 1 shl 6; { program specified resize increments }
-  PAspect        = 1 shl 7; { program specified min and max aspect ratios }
-  PBaseSize      = 1 shl 8; { program specified base for incrementing }
-  PWinGravity    = 1 shl 9; { program specified window gravity }
-{ obsolete }
-  PAllHints = PPosition or PSize or PMinSize or PMaxSize or PResizeInc or PAspect;
-
-Type
-  TXWMHints = record
-        flags : long;   { marks which fields in this structure are defined }
-        input : TBool ; { does this application rely on the window manager to
-                        get keyboard input? }
-        initial_state : longint ;       { see below }
-        icon_pixmap : TPixmap ; { pixmap to be used as icon }
-        icon_window : TWindow ;         { window to be used as icon }
-        icon_x, icon_y : longint ;      { initial position of icon }
-        icon_mask : TPixmap ;   { icon mask bitmap }
-        window_group : TXID ;   { id of related window group }
-        { this structure may be extended in the future }
-  end;
-  PXWMHints = ^TXWMHints;
-
-{ definition for flags of XWMHints }
-Const
-  InputHint              = 1 shl 0;
-  StateHint              = 1 shl 1;
-  IconPixmapHint         = 1 shl 2;
-  IconWindowHint         = 1 shl 3;
-  IconPositionHint       = 1 shl 4;
-  IconMaskHint           = 1 shl 5;
-  WindowGroupHint	 = 1 shl 6;
-  AllHints = InputHint or StateHint or IconPixmapHint or IconWindowHint or
-             IconPositionHint or IconMaskHint or WindowGroupHint;
-  XUrgencyHint           = 1 shl 8;
-{ definitions for initial window state }
-  WithdrawnState = 0;    { for windows that are not mapped }
-  NormalState    = 1;    { most applications want to start this way }
-  IconicState    = 3;    { application wants to start as an icon }
-{ Obsolete states no longer defined by ICCCM }
-  DontCareState  = 0;    { don't know or care }
-  ZoomState      = 2;    { application wants to start zoomed }
-  InactiveState  = 4;    { application believes it is seldom used; }
-                         { some wm's may put it on inactive menu }
+const
+   USPosition = 1 shl 0;
+   USSize = 1 shl 1;
+   PPosition = 1 shl 2;
+   PSize = 1 shl 3;
+   PMinSize = 1 shl 4;
+   PMaxSize = 1 shl 5;
+   PResizeInc = 1 shl 6;
+   PAspect = 1 shl 7;
+   PBaseSize = 1 shl 8;
+   PWinGravity = 1 shl 9;
+   PAllHints = ((((PPosition or PSize) or PMinSize) or PMaxSize) or PResizeInc) or PAspect;
+type
 
-{
-  new structure for manipulating TEXT properties; used with WM_NAME,
-  WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
-}
+   PXWMHints = ^TXWMHints;
+   TXWMHints = record
+        flags : longint;
+        input : TBool;
+        initial_state : longint;
+        icon_pixmap : TPixmap;
+        icon_window : TWindow;
+        icon_x : longint;
+        icon_y : longint;
+        icon_mask : TPixmap;
+        window_group : TXID;
+     end;
+
+const
+   InputHint = 1 shl 0;
+   StateHint = 1 shl 1;
+   IconPixmapHint = 1 shl 2;
+   IconWindowHint = 1 shl 3;
+   IconPositionHint = 1 shl 4;
+   IconMaskHint = 1 shl 5;
+   WindowGroupHint = 1 shl 6;
+   AllHints = (((((InputHint or StateHint) or IconPixmapHint) or IconWindowHint) or IconPositionHint) or IconMaskHint) or WindowGroupHint;
+   XUrgencyHint = 1 shl 8;
+   WithdrawnState = 0;
+   NormalState = 1;
+   IconicState = 3;
+   DontCareState = 0;
+   ZoomState = 2;
+   InactiveState = 4;
 type
-  TXTextProperty = record
-    value : pchar;              { same as Property routines }
-    encoding : TAtom;                   { prop type }
-    format : longint ;                          { prop data format: 8, 16, or 32 }
-    nitems : Cardinal;          { number of data items in value }
-  end;
-  PXTextProperty = ^TXTextProperty;
-
-Const
-  XNoMemory              =-1;
-  XLocaleNotSupported    =-2;
-  XConverterNotFound     =-3;
-
-Type
-  TXICCEncodingStyle = longint;
-
-Const
-  XStringStyle        = 0;            { STRING }
-  XCompoundTextStyle  = 1;            { COMPOUND_TEXT }
-  XTextStyle          = 2;            { text in owner's encoding (current locale)}
-  XStdICCTextStyle    = 3;            { STRING, else COMPOUND_TEXT }
-
-Type
-  TXIconSize = record
-        min_width, min_height,
-        max_width, max_height,
-        width_inc, height_inc : longint;
-  end;
-  PXIconSize = ^TXIconSize;
-  PPXIconSize = ^PXIconSize;
 
+   PXTextProperty = ^TXTextProperty;
+   TXTextProperty = record
+        value : Pbyte;
+        encoding : TAtom;
+        format : longint;
+        nitems : dword;
+     end;
+
+const
+   XNoMemory = -(1);
+   XLocaleNotSupported = -(2);
+   XConverterNotFound = -(3);
 type
-  TXClassHint = record
-        res_name,
-        res_class : pchar;
-  end;
-  PXClassHint = ^TXClassHint;
 
-{
- * These macros are used to give some sugar to the image routines so that
- * naive people are more comfortable with them.
-}
+   PXICCEncodingStyle = ^TXICCEncodingStyle;
+   TXICCEncodingStyle = (XStringStyle,XCompoundTextStyle,XTextStyle,
+     XStdICCTextStyle);
 
-{
- XDestroyImage(ximage) \
-        ((*((ximage)->f.destroy_image))((ximage)))
- XGetPixel(ximage, x, y) \
-        ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
- XPutPixel(ximage, x, y, pixel) \
-        ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
- XSubImage(ximage, x, y, width, height)  \
-        ((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
- XAddPixel(ximage, value) \
-        ((*((ximage)->f.add_pixel))((ximage), (value)))
-}
-{
- * Compose sequence status structure, used in calling XLookupString.
- }
+   PPXIconSize = ^PXIconSize;
+   PXIconSize = ^TXIconSize;
+   TXIconSize = record
+        min_width : longint;
+        min_height : longint;
+        max_width : longint;
+        max_height : longint;
+        width_inc : longint;
+        height_inc : longint;
+     end;
 
-  TXComposeStatus = record
-    compose_ptr : TXPointer ;   { state table pointer }
-    chars_matched : longint ;           { match state }
-  end;
-  PXComposeStatus = ^TXComposeStatus;
+   PXClassHint = ^TXClassHint;
+   TXClassHint = record
+        res_name : Pchar;
+        res_class : Pchar;
+     end;
+{$ifdef MACROS}
+function XGetPixel(ximage,x,y : longint) : longint;
 
-{
- * Keysym macros, used on Keysyms to test for classes of symbols
- }
-{
- IsKeypadKey(keysym) \
-  (((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
+function XPutPixel(ximage,x,y,pixel : longint) : longint;
 
- IsPrivateKeypadKey(keysym) \
-  (((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
+function XSubImage(ximage,x,y,width,height : longint) : longint;
 
- IsCursorKey(keysym) \
-  (((KeySym)(keysym) >= XK_Home)     && ((KeySym)(keysym) <  XK_Select))
+function XAddPixel(ximage,value : longint) : longint;
+{$endif MACROS}
 
- IsPFKey(keysym) \
-  (((KeySym)(keysym) >= XK_KP_F1)     && ((KeySym)(keysym) <= XK_KP_F4))
+type
 
- IsFunctionKey(keysym) \
-  (((KeySym)(keysym) >= XK_F1)       && ((KeySym)(keysym) <= XK_F35))
+   PXComposeStatus = ^TXComposeStatus;
+   TXComposeStatus = record
+        compose_ptr : TXPointer;
+        chars_matched : longint;
+     end;
+{$ifdef MACROS}
+function IsKeypadKey(keysym : longint) : longint;
 
- IsMiscFunctionKey(keysym) \
-  (((KeySym)(keysym) >= XK_Select)   && ((KeySym)(keysym) <= XK_Break))
+function IsPrivateKeypadKey(keysym : longint) : longint;
 
- IsModifierKey(keysym) \
-  ((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
-    or  or  ((KeySym)(keysym) == XK_Mode_switch) \
-    or  or  ((KeySym)(keysym) == XK_Num_Lock))
-}
-{
- * opaque reference to Region data type
- }
+function IsCursorKey(keysym : longint) : longint;
 
-type
-{
-typedef struct _XRegion *Region;
-}
-  TRegion = Pointer;
+function IsPFKey(keysym : longint) : longint;
 
-{ Return values from XRectInRegion() }
-Const
- RectangleOut =0;
- RectangleIn  =1;
- RectanglePart=2;
+function IsFunctionKey(keysym : longint) : longint;
 
+function IsMiscFunctionKey(keysym : longint) : longint;
+{$endif MACROS}
 
-{
- * Information used by the visual utility routines to find desired visual
- * type from the many visuals a display may support.
- }
-
-Type
-  TXVisualInfo = record
-    visual : PVisual;
-    visualid : TVisualID ;
-    screen : longint;
-    depth : longint;
-    c_class : longint;
-    red_mask : cardinal;
-    green_mask : cardinal;
-    blue_mask : Cardinal;
-    colormap_size : longint;
-    bits_per_rgb : longint;
-  end;
-  PXVisualInfo = ^TXVisualInfo;
-
-Const
-  VisualNoMask           = $0;
-  VisualIDMask           = $1;
-  VisualScreenMask       = $2;
-  VisualDepthMask        = $4;
-  VisualClassMask        = $8;
-  VisualRedMaskMask      = $10;
-  VisualGreenMaskMask    = $20;
-  VisualBlueMaskMask     = $40;
-  VisualColormapSizeMask = $80;
-  VisualBitsPerRGBMask   = $100;
-  VisualAllMask          = $1FF;
+type
 
-{
- * This defines a window manager property that clients may use to
- * share standard color maps of type RGB_COLOR_MAP:
- }
-Type
-  TXStandardColormap = record
-        colormap : TColormap ;
-        red_max : Cardinal;
-        red_mult : Cardinal;
-        green_max : Cardinal;
-        green_mult : Cardinal;
-        blue_max : Cardinal;
-        blue_mult : Cardinal;
-        base_pixel : Cardinal;
-        visualid : TVisualID;           { added by ICCCM version 1 }
-        killid : TXID ;                 { added by ICCCM version 1 }
-  end;
-  PXStandardColormap = ^TXStandardColormap;
-  PPXStandardColormap = ^PXStandardColormap;
+   PXRegion = ^TXRegion;
+   TXRegion = record
+     end;
+   TRegion = PXRegion;
+   PRegion = ^TRegion;
 
-Const
-  ReleaseByFreeingColormap = 1;  { for killid field above }
-{ return codes for XReadBitmapFile and XWriteBitmapFile }
-  BitmapSuccess          =0;
-  BitmapOpenFailed       =1;
-  BitmapFileInvalid      =2;
-  BitmapNoMemory         =3;
+const
+   RectangleOut = 0;
+   RectangleIn = 1;
+   RectanglePart = 2;
+type
 
+   PXVisualInfo = ^TXVisualInfo;
+   TXVisualInfo = record
+        visual : PVisual;
+        visualid : TVisualID;
+        screen : longint;
+        depth : longint;
+        _class : longint;
+        red_mask : dword;
+        green_mask : dword;
+        blue_mask : dword;
+        colormap_size : longint;
+        bits_per_rgb : longint;
+     end;
 
-{***************************************************************
- * Context Management
- ***************************************************************}
+const
+   VisualNoMask = $0;
+   VisualIDMask = $1;
+   VisualScreenMask = $2;
+   VisualDepthMask = $4;
+   VisualClassMask = $8;
+   VisualRedMaskMask = $10;
+   VisualGreenMaskMask = $20;
+   VisualBlueMaskMask = $40;
+   VisualColormapSizeMask = $80;
+   VisualBitsPerRGBMask = $100;
+   VisualAllMask = $1FF;
+type
+
+   PPXStandardColormap = ^PXStandardColormap;
+   PXStandardColormap = ^TXStandardColormap;
+   TXStandardColormap = record
+        colormap : TColormap;
+        red_max : dword;
+        red_mult : dword;
+        green_max : dword;
+        green_mult : dword;
+        blue_max : dword;
+        blue_mult : dword;
+        base_pixel : dword;
+        visualid : TVisualID;
+        killid : TXID;
+     end;
+
+{$ifdef MACROS}
+function ReleaseByFreeingColormap : TXID;
+{$endif MACROS}
 
 const
-{ Associative lookup table return codes }
-  XCSUCCESS =0;  { No error. }
-  XCNOMEM   =1;    { Out of memory }
-  XCNOENT   =2;    { No entry in table }
+   BitmapSuccess = 0;
+   BitmapOpenFailed = 1;
+   BitmapFileInvalid = 2;
+   BitmapNoMemory = 3;
+   XCSUCCESS = 0;
+   XCNOMEM = 1;
+   XCNOENT = 2;
 type
-  TXContext = longint;
-{
- XUniqueContext()       ((XContext) XrmUniqueQuark())
- XStringToContext(string)   ((XContext) XrmStringToQuark(string))
-}
 
-function XGetVisualInfo(display: PDisplay; vinfo_mask: LongInt;
-  vinfo_template: PXVisualInfo; var nitems_return: longint): PXVisualInfo;
-  cdecl; external;
-
-{ The following declarations are alphabetized. }
-
-function XAllocClassHint: PXClassHint; cdecl; external;
-function XAllocIconSize: PXIconSize; cdecl; external;
-function XAllocSizeHints: PXSizeHints; cdecl; external;
-function XAllocStandardColormap: PXStandardColormap; cdecl; external;
-function XAllocWMHints: PXWMHints; cdecl; external;
-procedure XClipBox(r: TRegion; rect_return: PXRectangle); cdecl; external;
-function XCreateRegion: TRegion; cdecl; external;
-function XDefaultString: PChar; cdecl; external;
-function XDeleteContext(display: PDisplay; rid: TXID;
-  context: TXContext): LongInt; cdecl; external;
-procedure XDestroyRegion(r: TRegion); cdecl; external;
-function XEmptyRegion(r: TRegion): TBool; cdecl; external;
-function XEqualRegion(r1, r2: TRegion): TBool; cdecl; external;
-function XFindContext(display: PDisplay; rid: TXID; context: TXContext;
-  data_return: PXPointer): LongInt; cdecl; external;
-function XGetClassHint(display: PDisplay; w: TWindow;
-  class_hints_return: PXClassHint): TStatus; cdecl; external;
-function XGetIconSizes(display: PDisplay; w: TWindow;
-  size_list_return: PPXIconSize; count_return: PInteger): TStatus;
-  cdecl; external;
-function XGetNormalHints(display: PDisplay; w: TWindow;
-  hints_return: PXSizeHints): TStatus; cdecl; external;
-function XGetRGBColormaps(display: PDisplay; w: TWindow;
-  stdcmap_return: PPXStandardColormap; count_return: PInteger;
-  _property: TAtom): TStatus; cdecl; external;
-function XGetSizeHints(display: PDisplay; w: TWindow;
-  hints_return: PXSizeHints; _property: TAtom): TStatus; cdecl; external;
-function XGetStandardColormap(display: PDisplay; w: TWindow;
-  colormap_return: PXStandardColormap; _property: TAtom): TStatus;
-  cdecl; external;
-
-(*
-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
-);*)
-
-function XGetWMNormalHints(display: PDisplay; w: TWindow;
-  hints_return: PXSizeHints; supplied_return: PLong): TStatus; cdecl; external;
-
-(*
-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
-); *)
-
-function XIntersectRegion(sra, srb, dr_return: TRegion): LongInt; cdecl; external;
-
-(*
-extern void XConvertCase(
-#if NeedFunctionPrototypes
-    KeySym              { sym },
-    KeySym*             { lower },
-    KeySym*             { upper }
-#endif
-); *)
-
-function XLookupString(event_struct: PXKeyEvent; buffer_return: PChar;
-  bytes_buffer: LongInt; keysym_return: PKeySym;
-  status_in_out: PXComposeStatus): LongInt; cdecl; external;
-
-(*
-extern Status XMatchVisualInfo(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    int                 { screen },
-    int                 { depth },
-    int                 { class },
-    XVisualInfo*        { vinfo_return }
-#endif
-);
-
-extern 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 longint XRectInRegion(
-#if NeedFunctionPrototypes
-    Region              { r },
-    int                 { x },
-    int                 { y },
-    unsigned int        { width },
-    unsigned int        { height }
-#endif
-);
-
-extern longint XSaveContext(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    XID                 { rid },
-    XContext            { context },
-    _Xconst char*       { data }
-#endif
-);
-
-extern XSetClassHint(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    Window              { w },
-    XClassHint*         { class_hints }
-#endif
-);
-
-extern XSetIconSizes(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    Window              { w },
-    XIconSize*          { size_list },
-    int                 { count }
-#endif
-); *)
-
-procedure XSetNormalHints(display: PDisplay; w: TWindow;
-  hints: PXSizeHints); cdecl; external;
-
-(*
-extern void XSetRGBColormaps(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    Window              { w },
-    XStandardColormap*  { stdcmaps },
-    int                 { count },
-    Atom                { property }
-#endif
-);
-
-extern XSetSizeHints(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    Window              { w },
-    XSizeHints*         { hints },
-    Atom                { property }
-#endif
-); *)
-
-function XSetStandardProperties(display: PDisplay; w: TWindow;
-  const window_name, icon_name: PChar; icon_pixmap: TPixmap;
-  argv: PPChar; argc: LongInt; hints: PXSizeHints): LongInt;
-  cdecl; external;
-
-procedure XSetTextProperty(display: PDisplay; w: TWindow;
-  text_prop: PXTextProperty; AProperty: TAtom); cdecl; external;
-
-procedure XSetWMClientMachine(display: PDisplay; w: TWindow;
-  text_prop: PXTextProperty); cdecl; external;
-
-function XSetWMHints(display: PDisplay; w: TWindow;
-  wm_hints: PXWMHints): LongInt; cdecl; external;
-
-procedure XSetWMIconName(display: PDisplay; w: TWindow;
-  text_prop: PXTextProperty); cdecl; external;
-
-procedure XSetWMName(display: PDisplay; w: TWindow;
-  text_prop: PXTextProperty); cdecl; external;
-
-procedure XSetWMNormalHints(display: PDisplay; w: TWindow;
-  hints: PXSizeHints); cdecl; external;
-
-procedure XSetWMProperties(display: PDisplay; w: TWindow;
-  window_name, icon_name: PXTextProperty; argv: PPChar; argc: LongInt;
-  normal_hints: PXSizeHints; wm_hints: PXWMHints; class_hints: PXClassHint);
-  cdecl; external;
-
-(*
-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 XSetWMSizeHints(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    Window              { w },
-    XSizeHints*         { hints },
-    Atom                { property }
-#endif
-); *)
-
-function XSetRegion(display: PDisplay; gc: TGC; r: TRegion): LongInt; cdecl; external;
-
-(*
-extern void XSetStandardColormap(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    Window              { w },
-    XStandardColormap*  { colormap },
-    Atom                { property }
-#endif
-);
-
-extern XSetZoomHints(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    Window              { w },
-    XSizeHints*         { zhints }
-#endif
-); *)
-
-function XShrinkRegion(r: TRegion; dx, dy: LongInt): LongInt; cdecl; external;
-
-(*
-extern Status XStringListToTextProperty(
-#if NeedFunctionPrototypes
-    char**              { list },
-    int                 { count },
-    XTextProperty*      { text_prop_return }
-#endif
-); *)
-
-function XSubtractRegion(sra, srb, dr_return: TRegion): LongInt; cdecl; external;
-
-(*
-extern longint XmbTextListToTextProperty(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    char**              { list },
-    int                 { count },
-    XICCEncodingStyle   { style },
-    XTextProperty*      { text_prop_return }
-#endif
-);
-
-extern longint XwcTextListToTextProperty(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    wchar_t**           { list },
-    int                 { count },
-    XICCEncodingStyle   { style },
-    XTextProperty*      { text_prop_return }
-#endif
-);
-
-extern void XwcFreeStringList(
-#if NeedFunctionPrototypes
-    wchar_t**           { list }
-#endif
-);
-
-extern Status XTextPropertyToStringList(
-#if NeedFunctionPrototypes
-    XTextProperty*      { text_prop },
-    char***             { list_return },
-    int*                { count_return }
-#endif
-);
-
-extern longint XmbTextPropertyToTextList(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    XTextProperty*      { text_prop },
-    char***             { list_return },
-    int*                { count_return }
-#endif
-);
-
-extern longint XwcTextPropertyToTextList(
-#if NeedFunctionPrototypes
-    Display*            { display },
-    XTextProperty*      { text_prop },
-    wchar_t***          { list_return },
-    int*                { count_return }
-#endif
-);*)
-
-function XUnionRectWithRegion(rectangle: PXRectangle;
-  src_region, dest_region_return: TRegion): LongInt; cdecl; external;
-
-function XUnionRegion(sra, srb, dr_return: TRegion): LongInt; cdecl; external;
-
-(*
-extern longint 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
-); *)
-
-function XXorRegion(sra, srb, dr_return: TRegion): LongInt; cdecl; external;
-
-
-Implementation
+   PXContext = ^TXContext;
+   TXContext = longint;
+{$ifdef MACROS}
+function XUniqueContext : TXContext;
+
+function XStringToContext(_string : longint) : TXContext;
+{$endif MACROS}
+
+function XAllocClassHint:PXClassHint;cdecl;external;
+function XAllocIconSize:PXIconSize;cdecl;external;
+function XAllocSizeHints:PXSizeHints;cdecl;external;
+function XAllocStandardColormap:PXStandardColormap;cdecl;external;
+function XAllocWMHints:PXWMHints;cdecl;external;
+function XClipBox(para1:TRegion; para2:PXRectangle):longint;cdecl;external;
+function XCreateRegion:TRegion;cdecl;external;
+function XDefaultString:Pchar;cdecl;external;
+function XDeleteContext(para1:PDisplay; para2:TXID; para3:TXContext):longint;cdecl;external;
+function XDestroyRegion(para1:TRegion):longint;cdecl;external;
+function XEmptyRegion(para1:TRegion):longint;cdecl;external;
+function XEqualRegion(para1:TRegion; para2:TRegion):longint;cdecl;external;
+function XFindContext(para1:PDisplay; para2:TXID; para3:TXContext; para4:PXPointer):longint;cdecl;external;
+function XGetClassHint(para1:PDisplay; para2:TWindow; para3:PXClassHint):TStatus;cdecl;external;
+function XGetIconSizes(para1:PDisplay; para2:TWindow; para3:PPXIconSize; para4:Plongint):TStatus;cdecl;external;
+function XGetNormalHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints):TStatus;cdecl;external;
+function XGetRGBColormaps(para1:PDisplay; para2:TWindow; para3:PPXStandardColormap; para4:Plongint; para5:TAtom):TStatus;cdecl;external;
+function XGetSizeHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:TAtom):TStatus;cdecl;external;
+function XGetStandardColormap(para1:PDisplay; para2:TWindow; para3:PXStandardColormap; para4:TAtom):TStatus;cdecl;external;
+function XGetTextProperty(para1:PDisplay; para2:TWindow; para3:PXTextProperty; para4:TAtom):TStatus;cdecl;external;
+function XGetVisualInfo(para1:PDisplay; para2:longint; para3:PXVisualInfo; para4:Plongint):PXVisualInfo;cdecl;external;
+function XGetWMClientMachine(para1:PDisplay; para2:TWindow; para3:PXTextProperty):TStatus;cdecl;external;
+function XGetWMHints(para1:PDisplay; para2:TWindow):PXWMHints;cdecl;external;
+function XGetWMIconName(para1:PDisplay; para2:TWindow; para3:PXTextProperty):TStatus;cdecl;external;
+function XGetWMName(para1:PDisplay; para2:TWindow; para3:PXTextProperty):TStatus;cdecl;external;
+function XGetWMNormalHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:Plongint):TStatus;cdecl;external;
+function XGetWMSizeHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:Plongint; para5:TAtom):TStatus;cdecl;external;
+function XGetZoomHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints):TStatus;cdecl;external;
+function XIntersectRegion(para1:TRegion; para2:TRegion; para3:TRegion):longint;cdecl;external;
+procedure XConvertCase(para1:TKeySym; para2:PKeySym; para3:PKeySym);cdecl;external;
+function XLookupString(para1:PXKeyEvent; para2:Pchar; para3:longint; para4:PKeySym; para5:PXComposeStatus):longint;cdecl;external;
+function XMatchVisualInfo(para1:PDisplay; para2:longint; para3:longint; para4:longint; para5:PXVisualInfo):TStatus;cdecl;external;
+function XOffsetRegion(para1:TRegion; para2:longint; para3:longint):longint;cdecl;external;
+function XPointInRegion(para1:TRegion; para2:longint; para3:longint):TBool;cdecl;external;
+function XPolygonRegion(para1:PXPoint; para2:longint; para3:longint):TRegion;cdecl;external;
+function XRectInRegion(para1:TRegion; para2:longint; para3:longint; para4:dword; para5:dword):longint;cdecl;external;
+function XSaveContext(para1:PDisplay; para2:TXID; para3:TXContext; para4:Pchar):longint;cdecl;external;
+function XSetClassHint(para1:PDisplay; para2:TWindow; para3:PXClassHint):longint;cdecl;external;
+function XSetIconSizes(para1:PDisplay; para2:TWindow; para3:PXIconSize; para4:longint):longint;cdecl;external;
+function XSetNormalHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints):longint;cdecl;external;
+procedure XSetRGBColormaps(para1:PDisplay; para2:TWindow; para3:PXStandardColormap; para4:longint; para5:TAtom);cdecl;external;
+function XSetSizeHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:TAtom):longint;cdecl;external;
+function XSetStandardProperties(para1:PDisplay; para2:TWindow; para3:Pchar; para4:Pchar; para5:TPixmap;
+           para6:PPchar; para7:longint; para8:PXSizeHints):longint;cdecl;external;
+procedure XSetTextProperty(para1:PDisplay; para2:TWindow; para3:PXTextProperty; para4:TAtom);cdecl;external;
+procedure XSetWMClientMachine(para1:PDisplay; para2:TWindow; para3:PXTextProperty);cdecl;external;
+function XSetWMHints(para1:PDisplay; para2:TWindow; para3:PXWMHints):longint;cdecl;external;
+procedure XSetWMIconName(para1:PDisplay; para2:TWindow; para3:PXTextProperty);cdecl;external;
+procedure XSetWMName(para1:PDisplay; para2:TWindow; para3:PXTextProperty);cdecl;external;
+procedure XSetWMNormalHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints);cdecl;external;
+procedure XSetWMProperties(para1:PDisplay; para2:TWindow; para3:PXTextProperty; para4:PXTextProperty; para5:PPchar;
+            para6:longint; para7:PXSizeHints; para8:PXWMHints; para9:PXClassHint);cdecl;external;
+procedure XmbSetWMProperties(para1:PDisplay; para2:TWindow; para3:Pchar; para4:Pchar; para5:PPchar;
+            para6:longint; para7:PXSizeHints; para8:PXWMHints; para9:PXClassHint);cdecl;external;
+procedure XSetWMSizeHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints; para4:TAtom);cdecl;external;
+function XSetRegion(para1:PDisplay; para2:TGC; para3:TRegion):longint;cdecl;external;
+procedure XSetStandardColormap(para1:PDisplay; para2:TWindow; para3:PXStandardColormap; para4:TAtom);cdecl;external;
+function XSetZoomHints(para1:PDisplay; para2:TWindow; para3:PXSizeHints):longint;cdecl;external;
+function XShrinkRegion(para1:TRegion; para2:longint; para3:longint):longint;cdecl;external;
+function XStringListToTextProperty(para1:PPchar; para2:longint; para3:PXTextProperty):TStatus;cdecl;external;
+function XSubtractRegion(para1:TRegion; para2:TRegion; para3:TRegion):longint;cdecl;external;
+function XmbTextListToTextProperty(para1:PDisplay; para2:PPchar; para3:longint; para4:TXICCEncodingStyle; para5:PXTextProperty):longint;cdecl;external;
+function XwcTextListToTextProperty(para1:PDisplay; para2:PPWideChar; para3:longint; para4:TXICCEncodingStyle; para5:PXTextProperty):longint;cdecl;external;
+procedure XwcFreeStringList(para1:PPWideChar);cdecl;external;
+function XTextPropertyToStringList(para1:PXTextProperty; para2:PPPchar; para3:Plongint):TStatus;cdecl;external;
+function XmbTextPropertyToTextList(para1:PDisplay; para2:PXTextProperty; para3:PPPchar; para4:Plongint):longint;cdecl;external;
+function XwcTextPropertyToTextList(para1:PDisplay; para2:PXTextProperty; para3:PPPWideChar; para4:Plongint):longint;cdecl;external;
+function XUnionRectWithRegion(para1:PXRectangle; para2:TRegion; para3:TRegion):longint;cdecl;external;
+function XUnionRegion(para1:TRegion; para2:TRegion; para3:TRegion):longint;cdecl;external;
+function XWMGeometry(para1:PDisplay; para2:longint; para3:Pchar; para4:Pchar; para5:dword;
+           para6:PXSizeHints; para7:Plongint; para8:Plongint; para9:Plongint; para10:Plongint;
+           para11:Plongint):longint;cdecl;external;
+function XXorRegion(para1:TRegion; para2:TRegion; para3:TRegion):longint;cdecl;external;
+
+implementation
+
+{$ifdef MACROS}
+function XGetPixel(ximage,x,y : longint) : longint;
+begin
+   XGetPixel:=ximage^.(f.get_pixel)(ximagexy);
+end;
+
+function XPutPixel(ximage,x,y,pixel : longint) : longint;
+begin
+   XPutPixel:=ximage^.(f.put_pixel)(ximagexypixel);
+end;
+
+function XSubImage(ximage,x,y,width,height : longint) : longint;
+begin
+   XSubImage:=ximage^.(f.sub_image)(ximagexywidthheight);
+end;
+
+function XAddPixel(ximage,value : longint) : longint;
+begin
+   XAddPixel:=ximage^.(f.add_pixel)(ximagevalue);
+end;
+
+function IsKeypadKey(keysym : longint) : longint;
+begin
+   IsKeypadKey:=((TKeySym(keysym)) >= XK_KP_Space) and (@((TKeySym(keysym)) <= XK_KP_Equal));
+end;
+
+function IsPrivateKeypadKey(keysym : longint) : longint;
+begin
+   IsPrivateKeypadKey:=((TKeySym(keysym)) >= $11000000) and (@((TKeySym(keysym)) <= $1100FFFF));
+end;
+
+function IsCursorKey(keysym : longint) : longint;
+begin
+   IsCursorKey:=((TKeySym(keysym)) >= XK_Home) and (@((TKeySym(keysym)) < XK_Select));
+end;
+
+function IsPFKey(keysym : longint) : longint;
+begin
+   IsPFKey:=((TKeySym(keysym)) >= XK_KP_F1) and (@((TKeySym(keysym)) <= XK_KP_F4));
+end;
+
+function IsFunctionKey(keysym : longint) : longint;
+begin
+   IsFunctionKey:=((TKeySym(keysym)) >= XK_F1) and (@((TKeySym(keysym)) <= XK_F35));
+end;
+
+function IsMiscFunctionKey(keysym : longint) : longint;
+begin
+   IsMiscFunctionKey:=((TKeySym(keysym)) >= XK_Select) and (@((TKeySym(keysym)) <= XK_Break));
+end;
+
+function ReleaseByFreeingColormap : TXID;
+  begin
+     ReleaseByFreeingColormap:=TXID(1);
+  end;
 
-end.
-{
-  $Log$
-  Revision 1.3  2000-12-23 22:48:33  sg
-  * Converted declaration of XSetWMProperties (merged from fixbranch)
+function XUniqueContext : TXContext;
+begin
+   XUniqueContext:=TXContext(XrmUniqueQuark);
+end;
 
-  Revision 1.2  2000/07/13 11:33:34  michael
-  + removed logs
- 
-}
+function XStringToContext(string : longint) : TXContext;
+begin
+   XStringToContext:=TXContext(XrmStringToQuark(_string));
+end;
+{$endif MACROS}
+
+end.