See the file COPYRIGHT for a full description. File: Xmu.i3 Last modified on Fri May 7 16:10:27 PDT 1993 by mjordan modified on Fri Feb 28 11:18:24 PST 1992 by kalsow modified on Thu Mar 14 02:37:30 1991 by muller modified on Fri Feb 23 15:26:28 1990 by jerome
UNSAFE INTERFACE============================================================== The X11 R4 Interface for Modula 3 The Miscellaneous Utility Library contains: ../include/Xmu/Atoms.h ../include/Xmu/CharSet.h ../include/Xmu/CloseHook.h ../include/Xmu/Converters.h ../include/Xmu/CurUtil.h ../include/Xmu/CvtCache.h ../include/Xmu/DisplayQue.h ../include/Xmu/Drawing.h ../include/Xmu/Error.h ../include/Xmu/Initer.h ../include/Xmu/Misc.h ../include/Xmu/StdCmap.h ../include/Xmu/StdSel.h ../include/Xmu/SysUtil.h ../include/Xmu/WinUtil.h ../include/Xmu/Xct.h ../include/Xmu/Xmu.h ==============================================================Xmu ;
*
* Copyright 1988 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.
*
* The interfaces described by this header file are for miscellaneous utilities
* and are not part of the Xlib standard.
FROM Ctypes IMPORT char_star, char_star_star, int, int_star, unsigned_int, unsigned_int_star, unsigned_long, unsigned_long_star; FROM X IMPORT Atom, AtomStar, Bool, Colormap, DisplayStar, Drawable, Enumeration, GC, Pixmap, ScreenStar, Status, Time, VisualID, Window; FROM Xt IMPORT AppContext, Boolean, Cardinal, CardinalStar, Pixel, StringStar, Widget; IMPORT X,Xrm; TYPE Int = int;====================================================================== * $XConsortium: Atoms.h,v 1.3 89/12/08 12:03:56 rws Exp $ *======================================================================
TYPE AtomPtr = AtomStar; <* EXTERNAL "_XA_ATOM_PAIR" *> VAR XA_ATOM_PAIR: AtomPtr; <* EXTERNAL "_XA_CHARACTER_POSITION" *> VAR XA_CHARACTER_POSITION: AtomPtr; <* EXTERNAL "_XA_CLASS" *> VAR XA_CLASS: AtomPtr; <* EXTERNAL "_XA_CLIENT_WINDOW" *> VAR XA_CLIENT_WINDOW: AtomPtr; <* EXTERNAL "_XA_CLIPBOARD" *> VAR XA_CLIPBOARD: AtomPtr; <* EXTERNAL "_XA_COMPOUND_TEXT" *> VAR XA_COMPOUND_TEXT: AtomPtr; <* EXTERNAL "_XA_DECNET_ADDRESS" *> VAR XA_DECNET_ADDRESS: AtomPtr; <* EXTERNAL "_XA_DELETE" *> VAR XA_DELETE: AtomPtr; <* EXTERNAL "_XA_FILENAME" *> VAR XA_FILENAME: AtomPtr; <* EXTERNAL "_XA_HOSTNAME" *> VAR XA_HOSTNAME: AtomPtr; <* EXTERNAL "_XA_IP_ADDRESS" *> VAR XA_IP_ADDRESS: AtomPtr; <* EXTERNAL "_XA_LENGTH" *> VAR XA_LENGTH: AtomPtr; <* EXTERNAL "_XA_LIST_LENGTH" *> VAR XA_LIST_LENGTH: AtomPtr; <* EXTERNAL "_XA_NAME" *> VAR XA_NAME: AtomPtr; <* EXTERNAL "_XA_NET_ADDRESS" *> VAR XA_NET_ADDRESS: AtomPtr; <* EXTERNAL "_XA_NULL" *> VAR XA_NULL: AtomPtr; <* EXTERNAL "_XA_OWNER_OS" *> VAR XA_OWNER_OS: AtomPtr; <* EXTERNAL "_XA_SPAN" *> VAR XA_SPAN: AtomPtr; <* EXTERNAL "_XA_TARGETS" *> VAR XA_TARGETS: AtomPtr; <* EXTERNAL "_XA_TEXT" *> VAR XA_TEXT: AtomPtr; <* EXTERNAL "_XA_TIMESTAMP" *> VAR XA_TIMESTAMP: AtomPtr; <* EXTERNAL "_XA_USER" *> VAR XA_USER: AtomPtr; <* EXTERNAL XmuMakeAtom *> PROCEDURE MakeAtom (name: char_star): AtomPtr; <* EXTERNAL XmuInternAtom *> PROCEDURE InternAtom (d: DisplayStar; atom_ptr: AtomPtr): Atom; <* EXTERNAL XmuInternStrings *> PROCEDURE InternStrings (d: DisplayStar; names: StringStar; count: Cardinal; atoms: AtomStar); <* EXTERNAL XmuGetAtomName *> PROCEDURE GetAtomName (d: DisplayStar; atom: Atom): char_star; <* EXTERNAL XmuNameOfAtom *> PROCEDURE NameOfAtom (atom_ptr: AtomPtr): char_star;====================================================================== * $XConsortium: CharSet.h,v 1.2 89/09/22 15:33:14 jim Exp $ *======================================================================
<* EXTERNAL XmuCopyISOLatin1Lowered *> PROCEDURE CopyISOLatin1Lowered (dst: char_star; src: char_star); <* EXTERNAL XmuCopyISOLatin1Uppered *> PROCEDURE CopyISOLatin1Uppered (dst: char_star; src: char_star); <* EXTERNAL XmuCompareISOLatin1 *> PROCEDURE CompareISOLatin1 (first: char_star; second: char_star): Int;====================================================================== * $XConsortium: CloseHook.h,v 1.1 89/07/14 17:51:53 jim Exp $ *======================================================================
TYPE CloseHook = ADDRESS; ProcCloseHook = PROCEDURE (d: DisplayStar; arg: ADDRESS): Int; <* EXTERNAL XmuAddCloseDisplayHook *> PROCEDURE AddCloseDisplayHook (d: DisplayStar; func: ProcCloseHook; arg: ADDRESS): Int; <* EXTERNAL XmuRemoveCloseDisplayHook *> PROCEDURE AddRemoveDisplayHook (d: DisplayStar; handle: CloseHook; func: ProcCloseHook; arg: ADDRESS): Int; <* EXTERNAL XmuLookupCloseDisplayHook *> PROCEDURE AddLookupDisplayHook (d: DisplayStar; handle: CloseHook; func: ProcCloseHook; arg: ADDRESS): Int;====================================================================== * $XConsortium: Converters.h,v 1.3 89/10/09 16:25:30 jim Exp $ *======================================================================
* Converters - insert in alphabetical order
***************************************************************************** * XmuCvtFunctionToCallback
<* EXTERNAL XmuCvtFunctionToCallback *> PROCEDURE CvtFunctionToCallback (args: Xrm.ValueStar; num_args: CardinalStar; fromVal: Xrm.ValuePtr; toVal: Xrm.ValuePtr);***************************************************************************** * XmuCvtStringToBackingStore
#define XtNbackingStore backingStore
in XtN.i3
#define XtCBackingStore BackingStore
in XtC.i3
#define XtRBackingStore BackingStore
in XtR.i3
#define XtEnotUseful notUseful
in XtE.i3
#define XtEwhenMapped whenMapped
in XtE.i3
#define XtEalways always
in XtE.i3
#define XtEdefault default
in XtE.i3
<* EXTERNAL XmuCvtStringToBackingStore *> PROCEDURE CvtStringToBackingStore (args: Xrm.ValueStar; num_args: CardinalStar; fromVal: Xrm.ValuePtr; toVal: Xrm.ValuePtr);***************************************************************************** * XmuCvtStringToCursor
<* EXTERNAL XmuCvtStringToCursor *> PROCEDURE CvtStringToCursor (args: Xrm.ValueStar; num_args: CardinalStar; fromVal: Xrm.ValuePtr; toVal: Xrm.ValuePtr);***************************************************************************** * XmuCvtStringToJustify
TYPE Justify = Enumeration; CONST JustifyLeft = 0; (* justify text to left side of button *) JustifyCenter = 1; (* justify text in center of button *) JustifyRight = 2; (* justify text to right side of button *)#define XtEleft
left
in XtE.i3
#define XtEcenter center
in XtE.i3
#define XtEright right
in XtE.i3
<* EXTERNAL XmuCvtStringToJustify *> PROCEDURE CvtStringToJustify (args: Xrm.ValueStar; num_args: CardinalStar; fromVal: Xrm.ValuePtr; toVal: Xrm.ValuePtr);***************************************************************************** * XmuCvtStringToLong
#define XtRLong Long
in XtR.i3
<* EXTERNAL XmuCvtStringToLong *> PROCEDURE CvtStringToLong (args: Xrm.ValueStar; num_args: CardinalStar; fromVal: Xrm.ValuePtr; toVal: Xrm.ValuePtr);***************************************************************************** * XmuCvtStringToOrientation
TYPE Orientation = Enumeration; CONST orientHorizontal = 0; orientVertical = 1; <* EXTERNAL XmuCvtStringToOrientation *> PROCEDURE CvtStringToOrientation (args: Xrm.ValueStar; num_args: CardinalStar; fromVal: Xrm.ValuePtr; toVal: Xrm.ValuePtr);***************************************************************************** * XmuCvtStringToBitmap
<* EXTERNAL XmuCvtStringToBitmap *> PROCEDURE CvtStringToBitmap (args: Xrm.ValueStar; num_args: CardinalStar; fromVal: Xrm.ValuePtr; toVal: Xrm.ValuePtr);***************************************************************************** * XmuCvtStringToShapeStyle; is XtTypeConverter (i.e. new style) * no conversion arguments, not particularly useful to cache the results.
#define XtRShapeStyle ShapeStyle
in XtR.i3
#define XtERectangle Rectangle
in XtE.i3
#define XtEOval Oval
in XtE.i3
#define XtEEllipse Ellipse
in XtE.i3
#define XtERoundedRectangle RoundedRectangle
in XtE.i3
CONST ShapeRectangle = 1; ShapeOval = 2; ShapeEllipse = 3; ShapeRoundedRectangle = 4; <* EXTERNAL XmuCvtStringToShapeStyle *> PROCEDURE CvtStringToShapeStyle (d: DisplayStar; args: Xrm.ValueStar; num_args: CardinalStar; fromVal: Xrm.ValuePtr; toVal: Xrm.ValuePtr; data: ADDRESS): Boolean; <* EXTERNAL XmuReshapeWidget *> PROCEDURE ReshapeWidget (w: Widget; shape_style: Int; corner_width: Int; corner_height: Int);**************************************************************************** * XmuCvtStringToWidget
<* EXTERNAL XmuCvtStringToWidget *> PROCEDURE CvtStringToWidget (args: Xrm.ValueStar; num_args: CardinalStar; fromVal: Xrm.ValuePtr; toVal: Xrm.ValuePtr);====================================================================== * $XConsortium: CurUtil.h,v 1.1 89/07/19 15:40:17 jim Exp $ *======================================================================
<* EXTERNAL XmuCursorNameToIndex *> PROCEDURE CursorNameToIndex (name: char_star): Int;====================================================================== * $XConsortium: CvtCache.h,v 1.3 89/11/30 18:21:42 rws Exp $ *======================================================================
?!?!?! not defined ..... typedef struct _XmuCvtCache { struct { char **bitmapFilePath; } string_to_bitmap; (* add other per-display data that needs to be cached
} XmuCvtCache; <* EXTERNAL *_XmuCCLookupDisplay *> PROCEDURE muCCLookupDisplay (): XmuCvtCache; ?!?!?!?*)====================================================================== * $XConsortium: DisplayQue.h *======================================================================
* Public Entry Points * * * XmuDisplayQueue *XmuDQCreate (closefunc, freefunc, data) * int ( *closefunc)(); * int ( *freefunc)(); * caddr_t data; * * Creates and returns a queue into which displays may be placed. When * the display is closed, the closefunc (if non-NULL) is upcalled with * as follows: * * ( *closefunc) (queue, entry) * * The freeproc, if non-NULL, is called whenever the last display is * closed, notifying the creator that display queue may be released * using XmuDQDestroy. * * * Bool XmuDQDestroy (q, docallbacks) * XmuDisplayQueue *q; * Bool docallbacks; * * Releases all memory for the indicated display queue. If docallbacks * is true, then the closefunc (if non-NULL) is called for each * display. * * * XmuDisplayQueueEntry *XmuDQLookupDisplay (q, dpy) * XmuDisplayQueue *q; * Display *dpy; * * Returns the queue entry for the specified display or NULL if the * display is not in the queue. * * * XmuDisplayQueueEntry *XmuDQAddDisplay (q, dpy, data) * XmuDisplayQueue *q; * Display *dpy; * caddr_t data; * * Adds the indicated display to the end of the queue or NULL if it * is unable to allocate memory. The data field may be used by the * caller to attach arbitrary data to this display in this queue. The * caller should use XmuDQLookupDisplay to make sure that the display * hasn't already been added. * * * Bool XmuDQRemoveDisplay (q, dpy) * XmuDisplayQueue *q; * Display *dpy; * * Removes the specified display from the given queue. If the * indicated display is not found on this queue, False is returned, * otherwise True is returned.
?!?!?!?!? typedef struct _XmuDisplayQueueEntry { struct _XmuDisplayQueueEntry *prev, *next; Display *display; CloseHook closehook; caddr_t data; } XmuDisplayQueueEntry;
typedef struct _XmuDisplayQueue { int nentries; XmuDisplayQueueEntry *head, *tail; int ( *closefunc)(); int ( *freefunc)(); caddr_t data; } XmuDisplayQueue;
<* EXTERNAL *XmuDQCreate *> PROCEDURE uDQCreate (): XmuDisplayQueue;
<* EXTERNAL XmuDQDestroy *> PROCEDURE DQDestroy (): Bool;
<* EXTERNAL *XmuDQLookupDisplay *> PROCEDURE uDQLookupDisplay (): XmuDisplayQueueEntry;
<* EXTERNAL *XmuDQAddDisplay *> PROCEDURE uDQAddDisplay (): XmuDisplayQueueEntry;
<* EXTERNAL XmuDQRemoveDisplay *> PROCEDURE DQRemoveDisplay (): Bool;
#define XmuDQNDisplays(q) ((q)->nentries) ?!?!?!?
====================================================================== * $XConsortium: Drawing.h,v 1.3 89/10/03 08:37:53 rws Exp $ *======================================================================
<* EXTERNAL XmuDrawRoundedRectangle *> PROCEDURE DrawRoundedRectangle (dpy: DisplayStar; draw: Drawable; gc: GC; x, y, w, h, ew, eh: Int); <* EXTERNAL XmuFillRoundedRectangle *> PROCEDURE FillRoundedRectangle (dpy: DisplayStar; draw: Drawable; gc: GC; x, y, w, h, ew, eh: Int); <* EXTERNAL XmuDrawLogo *> PROCEDURE DrawLogo (dpy: DisplayStar; draw: Drawable; gcFore, gcBack: GC; x, y: Int; w, h: unsigned_int); <* EXTERNAL XmuCreatePixmapFromBitmap *> PROCEDURE CreatePixmapFromBitmap (dpy: DisplayStar; draw: Drawable; bitmap: Pixmap; w, h, depth: unsigned_int; fore, back: unsigned_long): Pixmap; <* EXTERNAL XmuCreateStippledPixmap *> PROCEDURE CreateStippledPixmap (screen: ScreenStar; fore, back: Pixel; depth: unsigned_int): Pixmap; <* EXTERNAL XmuLocateBitmapFile *> PROCEDURE LocateBitmapFile (screen: ScreenStar; name, srcname: char_star; srcnamelen: Int; w, h, xhotp, yhotp: int_star): Pixmap; <* EXTERNAL XmuReadBitmapData *> PROCEDURE ReadBitmapData (stream: char_star; w, h: unsigned_int_star; datap: char_star_star; x_hot, y_hot: int_star): Int; <* EXTERNAL XmuReadBitmapDataFromFile *> PROCEDURE ReadBitmapDataFromFile (file: char_star; w, h: unsigned_int_star; datap: char_star_star; x_hot, y_hot: int_star): Int;====================================================================== * $XConsortium: Error.h,v 1.2 89/11/14 16:16:30 jim Exp $ *======================================================================
<* EXTERNAL XmuPrintDefaultErrorMessage *> PROCEDURE PrintDefaultErrorMessage (dpy: DisplayStar; event: X.XErrorEventStar; fp: char_star): Int; <* EXTERNAL XmuSimpleErrorHandler *> PROCEDURE SimpleErrorHandler (dpy: DisplayStar; errorp: X.XErrorEventStar): Int;====================================================================== * $XConsortium: Initer.h,v 1.1 89/07/14 17:51:55 jim Exp $ *======================================================================
TYPE ProcIniter = PROCEDURE (app_con: AppContext; data: ADDRESS); <* EXTERNAL XmuCallInitializers *> PROCEDURE CallInitializers (app_con: AppContext); <* EXTERNAL XmuAddInitializer *> PROCEDURE AddInitializer (func: ProcIniter; data: ADDRESS);====================================================================== * $XConsortium: Misc.h,v 1.1 89/05/10 16:00:25 jim Exp $ *======================================================================
?!?!?!? #define MAXDIMENSION ((1 << 31)-1) #define Max(x, y) (((x) > (y)) ? (x) : (y)) #define Min(x, y) (((x) < (y)) ? (x) : (y)) #define AssignMax(x, y) {if ((y) > (x)) x = (y);} #define AssignMin(x, y) {if ((y) < (x)) x = (y);} ?!?!?!?
====================================================================== * $XConsortium: StdCmap.h,v 1.1 89/07/14 17:51:56 jim Exp $ *======================================================================
<* EXTERNAL XmuAllStandardColormaps *> PROCEDURE AllStandardColormaps (dpy: DisplayStar): Status; <* EXTERNAL XmuCreateColormap *> PROCEDURE CreateColormap (dpy: DisplayStar; colormap: X.XStandardColormapStar): Status; <* EXTERNAL XmuDeleteStandardColormap *> PROCEDURE DeleteStandardColormap (dpy: DisplayStar; screen: Int; property: Atom); <* EXTERNAL XmuGetColormapAllocation *> PROCEDURE GetColormapAllocation (vinfo: X.XVisualInfoStar; property: Atom; red_max, green_max, blue_max: unsigned_long_star): Status; <* EXTERNAL XmuLookupColormap *> PROCEDURE LookupColormap (dpy: DisplayStar; screen: Int; visualid: VisualID; depth: unsigned_int; property: Atom; replace, retain: Bool): Status; <* EXTERNAL XmuStandardColormap *> PROCEDURE StandardColormap (dpy: DisplayStar; screen: Int; visualid: VisualID; depth: unsigned_int; property: Atom; cmap: Colormap; red_max, green_max, blue_max: unsigned_long_star ): X.XStandardColormapStar; <* EXTERNAL XmuVisualStandardColormaps *> PROCEDURE VisualStandardColormaps (dpy: DisplayStar; screen: Int; visualid: VisualID; depth: unsigned_int; property: Atom; replace, retain: Bool): Status;====================================================================== * $XConsortium: StdSel.h,v 1.1 89/07/14 17:51:56 jim Exp $ *======================================================================
<* EXTERNAL XmuConvertStandardSelection *> PROCEDURE ConvertStandardSelection (w: Widget; time: Time; selection, target, type: AtomStar; value: ADDRESS; length: unsigned_long_star; format: int_star): Boolean;====================================================================== * $XConsortium: SysUtil.h,v 1.1 89/09/22 12:07:37 jim Exp $ *======================================================================
<* EXTERNAL XmuGetHostname *> PROCEDURE GetHostname (buf: char_star; maxlen: Int): Int;====================================================================== * $XConsortium: WinUtil.h,v 1.3 89/09/22 12:10:20 jim Exp $ *======================================================================
<* EXTERNAL XmuClientWindow *> PROCEDURE ClientWindow (dpy: DisplayStar; win: Window): Window; <* EXTERNAL XmuUpdateMapHints *> PROCEDURE UpdateMapHints (dpy: DisplayStar; win: Window; hints: X.XSizeHintsStar): Bool; <* EXTERNAL XmuScreenOfWindow *> PROCEDURE ScreenOfWindow (dpy: DisplayStar; w: Window): ScreenStar;====================================================================== * $XConsortium: Xmu.h,v 1.26 89/07/16 14:12:37 jim Exp $ *======================================================================
END Xmu.