Copyright (C) 1994, Digital Equipment Corp.
Contributed by Harry George (hgeorge@eskimo.com), 5/16/95
UNSAFE INTERFACEIntrinsicP ;
Abstract: From X11R5 intrinsicP, Core and CoreP.h
8/1/94 H. George Initial version
IMPORT X,Xt,Xrm; FROM Ctypes IMPORT unsigned_long;============ intrinsicP ============
TYPE
XtAcceptFocusProc=PROCEDURE(widget: Xt.Widget;
time: X.Time);
XtAlmostProc=PROCEDURE(old: Xt.Widget;
set: Xt.Widget;
request: Xt.WidgetGeometryStar;
reply: Xt.WidgetGeometryStar);
XtArgsFunc = PROCEDURE(widget: Xt.Widget;
args: Xt.ArgList;
num_args: Xt.CardinalStar): Xt.Boolean;
XtArgsProc = PROCEDURE(widget: Xt.Widget;
args: Xt.ArgList;
num_args: Xt.CardinalStar);
XtBoundActions = UNTRACED REF Xt.ActionProc;
XtGeometryHandler = PROCEDURE(w: Xt.Widget;
request: UNTRACED REF Xt.GeometryResult;
geometry_return: UNTRACED REF Xt.GeometryResult
): Xt.GeometryResult;
XtInitProc = PROCEDURE(request: Xt.Widget;
init: Xt.Widget;
args: Xt.ArgList;
num_args: Xt.CardinalStar);
XtProc = PROCEDURE();
XtRealizeProc = PROCEDURE(widget: Xt.Widget;
mask: Xt.ValueMask;
attributes: X.XSetWindowAttributes);
XtSetValuesFunc = PROCEDURE(old: Xt.Widget;
request: Xt.Widget;
new: Xt.Widget;
args: Xt.ArgList;
num_args:Xt.CardinalStar):Xt.Boolean;
XtStringProc = PROCEDURE(widget:Xt.Widget;
str: Xt.String);
XtTMRec = RECORD
translations: Xt.Translations;
proc_table: XtBoundActions;
current_state: ADDRESS;
lastEventTime: unsigned_long;
END;
XtVersionType = unsigned_long;
XtWidgetProc=PROCEDURE(widget:Xt.Widget);
XtWidgetClassProc = PROCEDURE(class:Xt.WidgetClass);
===============
Core and CoreP
===============
TYPE
CorePart = RECORD
self: Widget; (*pointer to widget itself*)
widget_class: WidgetClass; (*pointer to Widget's ClassRec*)
parent: Xt.Widget; (*parent widget*)
xrm_name: Xrm.Name; (*widget resource name quarkified*)
being_destroyed:Xt.Boolean;(*marked for destroy*)
destroy_callbacks:Xt.CallbackList; (*who to call when widget destroyed*)
constraints: Xt.Pointer; (*constraint record*)
x,y:Xt.Position; (*window position*)
width,height:Xt.Dimension; (*window dimensions*)
border_width: Xt.Dimension;(*window border width*)
managed:Xt.Boolean; (*is geometry managed?*)
sensitive: Xt.Boolean; (*is sensitive to user events?*)
ancestor_sensitive: Xt.Boolean; (*are all ancestors sensitive?*)
event_table: Xt.EventTable;(*private event dispatcher*)
tm: XtTMRec; (*translation management*)
accelerators:Xt.Translations; (*accelerator translations*)
border_pixel: Xt.Pixel; (*window border pixel*)
border_pixmap: X.Pixmap; (*window border pixmap or NIL*)
popup_list: Xt.WidgetList; (*list of popups*)
num_popups: Xt.Cardinal; (*how many popups*)
name: Xt.String; (*widget resource name*)
screen: X.ScreenStar; (*window's screen*)
colormap: X.Colormap; (*colormap*)
window: X.Window; (*window ID*)
depth: Xt.Cardinal; (*number of planes in window*)
background_pixel: Xt.Pixel;(*window background pixel*)
background_pixmap: X.Pixmap;(*window background pixmap or NIL*)
visible: Xt.Boolean; (*is window mapped and not occluded?*)
mapped_when_managed: Xt.Boolean; (*map window if it is managed?*)
END;
CoreClassPart = RECORD
superclass: Xt.WidgetClass;(*pointer to superclass ClassRec*)
class_name: Xt.String; (*widget resource class name*)
widget_size:Xt.Cardinal; (*size in bytes of widget record*)
class_initialize: XtProc; (*class initialization proc*)
class_part_initialize: XtWidgetClassProc; (*dynamic initialization*)
class_inited: Xt.Enum; (*has class been initialized?*)
initialize:XtInitProc; (*initialize subclass fields*)
initialize_hook:XtArgsProc;(*notify that initialize called*)
realize: XtRealizeProc; (*XCreateWindow for widget*)
actions: Xt.ActionList; (*widget semantics name to proc map*)
num_actions: Xt.Cardinal; (*number of entries in actions*)
resources: Xt.ResourceList;(*resources fro subclass fields*)
num_resources: Xt.Cardinal;(*number of entries in resources*)
xrm_class: Xrm.Class; (*resource class quarkified*)
compress_motion: Xt.Boolean; (*compress MotionNotify for widget?*)
compress_exposure: Xt.Enum;(*compress ExposureNotify for widget?*)
compress_enterleave:Xt.Boolean; (*compress enter and leave events?*)
visible_interest: Xt.Boolean;(*select for VisibilityNotify*)
destroy: XtWidgetProc; (*free data for subclass pointers*)
resize: XtWidgetProc; (*geom manager changed widget size*)
expose: XtWidgetProc; (*redisplay window*)
set_values: XtSetValuesFunc;(*set subclass resource values*)
set_values_hook: XtArgsFunc;(*notify that set_values called*)
set_values_almost: XtAlmostProc; (*set_values got "Almost" geo reply*)
get_values_hook: XtArgsProc;(*notify that get_values called*)
accept_focus: XtAcceptFocusProc; (*assign input focus to widget*)
version: XtVersionType; (*version of intrinsics used*)
callback_private: Xt.Pointer;(*list of callback offsets*)
tm_table: Xt.String; (*state machine*)
query_geometry: XtGeometryHandler; (*return preferred geometry*)
display_accelerator: XtStringProc; (*display your accelerator*)
extension: Xt.Pointer; (*pointer to extension record*)
END;
WidgetRec = RECORD
core: CorePart;
END;
WidgetClassRec = RECORD
core_class: CoreClassPart;
END;
Widget = UNTRACED REF WidgetRec;
WidgetClass=UNTRACED REF WidgetClassRec;
<*EXTERNAL*>
VAR coreWidgetClass: WidgetClass;
END IntrinsicP.