File: X.i3 Last modified on Fri May 20 19:28:17 PDT 1994 by msm modified on Wed Nov 24 15:22:31 PST 1993 by steveg modified on Wed Aug 25 09:38:13 PDT 1993 by kalsow modified on Tue May 11 09:21:55 PDT 1993 by muller modified on Fri May 7 15:55:30 PDT 1993 by mjordan modified on Mon Apr 8 22:18:20 PDT 1991 by gnelson modified on Thu Mar 8 16:44:51 1990 by jerome modified on Sun Feb 18 14:00:55 1990 by harrison
UNSAFE INTERFACE============================================================== The X11 R4 Interface for Modula 3 contains: /usr/include/X11/X.h /usr/include/X11/Xlib.h /usr/include/X11/Xutil.h ==============================================================X ;
********************************************************** Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the names of Digital or MIT not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*****************************************************************
FROM Ctypes IMPORT char, char_star, char_star_star, char_star_star_star, const_char_star, const_unsigned_char_star, int, int_star, long, long_star, short, unsigned_char, unsigned_char_star, unsigned_char_star_star, unsigned_int, unsigned_int_star, unsigned_long, unsigned_long_star, unsigned_short, void_star; IMPORT Word, XMachine; EXCEPTION Error;
If a Modula-3 client (like Trestle) registers an error handler with X, then the handler may raise this exception. Most X calls can then result in Error being raised
**************************************************************
/usr/include/X11/X.h
**************************************************************
Definitions for the X window system likely to be used by applications
CONST X_PROTOCOL = 11; (* current protocol version *) X_PROTOCOL_REVISION = 0; (* current minor version *)Resources
TYPE Int = int; Short = short; Long = long; Char = char; Argv = UNTRACED REF ARRAY [0..255] OF char_star; Enumeration = Int; XID = XMachine.XID; Window = XID; WindowStar = UNTRACED REF Window; WindowStarStar = UNTRACED REF WindowStar; Drawable = XID; Font = XID; Pixmap = XID; PixmapStar = UNTRACED REF Pixmap; Cursor = XID; Colormap = XID; ColormapStar = UNTRACED REF Colormap; GContext = XID; KeySym = XMachine.KeySym; KeySymStar = UNTRACED REF KeySym; Mask = unsigned_long; Atom = unsigned_long; AtomStar = UNTRACED REF Atom; AtomStarStar = UNTRACED REF AtomStar; VisualID = unsigned_long; Time = XMachine.Time; TimeStar = UNTRACED REF Time; KeyCode = unsigned_char; KeyCodeStar = UNTRACED REF KeyCode; KeyCodeStarStar = UNTRACED REF KeyCodeStar; TYPE RetIntProc = PROCEDURE (): Int; Retchar_starProc = PROCEDURE (): char_star;**************************************************************** * RESERVED RESOURCE AND CONSTANT DEFINITIONS ****************************************************************
CONST None = 0; (* universal null resource or null atom *) ParentRelative = 1; (* background pixmap in CreateWindow and ChangeWindowAttributes *) CopyFromParent = 0; (* border pixmap in CreateWindow and ChangeWindowAttributes special VisualID and special window class passed to CreateWindow *) PointerWindow = 0; (* destination window in SendEvent *) InputFocus = 1; (* destination window in SendEvent *) PointerRoot = 1; (* focus window in SetInputFocus *) AnyPropertyType = 0; (* special Atom, passed to GetProperty *) AnyKey = 0; (* special Key Code, passed to GrabKey *) AnyButton = 0; (* special Button Code, passed to GrabButton *) AllTemporary = 0; (* special Resource ID passed to KillClient *) CurrentTime = 0; (* special Time *) NoSymbol = 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.
NoEventMask = 0 ; KeyPressMask = Word.Shift (1, 0) ; KeyReleaseMask = Word.Shift (1, 1) ; ButtonPressMask = Word.Shift (1, 2) ; ButtonReleaseMask = Word.Shift (1, 3) ; EnterWindowMask = Word.Shift (1, 4) ; LeaveWindowMask = Word.Shift (1, 5) ; PointerMotionMask = Word.Shift (1, 6) ; PointerMotionHintMask = Word.Shift (1, 7) ; Button1MotionMask = Word.Shift (1, 8) ; Button2MotionMask = Word.Shift (1, 9) ; Button3MotionMask = Word.Shift (1, 10) ; Button4MotionMask = Word.Shift (1, 11) ; Button5MotionMask = Word.Shift (1, 12) ; ButtonMotionMask = Word.Shift (1, 13) ; KeymapStateMask = Word.Shift (1, 14) ; ExposureMask = Word.Shift (1, 15) ; VisibilityChangeMask = Word.Shift (1, 16) ; StructureNotifyMask = Word.Shift (1, 17) ; ResizeRedirectMask = Word.Shift (1, 18) ; SubstructureNotifyMask = Word.Shift (1, 19) ; SubstructureRedirectMask = Word.Shift (1, 20) ; FocusChangeMask = Word.Shift (1, 21) ; PropertyChangeMask = Word.Shift (1, 22) ; ColormapChangeMask = Word.Shift (1, 23) ; OwnerGrabButtonMask = Word.Shift (1, 24) ;Event names. Used in
type
field in XEvent structures. Not to be
confused with event masks above. They start from 2 because 0 and 1
are reserved in the protocol for errors and replies.
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; (* 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.
ShiftMask = Word.Shift (1, 0); LockMask = Word.Shift (1, 1); ControlMask = Word.Shift (1, 2); Mod1Mask = Word.Shift (1, 3); Mod2Mask = Word.Shift (1, 4); Mod3Mask = Word.Shift (1, 5); Mod4Mask = Word.Shift (1, 6); Mod5Mask = Word.Shift (1, 7);modifier names. Used to build a SetModifierMapping request or to read a GetModifierMapping request. These correspond to the masks defined above.
ShiftMapIndex = 0; LockMapIndex = 1; ControlMapIndex = 2; Mod1MapIndex = 3; Mod2MapIndex = 4; Mod3MapIndex = 5; Mod4MapIndex = 6; Mod5MapIndex = 7;button masks. Used in same manner as Key masks above. Not to be confused with button names below.
Button1Mask = Word.Shift (1, 8); Button2Mask = Word.Shift (1, 9); Button3Mask = Word.Shift (1, 10); Button4Mask = Word.Shift (1, 11); Button5Mask = Word.Shift (1, 12); AnyModifier = Word.Shift (1, 15) (* used in GrabButton, GrabKey *);button names. Used as arguments to GrabButton and as detail in ButtonPress and ButtonRelease events. Not to be confused with button masks above. Note that 0 is already defined above as
AnyButton
.
Button1 = 1; Button2 = 2; Button3 = 3; Button4 = 4; Button5 = 5;Notify modes
NotifyNormal = 0; NotifyGrab = 1; NotifyUngrab = 2; NotifyWhileGrabbed = 3; NotifyHint = 1; (* for MotionNotify events *)Notify detail
NotifyAncestor = 0; NotifyVirtual = 1; NotifyInferior = 2; NotifyNonlinear = 3; NotifyNonlinearVirtual = 4; NotifyPointer = 5; NotifyPointerRoot = 6; NotifyDetailNone = 7;Visibility notify
VisibilityUnobscured = 0; VisibilityPartiallyObscured = 1; VisibilityFullyObscured = 2;Circulation request
PlaceOnTop = 0; PlaceOnBottom = 1;protocol families
FamilyInternet = 0; FamilyDECnet = 1; FamilyChaos = 2; FamilyGeneric = 128;Property notification
PropertyNewValue = 0; PropertyDelete = 1;Color Map notification
ColormapUninstalled = 0; ColormapInstalled = 1;GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes
GrabModeSync = 0; GrabModeAsync = 1;GrabPointer, GrabKeyboard reply status
GrabSuccess = 0; AlreadyGrabbed = 1; GrabInvalidTime = 2; GrabNotViewable = 3; GrabFrozen = 4;AllowEvents modes
AsyncPointer = 0; SyncPointer = 1; ReplayPointer = 2; AsyncKeyboard = 3; SyncKeyboard = 4; ReplayKeyboard = 5; AsyncBoth = 6; SyncBoth = 7;Used in SetInputFocus, GetInputFocus
RevertToNone = None; RevertToPointerRoot = PointerRoot; RevertToParent = 2;**************************************************************** * ERROR CODES ****************************************************************
Success = 0; (* everything's okay *) BadRequest = 1; (* bad request code *) BadValue = 2; (* int parameter out of range *) BadWindow = 3; (* parameter not a Window *) BadPixmap = 4; (* parameter not a Pixmap *) BadAtom = 5; (* parameter not an Atom *) BadCursor = 6; (* parameter not a Cursor *) BadFont = 7; (* parameter not a Font *) BadMatch = 8; (* parameter mismatch *) BadDrawable = 9; (* parameter not a Pixmap or Window *) BadAccess = 10; (* depending on context: - key/button already grabbed - attempt to free an illegal cmap entry - attempt to store into a read-only color map entry. - attempt to modify the access control list from other than the local host. *) BadAlloc = 11; (* insufficient resources *) BadColor = 12; (* no such colormap *) BadGC = 13; (* parameter not a GC *) BadIDChoice = 14; (* choice not in range or already used *) BadName = 15; (* font or color name doesn't exist *) BadLength = 16; (* Request length incorrect *) BadImplementation = 17; (* server is defective *) FirstExtensionError = 128; LastExtensionError = 255;**************************************************************** * WINDOW DEFINITIONS ****************************************************************
Window classes used by CreateWindow Note that CopyFromParent is already defined as 0 above
InputOutput = 1; InputOnly = 2;Window attributes for CreateWindow and ChangeWindowAttributes
CWBackPixmap = Word.Shift (1, 0); CWBackPixel = Word.Shift (1, 1); CWBorderPixmap = Word.Shift (1, 2); CWBorderPixel = Word.Shift (1, 3); CWBitGravity = Word.Shift (1, 4); CWWinGravity = Word.Shift (1, 5); CWBackingStore = Word.Shift (1, 6); CWBackingPlanes = Word.Shift (1, 7); CWBackingPixel = Word.Shift (1, 8); CWOverrideRedirect = Word.Shift (1, 9); CWSaveUnder = Word.Shift (1, 10); CWEventMask = Word.Shift (1, 11); CWDontPropagate = Word.Shift (1, 12); CWColormap = Word.Shift (1, 13); CWCursor = Word.Shift (1, 14);ConfigureWindow structure
CWX = Word.Shift (1, 0); CWY = Word.Shift (1, 1); CWWidth = Word.Shift (1, 2); CWHeight = Word.Shift (1, 3); CWBorderWidth = Word.Shift (1, 4); CWSibling = Word.Shift (1, 5); CWStackMode = Word.Shift (1, 6);Bit Gravity
ForgetGravity = 0; NorthWestGravity = 1; NorthGravity = 2; NorthEastGravity = 3; WestGravity = 4; CenterGravity = 5; EastGravity = 6; SouthWestGravity = 7; SouthGravity = 8; SouthEastGravity = 9; StaticGravity = 10;Window gravity + bit gravity above
UnmapGravity = 0;Used in CreateWindow for backing-store hint
NotUseful = 0; WhenMapped = 1; Always = 2;Used in GetWindowAttributes reply
IsUnmapped = 0; IsUnviewable = 1; IsViewable = 2;Used in ChangeSaveSet
SetModeInsert = 0; SetModeDelete = 1;Used in ChangeCloseDownMode
DestroyAll = 0; RetainPermanent = 1; RetainTemporary = 2;Window stacking method (in configureWindow)
Above = 0; Below = 1; TopIf = 2; BottomIf = 3; Opposite = 4;Circulation direction
RaiseLowest = 0; LowerHighest = 1;Property modes
PropModeReplace = 0; PropModePrepend = 1; PropModeAppend = 2;**************************************************************** * GRAPHICS DEFINITIONS ****************************************************************
graphics functions, as in GC.alu
GXclear = 16_0; (* 0 *) GXand = 16_1; (* src AND dst *) GXandReverse = 16_2; (* src AND NOT dst *) GXcopy = 16_3; (* src *) GXandInverted = 16_4; (* NOT src AND dst *) GXnoop = 16_5; (* dst *) GXxor = 16_6; (* src XOR dst *) GXor = 16_7; (* src OR dst *) GXnor = 16_8; (* NOT src AND NOT dst *) GXequiv = 16_9; (* NOT src XOR dst *) GXinvert = 16_a; (* NOT dst *) GXorReverse = 16_b; (* src OR NOT dst *) GXcopyInverted = 16_c; (* NOT src *) GXorInverted = 16_d; (* NOT src OR dst *) GXnand = 16_e; (* NOT src OR NOT dst *) GXset = 16_f; (* 1 *)LineStyle
LineSolid = 0; LineOnOffDash = 1; LineDoubleDash = 2;capStyle
CapNotLast = 0; CapButt = 1; CapRound = 2; CapProjecting = 3;joinStyle
JoinMiter = 0; JoinRound = 1; JoinBevel = 2;fillStyle
FillSolid = 0; FillTiled = 1; FillStippled = 2; FillOpaqueStippled = 3;fillRule
EvenOddRule = 0; WindingRule = 1;subwindow mode
ClipByChildren = 0; IncludeInferiors = 1;SetClipRectangles ordering
Unsorted = 0; YSorted = 1; YXSorted = 2; YXBanded = 3;CoordinateMode for drawing routines
CoordModeOrigin = 0; (* relative to the origin *) CoordModePrevious = 1; (* relative to previous point *)Polygon shapes
Complex = 0; (* paths may intersect *) Nonconvex = 1; (* no paths intersect, but not convex *) Convex = 2; (* wholly convex *)Arc modes for PolyFillArc
ArcChord = 0; (* join endpoints of arc *) ArcPieSlice = 1; (* join endpoints to center of arc *)GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into GC.stateChanges
GCFunction = Word.Shift (1, 0); GCPlaneMask = Word.Shift (1, 1); GCForeground = Word.Shift (1, 2); GCBackground = Word.Shift (1, 3); GCLineWidth = Word.Shift (1, 4); GCLineStyle = Word.Shift (1, 5); GCCapStyle = Word.Shift (1, 6); GCJoinStyle = Word.Shift (1, 7); GCFillStyle = Word.Shift (1, 8); GCFillRule = Word.Shift (1, 9); GCTile = Word.Shift (1, 10); GCStipple = Word.Shift (1, 11); GCTileStipXOrigin = Word.Shift (1, 12); GCTileStipYOrigin = Word.Shift (1, 13); GCFont = Word.Shift (1, 14); GCSubwindowMode = Word.Shift (1, 15); GCGraphicsExposures = Word.Shift (1, 16); GCClipXOrigin = Word.Shift (1, 17); GCClipYOrigin = Word.Shift (1, 18); GCClipMask = Word.Shift (1, 19); GCDashOffset = Word.Shift (1, 20); GCDashList = Word.Shift (1, 21); GCArcMode = Word.Shift (1, 22); GCLastBit = 22;**************************************************************** * FONTS ****************************************************************
used in QueryFont -- draw direction
FontLeftToRight = 0; FontRightToLeft = 1; FontChange = 255;**************************************************************** * IMAGING ****************************************************************
ImageFormat -- PutImage, GetImage
XYBitmap = 0; (* depth 1, XYFormat *) XYPixmap = 1; (* depth == drawable depth *) ZPixmap = 2; (* depth == drawable depth *)**************************************************************** * COLOR MAP STUFF ****************************************************************
For CreateColormap
AllocNone = 0; (* create map with no entries *) AllocAll = 1; (* allocate entire map writeable *)Flags used in StoreNamedColor, StoreColors
DoRed = Word.Shift (1, 0); DoGreen = Word.Shift (1, 1); DoBlue = Word.Shift (1, 2);**************************************************************** * CURSOR STUFF ****************************************************************
QueryBestSize Class
CursorShape = 0; (* largest size that can be displayed *) TileShape = 1; (* size tiled fastest *) StippleShape = 2; (* size stippled fastest *)**************************************************************** * KEYBOARD/POINTER STUFF ****************************************************************
AutoRepeatModeOff = 0; AutoRepeatModeOn = 1; AutoRepeatModeDefault = 2; LedModeOff = 0; LedModeOn = 1;masks for ChangeKeyboardControl
KBKeyClickPercent = Word.Shift (1, 0); KBBellPercent = Word.Shift (1, 1); KBBellPitch = Word.Shift (1, 2); KBBellDuration = Word.Shift (1, 3); KBLed = Word.Shift (1, 4); KBLedMode = Word.Shift (1, 5); KBKey = Word.Shift (1, 6); KBAutoRepeatMode = Word.Shift (1, 7); MappingSuccess = 0; MappingBusy = 1; MappingFailed = 2; MappingModifier = 0; MappingKeyboard = 1; MappingPointer = 2;**************************************************************** * SCREEN SAVER STUFF ****************************************************************
DontPreferBlanking = 0; PreferBlanking = 1; DefaultBlanking = 2; DisableScreenSaver = 0; DisableScreenInterval = 0; DontAllowExposures = 0; AllowExposures = 1; DefaultExposures = 2;for ForceScreenSaver
ScreenSaverReset = 0; ScreenSaverActive = 1;**************************************************************** * HOSTS AND CONNECTIONS ****************************************************************
for ChangeHosts
HostInsert = 0; HostDelete = 1;for ChangeAccessControl
EnableAccess = 1; DisableAccess = 0;Display classes used in opening the connection * Note that the statically allocated ones are even numbered and the * dynamically changeable ones are odd numbered
StaticGray = 0; GrayScale = 1; StaticColor = 2; PseudoColor = 3; TrueColor = 4; DirectColor = 5;Byte order used in imageByteOrder and bitmapBitOrder
LSBFirst = 0; MSBFirst = 1;For users of XMultiplexInput. This routine is VMS only
XMINoBlock = 1; XMINewInput = 2;**************************************************************
/usr/include/X11/Xlib.h
**************************************************************
$XConsortium: Xlib.h,v 11.179 89/12/12 13:57:19 jim Exp $
* Copyright 1985, 1986, 1987 by the Massachusetts Institute of Technology
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising
* or publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided as is
* without express or implied warranty.
*
* The X Window System is a Trademark of MIT.
*
* Xlib.h - Header definition and support file for the C subroutine
* interface library (Xlib) to the X Window System Protocol (V11).
* Structures and symbols starting with _
are private to the library.
TYPE Bool = Int; BoolStar = UNTRACED REF Bool; Status = Int; CONST True = 1; False = 0; CONST QueuedAlready = 0; QueuedAfterReading = 1; QueuedAfterFlush = 2;?!?!?!?! #define ConnectionNumber(dpy) ((dpy)->fd) #define RootWindow(dpy, scr) (((dpy)->screens[(scr)]).root) #define DefaultScreen(dpy) ((dpy)->default_screen) #define DefaultRootWindow(dpy) (((dpy)->screens[(dpy)->default_screen]).root) #define DefaultVisual(dpy, scr) (((dpy)->screens[(scr)]).root_visual) #define DefaultGC(dpy, scr) (((dpy)->screens[(scr)]).default_gc) #define BlackPixel(dpy, scr) (((dpy)->screens[(scr)]).black_pixel) #define WhitePixel(dpy, scr) (((dpy)->screens[(scr)]).white_pixel) #define AllPlanes (~0) #define QLength(dpy) ((dpy)->qlen) #define DisplayWidth(dpy, scr) (((dpy)->screens[(scr)]).width) #define DisplayHeight(dpy, scr) (((dpy)->screens[(scr)]).height) #define DisplayWidthMM(dpy, scr)(((dpy)->screens[(scr)]).mwidth) #define DisplayHeightMM(dpy, scr)(((dpy)->screens[(scr)]).mheight) #define DisplayPlanes(dpy, scr) (((dpy)->screens[(scr)]).root_depth) #define DisplayCells(dpy, scr) (DefaultVisual((dpy), (scr))->map_entries) #define ScreenCount(dpy) ((dpy)->nscreens) #define ServerVendor(dpy) ((dpy)->vendor) #define ProtocolVersion(dpy) ((dpy)->proto_major_version) #define ProtocolRevision(dpy) ((dpy)->proto_minor_version) #define VendorRelease(dpy) ((dpy)->release) #define DisplayString(dpy) ((dpy)->display_name) #define DefaultDepth(dpy, scr) (((dpy)->screens[(scr)]).root_depth) #define DefaultColormap(dpy, scr)(((dpy)->screens[(scr)]).cmap) #define BitmapUnit(dpy) ((dpy)->bitmap_unit) #define BitmapBitOrder(dpy) ((dpy)->bitmap_bit_order) #define BitmapPad(dpy) ((dpy)->bitmap_pad) #define ImageByteOrder(dpy) ((dpy)->byte_order) #define NextRequest(dpy) ((dpy)->request + 1) #define LastKnownRequestProcessed(dpy) ((dpy)->last_request_read)
(* macros for screen oriented applications (toolkit)
#define ScreenOfDisplay(dpy, scr)(&((dpy)->screens[(scr)])) #define DefaultScreenOfDisplay(dpy) (&((dpy)->screens[(dpy)->default_screen])) #define DisplayOfScreen(s) ((s)->display) #define RootWindowOfScreen(s) ((s)->root) #define BlackPixelOfScreen(s) ((s)->black_pixel) #define WhitePixelOfScreen(s) ((s)->white_pixel) #define DefaultColormapOfScreen(s)((s)->cmap) #define DefaultDepthOfScreen(s) ((s)->root_depth) #define DefaultGCOfScreen(s) ((s)->default_gc) #define DefaultVisualOfScreen(s)((s)->root_visual) #define WidthOfScreen(s) ((s)->width) #define HeightOfScreen(s) ((s)->height) #define WidthMMOfScreen(s) ((s)->mwidth) #define HeightMMOfScreen(s) ((s)->mheight) #define PlanesOfScreen(s) ((s)->root_depth) #define CellsOfScreen(s) (DefaultVisualOfScreen((s))->map_entries) #define MinCmapsOfScreen(s) ((s)->min_maps) #define MaxCmapsOfScreen(s) ((s)->max_maps) #define DoesSaveUnders(s) ((s)->save_unders) #define DoesBackingStore(s) ((s)->backing_store) #define EventMaskOfScreen(s) ((s)->root_input_mask) ?!?!?! *)
* Extensions need a way to hang private data on some structures.
TYPE XExtData = RECORD number: Int; (* number returned by XRegisterExtension *) next: XExtDataStar; (* next item on list of data for structure *) free_private: RetIntProc; (* called to free private storage *) private_data: char_star; (* data private to this extension. *) END; XExtDataStar = UNTRACED REF XExtData; XExtDataStarStar = UNTRACED REF XExtDataStar;
* This file contains structures used by the extension mechanism.
TYPE XExtCodes = RECORD extension: Int; (* extension number *) major_opcode: Int; (* major op-code assigned by server *) first_event: Int; (* first event number for the extension *) first_error: Int; (* first error number for the extension *) END; XExtCodesStar = UNTRACED REF XExtCodes;
* This structure is private to the library.
TYPE XExtension = RECORD (* private to extension mechanism *) next: XExtensionStar; (* next in list *) codes: XExtCodes; (* public information, all extension told *) create_GC: RetIntProc; (* routine to call when GC created *) copy_GC: RetIntProc; (* routine to call when GC copied *) flush_GC: RetIntProc; (* routine to call when GC flushed *) free_GC: RetIntProc; (* routine to call when GC freed *) create_Font: RetIntProc; (* routine to call when Font created *) free_Font: RetIntProc; (* routine to call when Font freed *) close_display: RetIntProc;(* routine to call when connection closed *) error: RetIntProc; (* who to call when an error occurs *) error_string: Retchar_starProc; (* routine to supply error string *) name: char_star; (* name of this extension *) END; XExtensionStar = UNTRACED REF XExtension;
* Data structure for retrieving info about pixmap formats.
TYPE XPixmapFormatValues = RECORD depth: Int; bits_per_pixel: Int; scanline_pad: Int; END; XPixmapFormatValuesStar = UNTRACED REF XPixmapFormatValues;
* Data structure for setting graphics context.
TYPE XGCValues = RECORD function: Int; (* logical operation *) plane_mask: unsigned_long;(* plane mask *) foreground: unsigned_long;(* foreground pixel *) background: unsigned_long;(* background pixel *) line_width: Int; (* line width *) line_style: Int; (* LineSolid, LineOnOffDash, LineDoubleDash *) cap_style: Int; (* CapNotLast, CapButt, CapRound, CapProjecting *) join_style: Int; (* JoinMiter, JoinRound, JoinBevel *) fill_style: Int; (* FillSolid, FillTiled, FillStippled, FillOpaeueStippled *) fill_rule: Int; (* EvenOddRule, WindingRule *) arc_mode: Int; (* ArcChord, ArcPieSlice *) tile: Pixmap; (* tile pixmap for tiling operations *) stipple: Pixmap; (* stipple 1 plane pixmap for stipping *) ts_x_origin: Int; (* offset for tile or stipple operations *) ts_y_origin: Int; font: Font; (* default text font for text operations *) subwindow_mode: Int; (* ClipByChildren, IncludeInferiors *) graphics_exposures: Bool;(* boolean, should exposures be generated *) clip_x_origin: Int; (* origin for clipping *) clip_y_origin: Int; clip_mask: Pixmap; (* bitmap clipping; other calls for rects *) dash_offset: Int; (* patterned/dashed line information *) dashes: Char; END; TYPE XGCValuesStar = UNTRACED REF XGCValues;
* Graphics context. All Xlib routines deal in this rather than
* in raw protocol GContext ID's. This is so that the library can keep
* a shadow
set of values, and thus avoid passing values over the
* wire which are not in fact changing.
TYPE GC = UNTRACED REF RECORD ext_data: XExtDataStar; (* hook for extension to hang data *) gid: GContext; (* protocol ID for graphics context *) rects: Bool; (* boolean: TRUE if clipmask is list of rectangles *) dashes: Bool; (* boolean: TRUE if dash-list is really a list *) dirty: unsigned_long; (* cache dirty bits *) values: XGCValues; (* shadow structure of values *) END;
* Visual structure; contains information about colormapping possible.
TYPE Visual = RECORD ext_data: XExtDataStar; (* hook for extension to hang data *) visualid: VisualID; (* visual id of this visual *) class: Int; (* class of screen (monochrome, etc.) *) red_mask, green_mask, blue_mask: unsigned_long; (* mask values *) bits_per_rgb: Int; (* log base 2 of distinct color values *) map_entries: Int; (* color map entries *) END; VisualStar = UNTRACED REF Visual;
* Depth structure; contains information for each possible depth.
TYPE Depth = RECORD depth: Int; (* this depth (Z) of the depth *) nvisuals: Int; (* number of Visual types at this depth *) visuals: VisualStar; (* list of visuals possible at this depth *) END; DepthStar = UNTRACED REF Depth;
* Information about the screen.
TYPE Screen = RECORD ext_data: XExtDataStar; (* hook for extension to hang data *) display: DisplayStar; (* back pointer to display structure *) root: Window; (* Root window id. *) width, height: Int; (* width and height of screen *) mwidth, mheight: Int; (* width and height of in millimeters *) ndepths: Int; (* number of depths possible *) depths: DepthStar; (* list of allowable depths on the screen *) root_depth: Int; (* bits per pixel *) root_visual: VisualStar; (* root visual *) default_gc: GC; (* GC for the root root visual *) cmap: Colormap; (* default color map *) white_pixel: unsigned_long; black_pixel: unsigned_long; (* White and Black pixel values *) max_maps, min_maps: Int; (* max and min color maps *) backing_store: Int; (* Never, WhenMapped, Always *) save_unders: Bool; root_input_mask: Long; (* initial root input mask *) END; ScreenStar = UNTRACED REF Screen;
* Format structure; describes ZFormat data the screen will understand.
TYPE ScreenFormat = RECORD ext_data: XExtDataStar; (* hook for extension to hang data *) depth: Int; (* depth of this image format *) bits_per_pixel: Int; (* bits/pixel at this depth *) scanline_pad: Int; (* scanline must padded to this multiple *) END; ScreenFormatStar = UNTRACED REF ScreenFormat;
* Data structure for setting window attributes.
TYPE XSetWindowAttributes = RECORD background_pixmap: Pixmap; (* background or None or ParentRelative *) background_pixel: unsigned_long; (* background pixel *) border_pixmap: Pixmap; (* border of the window *) border_pixel: unsigned_long; (* border pixel value *) bit_gravity: Int; (* one of bit gravity values *) win_gravity: Int; (* one of the window gravity values *) backing_store: Int; (* NotUseful, WhenMapped, Always *) backing_planes: unsigned_long;(* planes to be preseved if possible *) backing_pixel: unsigned_long; (* value to use in restoring planes *) save_under: Bool; (* should bits under be saved? (popups) *) event_mask: Long; (* set of events that should be saved *) do_not_propagate_mask: Long; (* set of events that should not propagate *) override_redirect: Bool; (* boolean value for override-redirect *) colormap: Colormap; (* color map to be associated with window *) cursor: Cursor; (* cursor to be displayed (or None) *) END; XWindowAttributes = RECORD x, y: Int; (* location of window *) width, height: Int; (* width and height of window *) border_width: Int; (* border width of window *) depth: Int; (* depth of window *) visual: VisualStar; (* the associated visual structure *) root: Window; (* root of screen containing window *) class: Int; (* InputOutput, InputOnly*) bit_gravity: Int; (* one of bit gravity values *) win_gravity: Int; (* one of the window gravity values *) backing_store: Int; (* NotUseful, WhenMapped, Always *) backing_planes: unsigned_long;(* planes to be preserved if possible *) backing_pixel: unsigned_long; (* value to be used when restoring planes *) save_under: Bool; (* boolean, should bits under be saved? *) colormap: Colormap; (* color map to be associated with window *) map_installed: Bool; (* boolean, is color map currently installed*) map_state: Int; (* IsUnmapped, IsUnviewable, IsViewable *) all_event_masks: Long; (* set of events all people have interest in*) your_event_mask: Long; (* my event mask *) do_not_propagate_mask: Long; (* set of events that should not propagate *) override_redirect: Bool; (* boolean value for override-redirect *) screen: ScreenStar; (* back pointer to correct screen *) END; TYPE XSetWindowAttributesStar = UNTRACED REF XSetWindowAttributes; XWindowAttributesStar = UNTRACED REF XWindowAttributes;
* Data structure for host setting; getting routines. *
TYPE XHostAddress = RECORD family: Int; (* for example AF_DNET *) length: Int; (* length of address, in bytes *) address: char_star; (* pointer to where to find the bytes *) END; XHostAddressStar = UNTRACED REF XHostAddress;
* Data structure for image
data, used by image manipulation routines.
TYPE CreateImageProc = PROCEDURE (): XImageStar; DestroyImageProc = PROCEDURE (i: XImageStar): Int; GetPixelProc = PROCEDURE (i: XImageStar; x, y: Int): unsigned_long; PutPixelProc = PROCEDURE (i: XImageStar; x, y: Int; p: unsigned_long): Int; SubImageProc = PROCEDURE (i: XImageStar; x, y: Int; w, h: unsigned_int): XImageStar; AddPixelProc = PROCEDURE(i: XImageStar): Int; XImage = RECORD width, height: Int; (* size of image *) xoffset: Int; (* number of pixels offset in X direction *) format: Int; (* XYBitmap, XYPixmap, ZPixmap *) data: char_star; (* pointer to image data *) byte_order: Int; (* data byte order, LSBFirst, MSBFirst *) bitmap_unit: Int; (* quant. of scanline 8, 16, 32 *) bitmap_bit_order: Int; (* LSBFirst, MSBFirst *) bitmap_pad: Int; (* 8, 16, 32 either XY or ZPixmap *) depth: Int; (* depth of image *) bytes_per_line: Int; (* accelarator to next line *) bits_per_pixel: Int; (* bits per pixel (ZPixmap) *) red_mask: unsigned_long; (* bits in z arrangment *) green_mask: unsigned_long; blue_mask: unsigned_long; obdata: char_star; (* hook for the object routines to hang on *) f: RECORD (* image manipulation routines *) create_image: CreateImageProc; destroy_image: DestroyImageProc; get_pixel: GetPixelProc; put_pixel: PutPixelProc; sub_image: SubImageProc; add_pixel: AddPixelProc; END; END; XImageStar = UNTRACED REF XImage;
* Data structure for XReconfigureWindow
TYPE XWindowChanges = RECORD x, y: Int; width, height: Int; border_width: Int; sibling: Window; stack_mode: Int; END; XWindowChangesStar = UNTRACED REF XWindowChanges;
* Data structure used by color operations
TYPE XColor = RECORD pixel: unsigned_long; red, green, blue: unsigned_short; flags: Char; (* do_red, do_green, do_blue *) pad: Char; END; XColorStar = UNTRACED REF XColor;
* Data structures for graphics operations. On most machines, these are * congruent with the wire protocol structures, so reformatting the data * can be avoided on these architectures.
TYPE XSegment = RECORD x1, y1, x2, y2: Short; END; XSegmentStar = UNTRACED REF XSegment; XPoint = RECORD x, y: Short; END; XPoint_star = UNTRACED REF XPoint; XRectangle = RECORD x, y: Short; width, height: unsigned_short; END; XRectangleStar = UNTRACED REF XRectangle; XArc = RECORD x, y: Short; width, height: unsigned_short; angle1, angle2: Short; END; XArcStar = UNTRACED REF XArc;Data structure for XChangeKeyboardControl
TYPE XKeyboardControl = RECORD key_click_percent: Int; bell_percent: Int; bell_pitch: Int; bell_duration: Int; led: Int; led_mode: Int; key: Int; auto_repeat_mode: Int; (* On, Off, Default *) END; XKeyboardControlStar = UNTRACED REF XKeyboardControl;Data structure for XGetKeyboardControl
TYPE XKeyboardState = RECORD key_click_percent: Int; bell_percent: Int; bell_pitch, bell_duration: unsigned_int; led_mask: unsigned_long; global_auto_repeat: Int; auto_repeats: ARRAY [0 .. 31] OF Char; END; XKeyboardStateStar = UNTRACED REF XKeyboardState;Data structure for XGetMotionEvents.
TYPE XTimeCoord = RECORD time: Time; x, y: Short; END; XTimeCoordStar = UNTRACED REF XTimeCoord;Data structure for X{Set,Get}ModifierMapping
TYPE XModifierKeymap = RECORD max_keypermod: Int; (* The server's max # of keys per modifier *) modifiermap: KeyCodeStar;(* An 8 by max_keypermod array of modifiers *) END; XModifierKeymapStar = UNTRACED REF XModifierKeymap;
* internal atoms used for ICCCM things; not to be used by client
TYPE DisplayAtoms = RECORD text: Atom; wm_state: Atom; wm_protocols: Atom; wm_save_yourself: Atom; wm_change_state: Atom; wm_colormap_windows: Atom; (* add new atoms to end of list *) END; DisplayAtomsStar = UNTRACED REF DisplayAtoms;
* Display datatype maintaining display specific data.
TYPE Display = RECORD ext_data: XExtDataStar; (* hook for extension to hang data *) next: DisplayStar; (* next open Display on list *) fd: Int; (* Network socket. *) lock: Int; (* is someone in critical section? *) proto_major_version: Int;(* maj. version of server's X protocol *) proto_minor_version: Int;(* minor version of servers X protocol *) vendor: char_star; (* vendor of the server hardware *) resource_base: Long; (* resource ID base *) resource_mask: Long; (* resource ID mask bits *) resource_id: Long; (* allocator current ID *) resource_shift: Int; (* allocator shift to correct bits *) resource_alloc: PROCEDURE(): XID; (* allocator function *) byte_order: Int; (* screen byte order, LSBFirst, MSBFirst *) bitmap_unit: Int; (* padding and data requirements *) bitmap_pad: Int; (* padding requirements on bitmaps *) bitmap_bit_order: Int; (* LeastSignificant or MostSignificant *) nformats: Int; (* number of pixmap formats in list *) pixmap_format: ScreenFormatStar; (* pixmap format list *) vnumber: Int; (* Xlib's X protocol version number. *) release: Int; (* release of the server *) head, tail: XQEventStar; (* Input event queue. *) qlen: Int; (* Length of input event queue *) last_request_read: unsigned_long; (* seq number of last event read *) request: unsigned_long; (* sequence number of last request. *) last_req: char_star; (* beginning of last request, or dummy *) buffer: char_star; (* Output buffer starting address. *) bufptr: char_star; (* Output buffer index pointer. *) bufmax: char_star; (* Output buffer maximum+1 address. *) max_request_size: unsigned_int; (* max number 32 bit words in request*) db: ADDRESS; (*?!? wrong ?!?*) synchandler: XSynchronize;(* Synchronization handler *) display_name: char_star; (* "host:display" string used on this connect*) default_screen: Int; (* default screen for operations *) nscreens: Int; (* number of screens on this server*) screens: ScreenStar; (* pointer to list of screens *) motion_buffer: unsigned_long; (* size of motion buffer *) current: Window; (* for use internally for Keymap notify *) min_keycode: Int; (* minimum defined keycode *) max_keycode: Int; (* maximum defined keycode *) keysyms: KeySymStar; (* This server's keysyms *) modifiermap: XModifierKeymapStar; (* This server's modifier keymap *) keysyms_per_keycode: Int;(* number of rows *) xdefaults: char_star; (* contents of defaults from server *) scratch_buffer: char_star;(* place to hang scratch buffer *) scratch_length: unsigned_long; (* length of scratch buffer *) ext_number: Int; (* extension number on this display *) ext_procs: XExtensionStar; (* extensions initialized on this display *) (* * the following can be fixed size, as the protocol defines how * much address space is available. * While this could be done using the extension vector, there * may be MANY events processed, so a search through the extension * list to find the right procedure for each event might be * expensive if many extensions are being used. *) event_vec: ARRAY [0 .. 127] OF PROCEDURE(): Bool; wire_vec: ARRAY [0 .. 127] OF PROCEDURE(): Status; lock_meaning: KeySym; (* for XLookupString *) key_bindings: ADDRESS; (* for XLookupString *) (*?!? wrong ?!?*) cursor_font: Font; (* for XCreateFontCursor *) (* * ICCCM information, version 1 *) atoms: DisplayAtomsStar; reconfigure_wm_window: RECORD (* for XReconfigureWMWindow *) sequence_number: Long; old_handler: PROCEDURE(): Int; succeeded: Bool; END; (* * additional connection info *) flags: unsigned_long; (* internal connection flags *) mode_switch: unsigned_int; (* keyboard group modifiers *) END; DisplayStar = UNTRACED REF Display;
* A XEvent
structure always has type as the first entry. This
* uniquely identifies what kind of event it is. The second entry
* is always a pointer to the display the event was read from.
* The third entry is always a window of one type or another,
* carefully selected to be useful to toolkit dispatchers. (Except
* for keymap events, which have no window.) You
* must not change the order of the three elements or toolkits will
* break! The pointer to the generic event must be cast before use to
* access any other information in the structure.
* Definitions of specific events.
TYPE XKeyEvent = RECORD type: Int; (* of event *) serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; (* "event" window it is reported relative to *) root: Window; (* root window that the event occured on *) subwindow: Window; (* child window *) time: Time; (* milliseconds *) x, y: Int; (* pointer x, y coordinates in event window *) x_root, y_root: Int; (* coordinates relative to root *) state: unsigned_int; (* key or button mask *) keycode: unsigned_int; (* detail *) same_screen: Bool (* same screen flag *) END; XKeyEventStar = UNTRACED REF XKeyEvent; XKeyPressedEvent = XKeyEvent; XKeyPressedEventStar = UNTRACED REF XKeyPressedEvent; XKeyReleasedEvent = XKeyEvent; XKeyReleasedEventStar = UNTRACED REF XKeyReleasedEvent; TYPE XButtonEvent = RECORD type: Int; (* of event *) serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; (* "event" window it is reported relative to *) root: Window; (* root window that the event occured on *) subwindow: Window; (* child window *) time: Time; (* milliseconds *) x, y: Int; (* poInter x, y coordinates in event window *) x_root, y_root: Int; (* coordinates relative to root *) state: unsigned_int; (* key or button mask *) button: unsigned_int; (* detail *) same_screen: Bool (* same screen flag *) END; XButtonEventStar = UNTRACED REF XButtonEvent; XButtonPressedEvent = XButtonEvent; XButtonPressedEventStar = UNTRACED REF XButtonPressedEvent; XButtonReleasedEvent = XButtonEvent; XButtonReleasedEventStar = UNTRACED REF XButtonReleasedEvent; TYPE XMotionEvent = RECORD type: Int; (* of event *) serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; (* "event" window reported relative to *) root: Window; (* root window that the event occured on *) subwindow: Window; (* child window *) time: Time; (* milliseconds *) x, y: Int; (* pointer x, y coordinates in event window *) x_root, y_root: Int; (* coordinates relative to root *) state: unsigned_int; (* key or button mask *) is_hint: Char; (* detail *) same_screen: Bool (* same screen flag *) END; XMotionEventStar = UNTRACED REF XMotionEvent; XPointerMovedEvent = XMotionEvent; XPointerMovedEventStar = UNTRACED REF XPointerMovedEvent; TYPE XCrossingEvent = RECORD type: Int; (* of event *) serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; (* "event" window reported relative to *) root: Window; (* root window that the event occured on *) subwindow: Window; (* child window *) time: Time; (* milliseconds *) x, y: Int; (* pointer x, y coordinates in event window *) x_root, y_root: Int; (* coordinates relative to root *) mode: Int; (* NotifyNormal, NotifyGrab, NotifyUngrab *) detail: Int; (* * NotifyAncestor, NotifyVirtual, NotifyInferior, * NotifyNonLinear,NotifyNonLinearVirtual *) same_screen: Bool; (* same screen flag *) focus: Bool; (* boolean focus *) state: unsigned_int (* key or button mask *) END; XCrossingEventStar = UNTRACED REF XCrossingEvent; XEnterWindowEvent = XCrossingEvent; XEnterWindowEventStar = UNTRACED REF XEnterWindowEvent; XLeaveWindowEvent = XCrossingEvent; XLeaveWindowEventStar = UNTRACED REF XLeaveWindowEvent; TYPE XFocusChangeEvent = RECORD type: Int; (* FocusIn or FocusOut *) serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; (* window of event *) mode: Int; (* NotifyNormal, NotifyGrab, NotifyUngrab *) detail: Int (* * NotifyAncestor, NotifyVirtual, NotifyInferior, * NotifyNonLinear,NotifyNonLinearVirtual, NotifyPointer, * NotifyPointerRoot, NotifyDetailNone *) END; XFocusChangeEventStar = UNTRACED REF XFocusChangeEvent; XFocusInEvent = XFocusChangeEvent; XFocusInEventStar = UNTRACED REF XFocusInEvent; XFocusOutEvent = XFocusChangeEvent; XFocusOutEventStar = UNTRACED REF XFocusOutEvent;generated on EnterWindow and FocusIn when KeyMapState selected
TYPE XKeymapEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; key_vector: ARRAY [0..31] OF Char END; XKeymapEventStar = UNTRACED REF XKeymapEvent; TYPE XExposeEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; x, y: Int; width, height: Int; count: Int (* if non-zero, at least this many more *) END; XExposeEventStar = UNTRACED REF XExposeEvent; TYPE XGraphicsExposeEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) drawable: Drawable; x, y: Int; width, height: Int; count: Int; (* if non-zero, at least this many more *) major_code: Int; (* core is CopyArea or CopyPlane *) minor_code: Int (* not defined in the core *) END; XGraphicsExposeEventStar = UNTRACED REF XGraphicsExposeEvent; TYPE XNoExposeEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) drawable: Drawable; major_code: Int; (* core is CopyArea or CopyPlane *) minor_code: Int (* not defined in the core *) END; XNoExposeEventStar = UNTRACED REF XNoExposeEvent; TYPE XVisibilityEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; state: Int (* Visibility state *) END; XVisibilityEventStar = UNTRACED REF XVisibilityEvent; TYPE XCreateWindowEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) parent: Window; (* parent of the window *) window: Window; (* window id of window created *) x, y: Int; (* window location *) width, height: Int; (* size of window *) border_width: Int; (* border width *) override_redirect: Bool (* creation should be overridden *) END; XCreateWindowEventStar = UNTRACED REF XCreateWindowEvent; TYPE XDestroyWindowEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) event: Window; window: Window END; XDestroyWindowEventStar = UNTRACED REF XDestroyWindowEvent; TYPE XUnmapEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) event: Window; window: Window; from_configure: Bool END; XUnmapEventStar = UNTRACED REF XUnmapEvent; TYPE XMapEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) event: Window; window: Window; override_redirect: Bool (* boolean, is override set... *) END; XMapEventStar = UNTRACED REF XMapEvent; TYPE XMapRequestEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) parent: Window; window: Window END; XMapRequestEventStar = UNTRACED REF XMapRequestEvent; TYPE XReparentEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) event: Window; window: Window; parent: Window; x, y: Int; override_redirect: Bool END; XReparentEventStar = UNTRACED REF XReparentEvent; TYPE XConfigureEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) event: Window; window: Window; x, y: Int; width, height: Int; border_width: Int; above: Window; override_redirect: Bool END; XConfigureEventStar = UNTRACED REF XConfigureEvent; TYPE XGravityEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) event: Window; window: Window; x, y: Int END; XGravityEventStar = UNTRACED REF XGravityEvent; TYPE XResizeRequestEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; width, height: Int END; XResizeRequestEventStar = UNTRACED REF XResizeRequestEvent; TYPE XConfigureRequestEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) parent: Window; window: Window; x, y: Int; width, height: Int; border_width: Int; above: Window; detail: Int; (* Above, Below, TopIf, BottomIf, Opposite *) value_mask: unsigned_long END; XConfigureRequestEventStar = UNTRACED REF XConfigureRequestEvent; TYPE XCirculateEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) event: Window; window: Window; place: Int (* PlaceOnTop, PlaceOnBottom *) END; XCirculateEventStar = UNTRACED REF XCirculateEvent; TYPE XCirculateRequestEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) parent: Window; window: Window; place: Int (* PlaceOnTop, PlaceOnBottom *) END; XCirculateRequestEventStar = UNTRACED REF XCirculateRequestEvent; TYPE XPropertyEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; atom: Atom; time: Time; state: Int (* NewValue, Deleted *) END; XPropertyEventStar = UNTRACED REF XPropertyEvent; TYPE XSelectionClearEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; selection: Atom; time: Time END; XSelectionClearEventStar = UNTRACED REF XSelectionClearEvent; TYPE XSelectionRequestEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) owner: Window; requestor: Window; selection: Atom; target: Atom; property: Atom; time: Time END; XSelectionRequestEventStar = UNTRACED REF XSelectionRequestEvent; TYPE XSelectionEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) requestor: Window; selection: Atom; target: Atom; property: Atom; (* ATOM or None *) time: Time END; XSelectionEventStar = UNTRACED REF XSelectionEvent; TYPE XColormapEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; colormap: Colormap; (* COLORMAP or None *) new: Bool; state: Int (* ColormapInstalled, ColormapUninstalled *) END; XColormapEventStar = UNTRACED REF XColormapEvent; TYPE XClientMessageEvent = RECORD type: int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; message_type: Atom; format: int; alignment: ARRAY [0..-1] OF long; data: ARRAY [0..MAX (20 * BYTESIZE (char), MAX (10 * BYTESIZE (short), 5 * BYTESIZE (long))) - 1] OF char; END; XClientMessageEvent_b = RECORD type: int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; message_type: Atom; format: int; alignment: ARRAY [0..-1] OF long; data: ARRAY [0.. 19] OF char; END; XClientMessageEvent_s = RECORD type: int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; message_type: Atom; format: int; alignment: ARRAY [0..-1] OF long; data: ARRAY [0..9] OF short; END; XClientMessageEvent_l = RECORD type: int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; message_type: Atom; format: int; data: ARRAY [0..4] OF long; END; XClientMessageEventStar = UNTRACED REF XClientMessageEvent; XClientMessageEvent_b_star = UNTRACED REF XClientMessageEvent_b; XClientMessageEvent_s_star = UNTRACED REF XClientMessageEvent_s; XClientMessageEvent_l_star = UNTRACED REF XClientMessageEvent_l; TYPE XMappingEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window; (* unused *) request: Int; (* one of MappingModifier, MappingKeyboard, MappingPointer *) first_keycode: Int; (* first keycode *) count: Int (* defines range of change w. first_keycode*) END; XMappingEventStar = UNTRACED REF XMappingEvent; TYPE XErrorEvent = RECORD type: Int; display: DisplayStar; (* Display the event was read from *) resourceid: XID; (* resource id *) serial: unsigned_long; (* serial number of failed request *) error_code: unsigned_char; (* error code of failed request *) request_code: unsigned_char;(* Major op-code of failed request *) minor_code: unsigned_char (* Minor op-code of failed request *) END; XErrorEventStar = UNTRACED REF XErrorEvent; TYPE XAnyEvent = RECORD type: Int; serial: unsigned_long; (* # of last request processed by server *) send_event: Bool; (* true if this came from a SendEvent request *) display: DisplayStar; (* Display the event was read from *) window: Window (* window on which event was requested in event mask *) END; XAnyEventStar = UNTRACED REF XAnyEvent;
* This type is defined so Xlib can always use the same sized * event structure internally, to avoid memory fragmentation.
CONST XEventSize = MAX (BYTESIZE (Int), MAX (BYTESIZE (XAnyEvent), MAX (BYTESIZE (XKeyEvent), MAX (BYTESIZE (XButtonEvent), MAX (BYTESIZE (XMotionEvent), MAX (BYTESIZE (XCrossingEvent), MAX (BYTESIZE (XFocusChangeEvent), MAX (BYTESIZE (XExposeEvent), MAX (BYTESIZE (XGraphicsExposeEvent), MAX (BYTESIZE (XNoExposeEvent), MAX (BYTESIZE (XVisibilityEvent), MAX (BYTESIZE (XCreateWindowEvent), MAX (BYTESIZE (XDestroyWindowEvent), MAX (BYTESIZE (XUnmapEvent), MAX (BYTESIZE (XMapEvent), MAX (BYTESIZE (XMapRequestEvent), MAX (BYTESIZE (XReparentEvent), MAX (BYTESIZE (XConfigureEvent), MAX (BYTESIZE (XGravityEvent), MAX (BYTESIZE (XResizeRequestEvent), MAX (BYTESIZE (XConfigureRequestEvent), MAX (BYTESIZE (XCirculateEvent), MAX (BYTESIZE (XCirculateRequestEvent), MAX (BYTESIZE (XPropertyEvent), MAX (BYTESIZE (XSelectionClearEvent), MAX (BYTESIZE (XSelectionRequestEvent), MAX (BYTESIZE (XSelectionEvent), MAX (BYTESIZE (XColormapEvent), MAX (BYTESIZE (XClientMessageEvent), MAX (BYTESIZE (XMappingEvent), MAX (BYTESIZE (XErrorEvent), MAX (BYTESIZE (XKeymapEvent), BYTESIZE (ARRAY [1..24] OF Long))))))))))))))))))))))))))))))))); TYPE XEvent = ARRAY [0 .. XEventSize - 1] OF Char; XEventStar = UNTRACED REF XEvent;
* _QEvent datatype for use in input queueing.
TYPE XQEvent = RECORD next: XQEventStar; event: XEvent END; XQEventStar = UNTRACED REF XQEvent;?!?!?! #define XAllocID(dpy) (( *(dpy)->resource_alloc)((dpy))) ?!?!?!
* per character font metric information.
TYPE XCharStruct = RECORD lbearing: Short; (* origin to left edge of raster *) rbearing: Short; (* origin to right edge of raster *) width: Short; (* advance to next char's origin *) ascent: Short; (* baseline to top edge of raster *) descent: Short; (* baseline to bottom edge of raster *) attributes: unsigned_short (* per char flags (not predefined) *) END; XCharStructStar = UNTRACED REF XCharStruct;
* To allow arbitrary information with fonts, there are additional properties * returned.
TYPE XFontProp = RECORD name: Atom; card32: unsigned_long; END; XFontPropStar = UNTRACED REF XFontProp; XFontStruct = RECORD ext_data: XExtDataStar; (* hook for extension to hang data *) fid: Font; (* Font id for this font *) direction: unsigned_int; (* hint about direction the font is painted *) min_char_or_byte2: unsigned_int;(* first character *) max_char_or_byte2: unsigned_int;(* last character *) min_byte1: unsigned_int; (* first row that exists *) max_byte1: unsigned_int; (* last row that exists *) all_chars_exist: Bool;(* flag if all characters have non-zero size*) default_char: unsigned_int; (* char to print for undefined character *) n_properties: Int; (* how many properties there are *) properties: XFontPropStar; (* pointer to array of additional properties*) min_bounds: XCharStruct; (* minimum bounds over all existing char *) max_bounds: XCharStruct; (* maximum bounds over all existing char *) per_char: XCharStructStar; (* first_char to last_char information *) ascent: Int; (* log. extent above baseline for spacing *) descent: Int; (* log. descent below baseline for spacing *) END; XFontStructStar = UNTRACED REF XFontStruct; XFontStructStarStar = UNTRACED REF XFontStructStar;
* PolyText routines take these as arguments.
TYPE XTextItem = RECORD chars: char_star; (* pointer to string *) nchars: Int; (* number of characters *) delta: Int; (* delta between strings *) font: Font; (* font to print it in, None don't change *) END; XChar2b = RECORD byte1: unsigned_char; byte2: unsigned_char; END; XTextItem16 = RECORD chars: XChar2bStar; (* two byte characters *) nchars: Int; (* number of characters *) delta: Int; (* delta between strings *) font: Font; (* font to print it in, None don't change *) END; TYPE XTextItemStar = UNTRACED REF XTextItem; XChar2bStar = UNTRACED REF XChar2b; XTextItem16Star = UNTRACED REF XTextItem16;?!?!?! typedef union { DisplayStar display; GC gc; VisualStar visual; ScreenStar screen; ScreenFormatStar pixmap_format; XFontStructStar font; } XEDataObject; ?!?!?!
TYPE XEDataObject = ADDRESS; <*EXTERNAL*> PROCEDURE XLoadQueryFont( display: DisplayStar; name: const_char_star ): XFontStructStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryFont( display: DisplayStar; font: XID ): XFontStructStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetMotionEvents( display: DisplayStar; w: Window; start: Time; stop: Time; nevents: int_star ): XTimeCoordStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XDeleteModifiermapEntry( modmap: XModifierKeymapStar; keycode: unsigned_int ): XModifierKeymapStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetModifierMapping( display: DisplayStar ): XModifierKeymapStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XInsertModifiermapEntry( modmap: XModifierKeymapStar; keycode: KeyCode ): XModifierKeymapStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XNewModifiermap( max: Int ): XModifierKeymapStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreateImage( display: DisplayStar; visual: VisualStar; depth: unsigned_int; format: Int; offset: Int; data: char_star; width: unsigned_int; height: unsigned_int; bitmap: Int; bytes: Int ): XImageStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetImage( display: DisplayStar; d: Drawable; x: Int; y: Int; width: unsigned_int; height: unsigned_int; plane: unsigned_long; format: Int ): XImageStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetSubImage( display: DisplayStar; d: Drawable; x: Int; y: Int; width: unsigned_int; height: unsigned_int; plane: unsigned_long; format: Int; dest_image: XImageStar; dest_x: Int; dest_y: Int ): XImageStar RAISES {Error};
* X function declarations.
<*EXTERNAL*> PROCEDURE XOpenDisplay( display: const_char_star; ): DisplayStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XrmInitialize( ); <*EXTERNAL*> PROCEDURE XFetchBytes( display: DisplayStar; nbytes: int_star ): char_star RAISES {Error}; <*EXTERNAL*> PROCEDURE XFetchBuffer( display: DisplayStar; nbytes: int_star; buffer: Int ): char_star RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetAtomName( display: DisplayStar; atom: Atom ): char_star RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetDefault( display: DisplayStar; program: const_char_star; option: const_char_star ): char_star RAISES {Error}; <*EXTERNAL*> PROCEDURE XDisplayName( string: const_char_star; ): char_star RAISES {Error}; <*EXTERNAL*> PROCEDURE XKeysymToString( keysym: KeySym; ): char_star RAISES {Error}; TYPE XSynchronize = PROCEDURE ( display: DisplayStar; onoff: Bool ): Int RAISES {Error}; TYPE XSetLocalProc = PROCEDURE (display: DisplayStar): Int; XSetAfterFunction = PROCEDURE (display: DisplayStar; procedure: XSetLocalProc ): Int; <*EXTERNAL*> PROCEDURE XInternAtom( display: DisplayStar; atom: const_char_star; only: Bool ): Atom RAISES {Error}; <*EXTERNAL*> PROCEDURE XCopyColormapAndFree( display: DisplayStar; colormap: Colormap ): Colormap RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreateColormap( display: DisplayStar; w: Window; visual: VisualStar; alloc: Int ): Colormap RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreatePixmapCursor( display: DisplayStar; source: Pixmap; mask: Pixmap; foreground: XColorStar; background: XColorStar; x: unsigned_int; y: unsigned_int ): Cursor RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreateGlyphCursor( display: DisplayStar; source_font: Font; mask_font: Font; source_char: unsigned_int; mask_char: unsigned_int; foreground: XColorStar; background: XColorStar ): Cursor RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreateFontCursor( display: DisplayStar; shape: unsigned_int ): Cursor RAISES {Error}; <*EXTERNAL*> PROCEDURE XLoadFont( display: DisplayStar; name: const_char_star ): Font RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreateGC( display: DisplayStar; d: Drawable; valuemask: unsigned_long; values: XGCValuesStar ): GC RAISES {Error}; <*EXTERNAL*> PROCEDURE XGContextFromGC( gc: GC ): GContext RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreatePixmap( display: DisplayStar; d: Drawable; width: unsigned_int; height: unsigned_int; depth: unsigned_int ): Pixmap RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreateBitmapFromData( display: DisplayStar; d: Drawable; data: const_char_star; width: unsigned_int; height: unsigned_int ): Pixmap RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreatePixmapFromBitmapData( display: DisplayStar; d: Drawable; data: char_star; width: unsigned_int; height: unsigned_int; fg: unsigned_long; bg: unsigned_long; depth: unsigned_int ): Pixmap RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreateSimpleWindow( display: DisplayStar; parent: Window; x: Int; y: Int; width: unsigned_int; height: unsigned_int; border_width: unsigned_int; border: unsigned_long; background: unsigned_long ): Window RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetSelectionOwner( display: DisplayStar; selection: Atom ): Window RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreateWindow( display: DisplayStar; parent: Window; x: Int; y: Int; width: unsigned_int; height: unsigned_int; border: unsigned_int; depth: Int; class: unsigned_int; visual: VisualStar; valuemask: unsigned_long; attributes: XSetWindowAttributesStar ): Window RAISES {Error}; <*EXTERNAL*> PROCEDURE XListInstalledColormaps( display: DisplayStar; w: Window; num: int_star ): ColormapStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XListFonts( display: DisplayStar; pattern: const_char_star; maxnames: Int; actual: int_star ): char_star_star RAISES {Error}; <*EXTERNAL*> PROCEDURE XListFontsWithInfo( display: DisplayStar; pattern: const_char_star; maxnames: Int; count: int_star; info: XFontStructStarStar ): char_star_star RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetFontPath( display: DisplayStar; npaths: int_star ): char_star_star RAISES {Error}; <*EXTERNAL*> PROCEDURE XListExtensions( display: DisplayStar; nextensions: int_star ): char_star_star RAISES {Error}; <*EXTERNAL*> PROCEDURE XListProperties( display: DisplayStar; w: Window; num: int_star ): AtomStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XListHosts( display: DisplayStar; nhosts: int_star; state: BoolStar; ): XHostAddressStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XKeycodeToKeysym( display: DisplayStar; keycode: KeyCode ): KeySym RAISES {Error}; <*EXTERNAL*> PROCEDURE XLookupKeysym( key: XKeyEventStar; index: Int ): KeySym RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetKeyboardMapping( display: DisplayStar; first: KeyCode; keycode: Int; keysyms: int_star ): KeySymStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XStringToKeysym( string: const_char_star ): KeySym; <*EXTERNAL*> PROCEDURE XMaxRequestSize( display: DisplayStar ): Long; <*EXTERNAL*> PROCEDURE XResourceManagerString( display: DisplayStar ): char_star RAISES {Error}; <*EXTERNAL*> PROCEDURE XDisplayMotionBufferSize( display: DisplayStar ): unsigned_long; <*EXTERNAL*> PROCEDURE XVisualIDFromVisual( visual: VisualStar ): VisualID;routines for dealing with extensions
<*EXTERNAL*> PROCEDURE XInitExtension( display: DisplayStar; name: const_char_star ): XExtCodesStar; <*EXTERNAL*> PROCEDURE XAddExtension( display: DisplayStar ): XExtCodesStar; <*EXTERNAL*> PROCEDURE XFindOnExtensionList( structure: XExtDataStarStar; number: Int ): XExtDataStar; <*EXTERNAL*> PROCEDURE XEHeadOfExtensionList( object: XEDataObject ): XExtDataStarStar;these are routines for which there are also macros
<*EXTERNAL*> PROCEDURE XRootWindow( display: DisplayStar; screen: Int ): Window; <*EXTERNAL*> PROCEDURE XDefaultRootWindow( display: DisplayStar ): Window; <*EXTERNAL*> PROCEDURE XRootWindowOfScreen( screen: ScreenStar ): Window; <*EXTERNAL*> PROCEDURE XDefaultVisual( display: DisplayStar; screen: Int ): VisualStar; <*EXTERNAL*> PROCEDURE XDefaultVisualOfScreen( screen: ScreenStar ): VisualStar; <*EXTERNAL*> PROCEDURE XDefaultGC( display: DisplayStar; screen: Int ): GC; <*EXTERNAL*> PROCEDURE XDefaultGCOfScreen( screen: ScreenStar ): GC; <*EXTERNAL*> PROCEDURE XBlackPixel( display: DisplayStar; screen: Int ): unsigned_long; <*EXTERNAL*> PROCEDURE XWhitePixel( display: DisplayStar; screen: Int ): unsigned_long; <*EXTERNAL*> PROCEDURE XAllPlanes( ): unsigned_long; <*EXTERNAL*> PROCEDURE XBlackPixelOfScreen( screen: ScreenStar ): unsigned_long; <*EXTERNAL*> PROCEDURE XWhitePixelOfScreen( screen: ScreenStar ): unsigned_long; <*EXTERNAL*> PROCEDURE XNextRequest( display: DisplayStar ): unsigned_long;---- double definition ------ <*EXTERNAL*> PROCEDURE XLastKnownRequestProcessed( display: DisplayStar ): unsigned_long;
<*EXTERNAL*> PROCEDURE XServerVendor( display: DisplayStar ): char_star; <*EXTERNAL*> PROCEDURE XDisplayString( display: DisplayStar ): char_star; <*EXTERNAL*> PROCEDURE XDefaultColormap( display: DisplayStar; screen: Int ): Colormap; <*EXTERNAL*> PROCEDURE XDefaultColormapOfScreen( screen: ScreenStar ): Colormap; <*EXTERNAL*> PROCEDURE XDisplayOfScreen( screen: ScreenStar ): DisplayStar; <*EXTERNAL*> PROCEDURE XScreenOfDisplay( display: DisplayStar; screen: Int ): ScreenStar; <*EXTERNAL*> PROCEDURE XDefaultScreenOfDisplay( display: DisplayStar ): ScreenStar; <*EXTERNAL*> PROCEDURE XEventMaskOfScreen( screen: ScreenStar ): Long RAISES {Error}; <*EXTERNAL*> PROCEDURE XScreenNumberOfScreen( screen: ScreenStar ): Int; TYPE XErrorHandler = PROCEDURE ( (* WARNING, this type not in Xlib spec *) display: DisplayStar; error: XErrorEventStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetErrorHandler ( handler: XErrorHandler ): XErrorHandler; TYPE XIOErrorHandler = PROCEDURE ( (* WARNING, this type not in Xlib spec *) display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetIOErrorHandler ( handler: XIOErrorHandler ): XIOErrorHandler; <*EXTERNAL*> PROCEDURE XListPixmapFormats( display: DisplayStar; count: int_star ): XPixmapFormatValuesStar; <*EXTERNAL*> PROCEDURE XListDepths( display: DisplayStar; screen: Int; count: int_star ): int_star;ICCCM routines for things that don't require special include files; other declarations are given in Xutil.h
<*EXTERNAL*> PROCEDURE XReconfigureWMWindow( display: DisplayStar; w: Window; screen: Int; mask: unsigned_int; changes: XWindowChangesStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetWMProtocols( display: DisplayStar; w: Window; protocols: AtomStarStar; count: int_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWMProtocols( display: DisplayStar; w: Window; protocols: AtomStar; count: Int ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XIconifyWindow( display: DisplayStar; w: Window; screen: Int ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XWithdrawWindow( display: DisplayStar; w: Window; screen: Int ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetCommand( display: DisplayStar; w: Window; argv: Argv; argc: int_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetWMColormapWindows( display: DisplayStar; w: Window; windows: WindowStarStar; count: int_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWMColormapWindows( display: DisplayStar; w: Window; colormap: WindowStar; count: Int ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreeStringList( list: char_star_star ): void_star RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetTransientForHint( display: DisplayStar; w: Window; prop: Window ) RAISES {Error};The following are given in alphabetical order
<*EXTERNAL*> PROCEDURE XActivateScreenSaver( display: DisplayStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XAddHost( display: DisplayStar; host: XHostAddressStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XAddHosts( display: DisplayStar; hosts: XHostAddressStar; num: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XAddToExtensionList( structure: ADDRESS; ext: XExtDataStar ); <*EXTERNAL*> PROCEDURE XAddToSaveSet( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XAllocColor( display: DisplayStar; colormap: Colormap; color: XColorStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XAllocColorCells( display: DisplayStar; colormap: Colormap; contig: Bool; plane: unsigned_long_star; nplanes: unsigned_int; pixels: unsigned_long_star; npixels: unsigned_int ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XAllocColorPlanes( display: DisplayStar; colormap: Colormap; contig: Bool; pixels: unsigned_long_star; ncolors: Int; nreds: Int; ngreens: Int; nblues: Int; rmask: unsigned_long_star; gmask: unsigned_long_star; bmask: unsigned_long_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XAllocNamedColor( display: DisplayStar; colormap: Colormap; color: const_char_star; screen: XColorStar; exact: XColorStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XAllowEvents( display: DisplayStar; event: Int; time: Time ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XAutoRepeatOff( display: DisplayStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XAutoRepeatOn( display: DisplayStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XBell( display: DisplayStar; percent: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XBitmapBitOrder( display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XBitmapPad( display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XBitmapUnit( display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XCellsOfScreen( screen: ScreenStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XChangeActivePointerGrab( display: DisplayStar; event: unsigned_int; cursor: Cursor; time: Time ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XChangeGC( display: DisplayStar; gc: GC; valuemask: unsigned_long; values: XGCValuesStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XChangeKeyboardControl( display: DisplayStar; value: unsigned_long; values: XKeyboardControlStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XChangeKeyboardMapping( display: DisplayStar; first: Int; keysyms_per_key: Int; keysyms: KeySymStar; num: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XChangePointerControl( display: DisplayStar; do_accel: Bool; do_threshold: Bool; accel_num: Int; accel_den: Int; threshold: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XChangeProperty( display: DisplayStar; w: Window; property: Atom; type: Atom; format: Int; mode: Int; data: const_unsigned_char_star; nelements: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XChangeSaveSet( display: DisplayStar; w: Window; change: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XChangeWindowAttributes( display: DisplayStar; w: Window; valuemask: unsigned_long; attributes: XSetWindowAttributesStar ) RAISES {Error}; TYPE XIfEventProc = PROCEDURE ( display: DisplayStar; event: XEventStar; arg: char_star ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XCheckIfEvent( display: DisplayStar; event: XEventStar; predicate: XIfEventProc; arg: char_star; ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XCheckMaskEvent( display: DisplayStar; event_mask: Long; event_return: XEventStar ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XCheckTypedEvent( display: DisplayStar; event_type: Int; event_return: XEventStar ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XCheckTypedWindowEvent( display: DisplayStar; w: Window; event_type: Int; event_return: XEventStar ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XCheckWindowEvent( display: DisplayStar; w: Window; event_mask: Long; event_return: XEventStar ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XCirculateSubwindows( display: DisplayStar; w: Window; direction: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XCirculateSubwindowsDown( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XCirculateSubwindowsUp( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XClearArea( display: DisplayStar; w: Window; x: Int; y: Int; width: unsigned_int; height: unsigned_int; exposures: Bool ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XClearWindow( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XCloseDisplay( display: DisplayStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XConfigureWindow( display: DisplayStar; w: Window; value: unsigned_int; values: XWindowChangesStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XConnectionNumber( display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XConvertSelection( display: DisplayStar; selection: Atom; target: Atom; property: Atom; requestor: Window; time: Time ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XCopyArea( display: DisplayStar; src: Drawable; dest: Drawable; gc: GC; src_x: Int; src_y: Int; width: unsigned_int; height: unsigned_int; dest_x: Int; dest_y: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XCopyGC( display: DisplayStar; src: GC; valuemask: unsigned_long; dest: GC ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XCopyPlane( display: DisplayStar; src: Drawable; dest: Drawable; gc: GC; src_x: Int; src_y: Int; width: unsigned_int; height: unsigned_int; dest_x: Int; dest_y: Int; plane: unsigned_long ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDefaultDepth( display: DisplayStar; screen: Int ): Int; <*EXTERNAL*> PROCEDURE XDefaultDepthOfScreen( screen: ScreenStar ): Int; <*EXTERNAL*> PROCEDURE XDefaultScreen( display: DisplayStar ): Int; <*EXTERNAL*> PROCEDURE XDefineCursor( display: DisplayStar; w: Window; cursor: Cursor ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDeleteProperty( display: DisplayStar; w: Window; property: Atom ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDestroyWindow( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDestroySubwindows( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDoesBackingStore( screen: ScreenStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XDoesSaveUnders( screen: ScreenStar ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XDisableAccessControl( display: DisplayStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDisplayCells( display: DisplayStar; screen: Int ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XDisplayHeight( display: DisplayStar; screen: Int ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XDisplayHeightMM( display: DisplayStar; screen: Int ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XDisplayKeycodes( display: DisplayStar; min: int_star; max: int_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDisplayPlanes( display: DisplayStar; screen: Int ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XDisplayWidth( display: DisplayStar; screen: Int ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XDisplayWidthMM( display: DisplayStar; screen: Int ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawArc( display: DisplayStar; d: Drawable; gc: GC; x: Int; y: Int; width: unsigned_int; height: unsigned_int; angle1: Int; angle2: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawArcs( display: DisplayStar; d: Drawable; gc: GC; arcs: XArcStar; narcs: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawImageString( display: DisplayStar; d: Drawable; gc: GC; x: Int; y: Int; string: const_char_star; length: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawImageString16( display: DisplayStar; d: Drawable; gc: GC; x: Int; y: Int; string: XChar2bStar; length: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawLine( display: DisplayStar; d: Drawable; gc: GC; x1: Int; x2: Int; y1: Int; y2: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawLines( display: DisplayStar; d: Drawable; gc: GC; points: XPoint_star; npoints: Int; mode: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawPoint( display: DisplayStar; d: Drawable; gc: GC; x: Int; y: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawPoints( display: DisplayStar; d: Drawable; gc: GC; points: XPoint_star; npoints: Int; mode: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawRectangle( display: DisplayStar; d: Drawable; gc: GC; x: Int; y: Int; width: unsigned_int; height: unsigned_int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawRectangles( display: DisplayStar; d: Drawable; gc: GC; rectangles: XRectangleStar; nrectangles: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawSegments( display: DisplayStar; d: Drawable; gc: GC; segments: XSegmentStar; nsegments: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawString( display: DisplayStar; d: Drawable; gc: GC; x: Int; y: Int; string: const_char_star; length: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawString16( display: DisplayStar; d: Drawable; gc: GC; x: Int; y: Int; string: XChar2bStar; length: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawText( display: DisplayStar; d: Drawable; gc: GC; x: Int; y: Int; items: XTextItemStar; nitems: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XDrawText16( display: DisplayStar; d: Drawable; gc: GC; x: Int; y: Int; items: XTextItem16Star; nitems: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XEnableAccessControl( display: DisplayStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XEventsQueued( display: DisplayStar; mode: Int ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XFetchName( display: DisplayStar; w: Window; window: char_star_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XFillArc( display: DisplayStar; d: Drawable; gc: GC; x: Int; y: Int; width: unsigned_int; height: unsigned_int; angle1: Int; angle2: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFillArcs( display: DisplayStar; d: Drawable; gc: GC; arcs: XArcStar; narcs: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFillPolygon( display: DisplayStar; d: Drawable; gc: GC; points: XPoint_star; npoints: Int; shape: Int; mode: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFillRectangle( display: DisplayStar; d: Drawable; gc: GC; x: Int; y: Int; width: unsigned_int; height: unsigned_int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFillRectangles( display: DisplayStar; d: Drawable; gc: GC; rectangles: XRectangleStar; nrectangles: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFlush( display: DisplayStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XForceScreenSaver( display: DisplayStar; mode: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFree( data: char_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreeColormap( display: DisplayStar; colormap: Colormap ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreeColors( display: DisplayStar; colormap: Colormap; pixels: unsigned_long_star; npixels: Int; planes: unsigned_long ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreeCursor( display: DisplayStar; cursor: Cursor ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreeExtensionList( list: char_star_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreeFont( display: DisplayStar; font: XFontStructStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreeFontInfo( names: char_star_star; free: XFontStructStar; actual: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreeFontNames( list: char_star_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreeFontPath( list: char_star_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreeGC( display: DisplayStar; gc: GC ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreeModifiermap( modmap: XModifierKeymapStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XFreePixmap( display: DisplayStar; pixmap: Pixmap ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XGeometry( display: DisplayStar; screen: Int; position: const_char_star; default: const_char_star; bwidth: unsigned_int; fwidth: unsigned_int; fheight: unsigned_int; xadder: Int; yadder: Int; x: int_star; y: int_star; width: int_star; height: int_star ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetErrorDatabaseText( display: DisplayStar; name: const_char_star; message: const_char_star; default: const_char_star; buffer: char_star; length: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetErrorText( display: DisplayStar; code: Int; buffer: char_star; length: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetFontProperty( font: XFontStructStar; atom: Atom; value: unsigned_long_star ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetGCValues( display: DisplayStar; gc: GC; valuemask: unsigned_long; values: XGCValuesStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetGeometry( display: DisplayStar; d: Drawable; root: WindowStar; x: int_star; y: int_star; width: unsigned_int_star; height: unsigned_int_star; border: unsigned_int_star; depth: unsigned_int_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetIconName( display: DisplayStar; w: Window; icon: char_star_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetInputFocus( display: DisplayStar; focus: WindowStar; revert: int_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetKeyboardControl( display: DisplayStar; values: XKeyboardStateStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetPointerControl( display: DisplayStar; accel_num_ret: int_star; accel_den_ret: int_star; threshold_ret: int_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetPointerMapping( display: DisplayStar; map: unsigned_char_star; nmap: Int ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetScreenSaver( display: DisplayStar; timeout: int_star; interval: int_star; prefer: int_star; allow: int_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetTransientForHint( display: DisplayStar; w: Window; prop: WindowStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetWindowProperty( display: DisplayStar; w: Window; property: Atom; long_offset: Long; long_length: Long; delete: Bool; req: Atom; actual_type: AtomStar; actual_format: int_star; nitems: unsigned_long_star; bytes: unsigned_long_star; prop: unsigned_char_star_star ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetWindowAttributes( display: DisplayStar; w: Window; window: XWindowAttributesStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGrabButton( display: DisplayStar; button: unsigned_int; modifiers: unsigned_int; grab: Window; owner: Bool; event: unsigned_int; pointer: Int; keyboard: Int; confine: Window; cursor: Cursor ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XGrabKey( display: DisplayStar; keycode: Int; modifiers: unsigned_int; grab: Window; owner: Bool; pointer: Int; keyboard: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XGrabKeyboard( display: DisplayStar; grab: Window; owner: Bool; pointer: Int; keyboard: Int; time: Time ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XGrabPointer( display: DisplayStar; grab: Window; owner: Bool; event: unsigned_int; pointer: Int; keyboard: Int; confine: Window; cursor: Cursor; time: Time ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XGrabServer( display: DisplayStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XHeightMMOfScreen( screen: ScreenStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XHeightOfScreen( screen: ScreenStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XIfEvent( display: DisplayStar; event: XEventStar; predicate: XIfEventProc; arg: char_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XImageByteOrder( display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XInstallColormap( display: DisplayStar; colormap: Colormap ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XKeysymToKeycode( display: DisplayStar; keysym: KeySym ): KeyCode RAISES {Error}; <*EXTERNAL*> PROCEDURE XKillClient( display: DisplayStar; resource: XID ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XLastKnownRequestProcessed( display: DisplayStar ): unsigned_long RAISES {Error}; <*EXTERNAL*> PROCEDURE XLookupColor( display: DisplayStar; colormap: Colormap; color: const_char_star; exact: XColorStar; screen: XColorStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XLowerWindow( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XMapRaised( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XMapSubwindows( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XMapWindow( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XMaskEvent( display: DisplayStar; event_mask: Long; event_return: XEventStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XMaxCmapsOfScreen( screen: ScreenStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XMinCmapsOfScreen( screen: ScreenStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XMoveResizeWindow( display: DisplayStar; w: Window; x: Int; y: Int; width: unsigned_int; height: unsigned_int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XMoveWindow( display: DisplayStar; w: Window; x: Int; y: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XNextEvent( display: DisplayStar; event: XEventStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XNoOp( display: DisplayStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XParseColor( display: DisplayStar; colormap: Colormap; spec: const_char_star; exact: XColorStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XParseGeometry( parsestring: const_char_star; x: int_star; y: int_star; width: unsigned_int_star; height: unsigned_int_star ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XPeekEvent( display: DisplayStar; event: XEventStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XPeekIfEvent( display: DisplayStar; event: XEventStar; predicate: XIfEventProc; arg: char_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XPending( display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XPlanesOfScreen( screen: ScreenStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XProtocolRevision( display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XProtocolVersion( display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XPutBackEvent( display: DisplayStar; event: XEventStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XPutImage( display: DisplayStar; d: Drawable; gc: GC; image: XImageStar; src_x: Int; src_y: Int; dest_x: Int; dest_y: Int; width: unsigned_int; height: unsigned_int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XQLength( display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryBestCursor( display: DisplayStar; d: Drawable; width: unsigned_int; height: unsigned_int; width_return: unsigned_int_star; height_return: unsigned_int_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryBestSize( display: DisplayStar; class: Int; which: Drawable; width: unsigned_int; height: unsigned_int; width_return: unsigned_int_star; height_return: unsigned_int_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryBestStipple( display: DisplayStar; which: Drawable; width: unsigned_int; height: unsigned_int; width_return: unsigned_int_star; height_return: unsigned_int_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryBestTile( display: DisplayStar; which: Drawable; width: unsigned_int; height: unsigned_int; width_return: unsigned_int_star; height_return: unsigned_int_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryColor( display: DisplayStar; colormap: Colormap; def: XColorStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryColors( display: DisplayStar; colormap: Colormap; defs: XColorStar; ncolors: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryExtension( display: DisplayStar; name: const_char_star; major_opcode: int_star; first_event: int_star; first_error: int_star ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryKeymap( display: DisplayStar; keys: Char ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryPointer( display: DisplayStar; w: Window; root: WindowStar; child: WindowStar; root_x: int_star; root_y: int_star; win_x: int_star; win_y: int_star; mask: unsigned_int_star ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryTextExtents( display: DisplayStar; font_ID: XID; string: const_char_star; nchars: Int; direction: int_star; font_ascent: int_star; font_descent: int_star; overall: XCharStructStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryTextExtents16( display: DisplayStar; font_ID: XID; string: XChar2bStar; nchars: Int; direction: int_star; font_ascent: int_star; font_descent: int_star; overall: XCharStructStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XQueryTree( display: DisplayStar; w: Window; root: WindowStar; parent: WindowStar; children: WindowStarStar; nchildren: unsigned_int_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XRaiseWindow( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XReadBitmapFile( display: DisplayStar; d: Drawable; filename: const_char_star; width: unsigned_int_star; height: unsigned_int_star; bitmap: PixmapStar; x: int_star; y: int_star ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XRebindKeysym( display: DisplayStar; keysym: KeySym; list: KeySymStar; mod: Int; string: const_unsigned_char_star; bytes: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XRecolorCursor( display: DisplayStar; cursor: Cursor; foreground: XColorStar; background: XColorStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XRefreshKeyboardMapping( event: XMappingEventStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XRemoveFromSaveSet( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XRemoveHost( display: DisplayStar; host: XHostAddressStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XRemoveHosts( display: DisplayStar; hosts: XHostAddressStar; num: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XReparentWindow( display: DisplayStar; w: Window; parent: Window; x: Int; y: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XResetScreenSaver( display: DisplayStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XResizeWindow( display: DisplayStar; w: Window; width: unsigned_int; height: unsigned_int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XRestackWindows( display: DisplayStar; windows: WindowStar; nwindows: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XRotateBuffers( display: DisplayStar; rotate: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XRotateWindowProperties( display: DisplayStar; w: Window; properties: AtomStar; num: Int; npositions: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XScreenCount( display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XSelectInput( display: DisplayStar; w: Window; event: Long ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSendEvent( display: DisplayStar; w: Window; propagate: Bool; event_mask: Long; event_send: XEventStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetAccessControl( display: DisplayStar; mode: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetArcMode( display: DisplayStar; gc: GC; arc: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetBackground( display: DisplayStar; gc: GC; background: unsigned_long ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetClipMask( display: DisplayStar; gc: GC; pixmap: Pixmap ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetClipOrigin( display: DisplayStar; gc: GC; clip_x: Int; clip_y: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetClipRectangles( display: DisplayStar; gc: GC; clip_x: Int; clip_y: Int; rectangles: XRectangleStar; n: Int; ordering: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetCloseDownMode( display: DisplayStar; close: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetCommand( display: DisplayStar; w: Window; argv: Argv; argc: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetDashes( display: DisplayStar; gc: GC; dash_offset: Int; dash_list: const_char_star; n: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetFillRule( display: DisplayStar; gc: GC; fill: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetFillStyle( display: DisplayStar; gc: GC; fill: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetFont( display: DisplayStar; gc: GC; font: Font ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetFontPath( display: DisplayStar; directories: char_star_star; ndirs: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetForeground( display: DisplayStar; gc: GC; foreground: unsigned_long ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetFunction( display: DisplayStar; gc: GC; function: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetGraphicsExposures( display: DisplayStar; gc: GC; graphics: Bool ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetIconName( display: DisplayStar; w: Window; icon: const_char_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetInputFocus( display: DisplayStar; focus: Window; revert_to: Int; time: Time ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetLineAttributes( display: DisplayStar; gc: GC; line_width: unsigned_int; line_style: Int; cap_style: Int; join_style: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetModifierMapping( display: DisplayStar; modmap: XModifierKeymapStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetPlaneMask( display: DisplayStar; gc: GC; plane: unsigned_long ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetPointerMapping( display: DisplayStar; map: const_unsigned_char_star; nmap: Int ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetScreenSaver( display: DisplayStar; timeout: Int; interval: Int; prefer: Int; allow: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetSelectionOwner( display: DisplayStar; selection: Atom; owner: Window; time: Time ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetState( display: DisplayStar; gc: GC; foreground: unsigned_long; background: unsigned_long; function: Int; plane: unsigned_long ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetStipple( display: DisplayStar; gc: GC; stipple: Pixmap ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetSubwindowMode( display: DisplayStar; gc: GC; subwindow: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetTSOrigin( display: DisplayStar; gc: GC; ts_x_origin: Int; ts_y_origin: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetTile( display: DisplayStar; gc: GC; tile: Pixmap ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWindowBackground( display: DisplayStar; w: Window; background: unsigned_long ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWindowBackgroundPixmap( display: DisplayStar; w: Window; background: Pixmap ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWindowBorder( display: DisplayStar; w: Window; border: unsigned_long ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWindowBorderPixmap( display: DisplayStar; w: Window; border: Pixmap ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWindowBorderWidth( display: DisplayStar; w: Window; width: unsigned_int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWindowColormap( display: DisplayStar; w: Window; colormap: Colormap ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XStoreBuffer( display: DisplayStar; bytes: const_char_star; nbytes: Int; buffer: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XStoreBytes( display: DisplayStar; bytes: const_char_star; nbytes: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XStoreColor( display: DisplayStar; colormap: Colormap; color: XColorStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XStoreColors( display: DisplayStar; colormap: Colormap; color: XColorStar; ncolors: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XStoreName( display: DisplayStar; w: Window; window: const_char_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XStoreNamedColor( display: DisplayStar; colormap: Colormap; color: const_char_star; pixel: unsigned_long; flags: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSync( display: DisplayStar; discard: Bool ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XTextExtents( font: XFontStructStar; string: const_char_star; nchars: Int; direction_ret: int_star; font_ascent_ret: int_star; font_descent_ret: int_star; overall_ret: XCharStructStar ); <*EXTERNAL*> PROCEDURE XTextExtents16( font: XFontStructStar; string: XChar2bStar; nchars: Int; direction: int_star; font_ascent: int_star; font_descent: int_star; overall: XCharStructStar ); <*EXTERNAL*> PROCEDURE XTextWidth( font: XFontStructStar; string: const_char_star; count: Int ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XTextWidth16( font: XFontStructStar; string: XChar2bStar; count: Int ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XTranslateCoordinates( display: DisplayStar; src_w: Window; dest_w: Window; src_x: Int; src_y: Int; dest_x_return: int_star; dest_y_return: int_star; child_return: WindowStar ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XUndefineCursor( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XUngrabButton( display: DisplayStar; button: unsigned_int; modifiers: unsigned_int; grab: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XUngrabKey( display: DisplayStar; keycode: Int; modifiers: unsigned_int; grab: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XUngrabKeyboard( display: DisplayStar; time: Time ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XUngrabPointer( display: DisplayStar; time: Time ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XUngrabServer( display: DisplayStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XUninstallColormap( display: DisplayStar; colormap: Colormap ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XUnloadFont( display: DisplayStar; font: Font ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XUnmapSubwindows( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XUnmapWindow( display: DisplayStar; w: Window ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XVendorRelease( display: DisplayStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XWarpPointer( display: DisplayStar; src_w: Window; dest_w: Window; src_x: Int; src_y: Int; src_width: unsigned_int; src_height: unsigned_int; dest_x: Int; dest_y: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XWidthMMOfScreen( screen: ScreenStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XWidthOfScreen( screen: ScreenStar ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XWindowEvent( display: DisplayStar; w: Window; event_mask: Long; event_return: XEventStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XWriteBitmapFile( display: DisplayStar; filename: char_star; bitmap: Pixmap; width: unsigned_int; height: unsigned_int; x_hot: Int; y_hot: Int ): Int RAISES {Error};**************************************************************
/usr/include/X11/Xutil.h
/* $XConsortium: Xutil.h,v 11.58 89/12/12 20:15:40 jim Exp $ */ **************************************************************
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding * value (x, y, width, height) was found in the parsed string.
CONST NoValue = 16_0000; XValue = 16_0001; YValue = 16_0002; WidthValue = 16_0004; HeightValue = 16_0008; AllValues = 16_000F; XNegative = 16_0010; YNegative = 16_0020;
* new version containing base_width, base_height, and win_gravity fields; * used with WM_NORMAL_HINTS.
TYPE XSizeHints = RECORD flags: Long; (* marks which fields in this structure are defined *) x, y: Int; (* obsolete for new window mgrs, but clients *) width, height: Int; (* should set so old wm's don't mess up *) min_width, min_height: Int; max_width, max_height: Int; width_inc, height_inc: Int; min_aspect, max_aspect: RECORD x: Int; (* numerator *) y: Int; (* denominator *) END; base_width, base_height: Int; (* added by ICCCM version 1 *) win_gravity: Int; (* added by ICCCM version 1 *) END; XSizeHintsStar = UNTRACED REF XSizeHints;
* The next block of definitions are for window manager properties that * clients and applications use for communication.
flags argument in size hints
CONST USPosition = Word.Shift(1, 0); (* user specified x, y *) USSize = Word.Shift(1, 1); (* user specified width, height *) PPosition = Word.Shift(1, 2); (* program specified position *) PSize = Word.Shift(1, 3); (* program specified size *) PMinSize = Word.Shift(1, 4); (* program specified minimum size *) PMaxSize = Word.Shift(1, 5); (* program specified maximum size *) PResizeInc = Word.Shift(1, 6); (* program specified resize increments *) PAspect = Word.Shift(1, 7); (* program specified min and max aspect ratios *) PBaseSize = Word.Shift(1, 8); (* program specified base for incrementing *) PWinGravity = Word.Shift(1, 9); (* program specified window gravity *)?!?!?! (* obsolete
#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect) ?!?!?!?!*) TYPE XWMHints = RECORD flags: Long; (* marks which fields in this structure are defined *) input: Bool; (* does this application rely on the window manager to get keyboard input? *) initial_state: Int; (* see below *) icon_pixmap: Pixmap; (* pixmap to be used as icon *) icon_window: Window; (* window to be used as icon *) icon_x, icon_y: Int; (* initial position of icon *) icon_mask: Pixmap; (* icon mask bitmap *) window_group: XID; (* id of related window group *) (* this structure may be extended in the future *) END; XWMHintsStar = UNTRACED REF XWMHints;definition for flags of XWMHints
CONST InputHint = Word.Shift(1, 0); StateHint = Word.Shift(1, 1); IconPixmapHint = Word.Shift(1, 2); IconWindowHint = Word.Shift(1, 3); IconPositionHint = Word.Shift(1, 4); IconMaskHint = Word.Shift(1, 5); WindowGroupHint = Word.Shift(1, 6); AllHints = Word.Or(InputHint, Word.Or(StateHint, Word.Or(IconPixmapHint, Word.Or(IconWindowHint, Word.Or(IconPositionHint, Word.Or(IconMaskHint, WindowGroupHint))))));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 *)
* new structure for manipulating TEXT properties; used with WM_NAME, * WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
TYPE XTextProperty = RECORD value: unsigned_char_star; (* same as Property routines *) encoding: Atom; (* prop type *) format: Int; (* prop data format: 8, 16, or 32 *) nitems: unsigned_long; (* number of data items in value *) END; XTextPropertyStar = UNTRACED REF XTextProperty; XIconSize = RECORD min_width, min_height: Int; max_width, max_height: Int; width_inc, height_inc: Int END; XIconSizeStar = UNTRACED REF XIconSize; XIconSizeStarStar = UNTRACED REF XIconSizeStar; XClassHint = RECORD res_name: char_star; res_class: char_star END; XClassHint_star = UNTRACED REF XClassHint;?!?!?! (* * These macros are used to give some sugar to the image routines so that * naive people are more comfortable with them.
#define XDestroyImage(ximage) \ (( *((ximage)->f.destroy_image))((ximage))) #define XGetPixel(ximage, x, y) \ (( *((ximage)->f.get_pixel))((ximage), (x), (y))) #define XPutPixel(ximage, x, y, pixel) \ (( *((ximage)->f.put_pixel))((ximage), (x), (y), (pixel))) #define XSubImage(ximage, x, y, width, height) \ (( *((ximage)->f.sub_image))((ximage), (x), (y), (width), (height))) #define XAddPixel(ximage, value) \ (( *((ximage)->f.add_pixel))((ximage), (value))) ?!?!?! *)
* Compose sequence status structure, used in calling XLookupString.
TYPE XComposeStatus = RECORD compose_ptr: char_star; (* state table pointer *) chars_matched: Int; (* match state *) END; XComposeStatusStar = UNTRACED REF XComposeStatus;?!?!?! (* * Keysym macros, used on Keysyms to test for classes of symbols
#define IsKeypadKey(keysym) \ (((unsigned)(keysym) >= XK_KP_Space) && ((unsigned)(keysym) <= XK_KP_Equal)) #define IsCursorKey(keysym) \ (((unsigned)(keysym) >= XK_Home) && ((unsigned)(keysym) < XK_Select)) #define IsPFKey(keysym) \ (((unsigned)(keysym) >= XK_KP_F1) && ((unsigned)(keysym) <= XK_KP_F4)) #define IsFunctionKey(keysym) \ (((unsigned)(keysym) >= XK_F1) && ((unsigned)(keysym) <= XK_F35)) #define IsMiscFunctionKey(keysym) \ (((unsigned)(keysym) >= XK_Select) && ((unsigned)(keysym) < XK_KP_Space)) #define IsModifierKey(keysym) \ (((unsigned)(keysym) >= XK_Shift_L) && ((unsigned)(keysym) <= XK_Hyper_R))
* opaque reference to Region data type
typedef struct _XRegion *Region; ?!?!? *) TYPE Region = ADDRESS;Return values from XRectInRegion()
CONST RectangleOut = 0; RectangleIn = 1; RectanglePart = 2;
* Information used by the visual utility routines to find desired visual * type from the many visuals a display may support.
TYPE XVisualInfo = RECORD visual: VisualStar; visualid: VisualID; screen: Int; depth: Int; class: Int; red_mask: unsigned_long; green_mask: unsigned_long; blue_mask: unsigned_long; colormap_size: Int; bits_per_rgb: Int; END; XVisualInfoStar = UNTRACED REF XVisualInfo; CONST VisualNoMask = 16_0; VisualIDMask = 16_1; VisualScreenMask = 16_2; VisualDepthMask = 16_4; VisualClassMask = 16_8; VisualRedMaskMask = 16_10; VisualGreenMaskMask = 16_20; VisualBlueMaskMask = 16_40; VisualColormapSizeMask = 16_80; VisualBitsPerRGBMask = 16_100; VisualAllMask = 16_1FF;
* This defines a window manager property that clients may use to * share standard color maps of type RGB_COLOR_MAP:
TYPE XStandardColormap = RECORD colormap: Colormap; red_max: unsigned_long; red_mult: unsigned_long; green_max: unsigned_long; green_mult: unsigned_long; blue_max: unsigned_long; blue_mult: unsigned_long; base_pixel: unsigned_long; visualid: VisualID; (* added by ICCCM version 1 *) killid: XID; (* added by ICCCM version 1 *) END; XStandardColormapStar = UNTRACED REF XStandardColormap; XStandardColormapStarStar = UNTRACED REF XStandardColormapStar; CONST ReleaseByFreeingColormap: XID = 1; (* for killid field above *)
* return codes for XReadBitmapFile and XWriteBitmapFile
CONST BitmapSuccess = 0; BitmapOpenFailed = 1; BitmapFileInvalid = 2; BitmapNoMemory = 3;
* Declare the routines that don't return int.
*************************************************************** * * Context Management * ***************************************************************
Associative lookup table return codes
CONST XCSUCCESS = 0; (* No error. *) XCNOMEM = 1; (* Out of memory *) XCNOENT = 2; (* No entry in table *) TYPE XContext = Int;?!?!?!? #define XUniqueContext() ((XContext) XrmUniqueQuark()) #define XStringToContext(string) ((XContext) XrmStringToQuark(string)) ?!?!?!
<*EXTERNAL*> PROCEDURE XSaveContext ( display: DisplayStar; w: Window; context: XContext; data: ADDRESS ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XFindContext ( display: DisplayStar; w: Window; context: XContext; data_return: ADDRESS ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XDeleteContext ( display: DisplayStar; w: Window; context: XContext ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetWMHints ( display: DisplayStar; w: Window ): XWMHintsStar RAISES {Error}; <*EXTERNAL*> PROCEDURE XCreateRegion (): Region; <*EXTERNAL*> PROCEDURE XPolygonRegion ( points: XPoint_star; n: Int; fill_rule: Int ): Region; <*EXTERNAL*> PROCEDURE XGetVisualInfo ( display: DisplayStar; vinfo_mask: Long; vinfo_template: XVisualInfoStar; nitems_return: int_star ): XVisualInfoStar RAISES {Error};Allocation routines for properties that may get longer
<*EXTERNAL*> PROCEDURE XAllocSizeHints (): XSizeHintsStar; <*EXTERNAL*> PROCEDURE XAllocStandardColormap (): XStandardColormapStar; <*EXTERNAL*> PROCEDURE XAllocWMHints (): XWMHintsStar; <*EXTERNAL*> PROCEDURE XAllocClassHint (): XClassHint_star; <*EXTERNAL*> PROCEDURE XAllocIconSize (): XIconSizeStar;ICCCM routines for data structures defined in this file
<*EXTERNAL*> PROCEDURE XGetWMSizeHints ( display: DisplayStar; w: Window; hints_return: XSizeHintsStar; supplied_return: long_star; property: Atom ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetWMNormalHints ( display: DisplayStar; w: Window; hints_return: XSizeHintsStar; supplied_return: long_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetRGBColormaps ( display: DisplayStar; w: Window; stdcmap_return: XStandardColormapStarStar; count_return: int_star; property: Atom ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetTextProperty ( display: DisplayStar; window: Window; text_prop_return: XTextPropertyStar; property: Atom ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetWMName ( display: DisplayStar; w: Window; text_prop_return: XTextPropertyStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetWMIconName ( display: DisplayStar; w: Window; text_prop_return: XTextPropertyStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetWMClientMachine ( display: DisplayStar; w: Window; text_prop_return: XTextPropertyStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWMProperties ( display: DisplayStar; w: Window; window_name: XTextPropertyStar; icon_name: XTextPropertyStar; argv: Argv; argc: Int; normal_hints: XSizeHintsStar; wm_hints: XWMHintsStar; class_hints: XClassHint_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWMSizeHints ( display: DisplayStar; w: Window; hints: XSizeHintsStar; property: Atom ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWMNormalHints ( display: DisplayStar; w: Window; hints: XSizeHintsStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetRGBColormaps ( display: DisplayStar; w: Window; stdcmaps: XStandardColormapStar; count: Int; property: Atom ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetTextProperty ( display: DisplayStar; w: Window; text_prop: XTextPropertyStar; property: Atom ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWMName ( display: DisplayStar; w: Window; text_prop: XTextPropertyStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWMIconName ( display: DisplayStar; w: Window; text_prop: XTextPropertyStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWMClientMachine ( display: DisplayStar; w: Window; text_prop: XTextPropertyStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XStringListToTextProperty ( list: char_star_star; count: Int; text_prop_return: XTextPropertyStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XTextPropertyToStringList ( text_prop: XTextPropertyStar; list_return: char_star_star_star; count_return: int_star ): Status RAISES {Error};The following declarations are alphabetized.
<*EXTERNAL*> PROCEDURE XClipBox ( r: Region; rect_return: XRectangleStar ); <*EXTERNAL*> PROCEDURE XDestroyRegion ( r: Region ); <*EXTERNAL*> PROCEDURE XEmptyRegion ( r: Region ); <*EXTERNAL*> PROCEDURE XEqualRegion ( r1: Region; r2: Region ); <*EXTERNAL*> PROCEDURE XGetClassHint ( display: DisplayStar; w: Window; class_hints_return: XClassHint_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetIconSizes ( display: DisplayStar; w: Window; size_list_return: XIconSizeStarStar; count_return: int_star ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetNormalHints ( display: DisplayStar; w: Window; hints_return: XSizeHintsStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetSizeHints ( display: DisplayStar; w: Window; hints_return: XSizeHintsStar; property: Atom ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetStandardColormap ( display: DisplayStar; w: Window; colormap_return: XStandardColormapStar; property: Atom ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XGetZoomHints ( display: DisplayStar; w: Window; zhints_return: XSizeHintsStar ): Status RAISES {Error}; <*EXTERNAL*> PROCEDURE XIntersectRegion ( sra: Region; srb: Region; dr_return: Region ); <*EXTERNAL*> PROCEDURE XLookupString ( event_struct: XKeyEventStar; buffer_return: char_star; bytes_buffer: Int; keysym_return: KeySymStar; status_in_out: XComposeStatusStar ): Int; <*EXTERNAL*> PROCEDURE XMatchVisualInfo ( display: DisplayStar; screen: Int; depth: Int; class: Int; vinfo_return: XVisualInfoStar ): Status; <*EXTERNAL*> PROCEDURE XOffsetRegion ( r: Region; dx: Int; dy: Int ); <*EXTERNAL*> PROCEDURE XPointInRegion ( r: Region; x: Int; y: Int ): Bool RAISES {Error}; <*EXTERNAL*> PROCEDURE XRectInRegion ( r: Region; x: Int; y: Int; width: unsigned_int; height: unsigned_int ): Int; <*EXTERNAL*> PROCEDURE XSetClassHint ( display: DisplayStar; w: Window; class_hints: XClassHint_star ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetIconSizes ( display: DisplayStar; w: Window; size_list: XIconSizeStar; count: Int ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetNormalHints ( display: DisplayStar; w: Window; hints: XSizeHintsStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetSizeHints ( display: DisplayStar; w: Window; hints: XSizeHintsStar; property: Atom ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetStandardProperties ( display: DisplayStar; w: Window; window_name: const_char_star; icon_name: const_char_star; icon_pixmap: Pixmap; argv: Argv; argc: Int; hints: XSizeHintsStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetWMHints ( display: DisplayStar; w: Window; wm_hints: XWMHintsStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetRegion ( display: DisplayStar; gc: GC; r: Region ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetStandardColormap ( display: DisplayStar; w: Window; colormap: XStandardColormapStar; property: Atom ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XSetZoomHints ( display: DisplayStar; w: Window; zhints: XSizeHintsStar ) RAISES {Error}; <*EXTERNAL*> PROCEDURE XShrinkRegion ( r: Region; dx: Int; dy: Int ); <*EXTERNAL*> PROCEDURE XSubtractRegion ( sra: Region; srb: Region; dr_return: Region ); <*EXTERNAL*> PROCEDURE XUnionRectWithRegion ( rectangle: XRectangleStar; src_region: Region; dest_region_return: Region ); <*EXTERNAL*> PROCEDURE XUnionRegion ( sra: Region; srb: Region; dr_return: Region ); <*EXTERNAL*> PROCEDURE XWMGeometry ( display: DisplayStar; screen_number: Int; user_geometry: const_char_star; default_geometry: const_char_star; border_width: unsigned_int; hints: XSizeHintsStar; x_return: int_star; y_return: int_star; width_return: int_star; height_return: int_star; gravity_return: int_star ): Int RAISES {Error}; <*EXTERNAL*> PROCEDURE XXorRegion ( sra: Region; srb: Region; dr_return: Region ); END X.