Next: xdisplay
Up: simxlib
Previous: xprocess
eventclasses
NAME
eventclasses - part of Simula to Xlib interface
DESCRIPTION
XBasicEvent
class XBasicEvent;
This is the rootclass of all event classes. There is one
concrete event class for each possible event code (see
parameters to procedure SelectInput in X_Window). When
enabled these events CAN be generated, but for the exact
conditions when they are generated, see a X manual.
To wait for, and finally get an event object, subclasses of
XProcess, should call the procedure NextEvent. Event objects
of the concrete sub-classes of XBasicEvent are created by
XEventManager and sent to an XProcess object based on which
XWindow the event is targeted for.
The attributes in a given concrete sub-class are found by
looking up its abstract super-classes.
ATTRIBUTES
SendEvent
boolean SendEvent ;
True if send via SendEvent rather tna from the Server.
Serial
integer Serial ; ! Event sequence number ;
Window
ref(XWindow) Window; ! Target Window ;
The event is sent to the XProcess conected to this XWindow
object.
XInputEvent
XBasicEvent class XInputEvent;
ATTRIBUTES
State
integer State;
Key or button mask. In the subclasses of this class
(XKeyEvent, XButtonEvent, XMotionNotifyEvent) the attribute
"State" is relevant. Its contents is a bit-mask specifying
the position of the various "shift" keys and the mouse
buttons. The following constants are names on these bits.
When a bit is set (=1) this means that the corresponding key
is currently pressed.
KeyMasks: ShiftMask LockMask ControlMask
Mod1Mask Mod2Mask Mod3Mask Mod4Mask Mod5Mask
ButtonMaks:
Button1Mask Button2Mask Button3Mask Button4Mask
Button5Mask
X_root,Y_root
integer Y_root, X_root;
Pointer coordinates relative to 'Root', the screen
Rootwindow.
X,Y
integer Y,X;
Pointer coordinates relative to event window, 'Window'
Time
integer Time;
Time stamp in milliseconds
Root,Subwindow
ref(XWindow) Subwindow; ! child window (?);
ref(XWindow) Root;
XKeyEvent
XInputEvent class XKeyEvent;
ATTRIBUTES
Same_screen
boolean Same_screen; ! same screen flag (?);
KeyCode
integer KeyCode; ! Key position number (rarely used);
KeySym
integer KeySym; ! ASCII translation (often used);
String
text String;
String is an expansion to Ascii string, relevant for
function key bindings.
XKeyPressEvent
XKeyEvent class XKeyPressEvent;
XKeyReleaseEvent
XKeyEvent class XKeyReleaseEvent;
XButtonEvent
XInputEvent class XButtonEvent;
ATTRIBUTES
State
boolean same_screen; ! same screen flag ;
Button
integer Button; ! Number of pressed/released
button.;
Button Names (only one may be reported in each Press/Release
event, 1 is the leftmost button):
Button1 Button2 Button3 Button4 Button5
XButtonPressEvent
XButtonEvent class XButtonPressEvent;
XButtonReleaseEvent
XButtonEvent class XButtonReleaseEvent;
XMotionNotifyEvent
XInputEvent class XMotionNotifyEvent;
ATTRIBUTES
Same_screen
boolean Same_screen; ! same screen flag ;
Is_Hint
integer Is_Hint; !-- Values: NotifyHint ( or =0 (?));
State
integer State; ! key or button mask, see
XInputEvent.;
XCrossingEvent
XInputEvent class XCrossingEvent;
ATTRIBUTES
Focus
boolean Focus; ! (?) ;
Same_screen
boolean Same_screen; ! same screen flag (?);
Detail
integer Detail;
One of the values: Detail=NotifyAncestor, NotifyVirtual,
NotifyInferior, NotifyNonLinear, NotifyNonLinearVirtual
Mode
integer Mode;
One of the values: Mode= NotifyNormal, NotifyGrab,
NotifyUngrab
XEnterNotifyEvent
XCrossingEvent class XEnterNotifyEvent;
XLeaveNotifyEvent
XCrossingEvent class XLeaveNotifyEvent;
XInputEvent
XBasicEvent class XFocusChangeEvent;
ATTRIBUTES
Detail
integer Detail;
Values: Detail= NotifyAncestor NotifyVirtual NotifyInferior
NotifyNonlinear NotifyNonlinearVirtual NotifyPointer
NotifyPointerRoot NotifyDetailNone
Mode
integer Mode;
Values: Mode = NotifyNormal NotifyGrab NotifyUngrab
NotifyWhileGrabbed
XFocusInEvent
XFocusChangeEvent class XFocusInEvent;
XFocusOutEvent
XFocusChangeEvent class XFocusOutEvent;
XKeymapNotifyEvent
XBasicEvent class XKeymapNotifyEvent;
ATTRIBUTES
Key_Vector
Integer array Key_Vector(0:7); ! 8 * 32 bits;
a bit per KeyCode, =1 if pressed. Use BitsetClass to decode.
XExposeEvent
XBasicEvent class XExposeEvent;
ATTRIBUTES
State
integer Count; ! if non-zero, at least this many more ;
X,Y,Width,Height
integer Height;
integer Width;
integer y;
integer x;
XGraphicsExposeEvent
XBasicEvent class XGraphicsExposeEvent;
ATTRIBUTES
Minor_Code,Major_code
integer Minor_Code; ! not defined in the core ;
integer Major_code; ! core is CopyArea or CopyPlane ;
Count
integer Count; ! if non-zero, at least this many more ;
X,Y,Width,Height
integer Height;
integer Width;
integer y;
integer x;
Drawable
ref(XWindow) Drawable;
This is the dest of the CopyArea or CopyPlane that generated
the event.
XNoExposeEvent
XBasicEvent class XNoExposeEvent;
ATTRIBUTES
Minor_Code,Major_code
integer Minor_Code; ! not defined in the core ;
integer Major_code; ! core is CopyArea or CopyPlane ;
Count
integer Count; ! if non-zero, at least this many more ;
X,Y,Width,Height
integer Height;
integer Width;
integer y;
integer x;
Drawable
ref(XWindow) Drawable;
This is the dest of the CopyArea or CopyPlane that generated
the event.
XVisibilityNotifyEvent
XBasicEvent class XVisibilityNotifyEvent;
ATTRIBUTES
State
integer State; ! Visibility state;
State=VisibilityUnobscured VisibilityPartiallyObscured
VisibilityFullyObscured
XCreateNotifyEvent
XBasicEvent class XCreateNotifyEvent;
ATTRIBUTES
override_redirect
Boolean override_redirect; ! creation should be
overridden ;
Border_width
integer Border_width; ! border width ;
X,Y,Width,Height
integer Height;
integer Width;
integer y;
integer x;
CreatedWindow
ref(XWindow) CreatedWindow; ! window created ;
XDestroyNotifyEvent
XBasicEvent class XDestroyNotifyEvent;
ATTRIBUTES
DestroyedWindow
ref(XWindow) DestroyedWindow; ! Same as target window ?;
XUnmapNotifyEvent
XBasicEvent class XUnmapNotifyEvent;
ATTRIBUTES
from_configure
boolean from_configure; !?;
UnmappedWindow
ref(XWindow) UnmappedWindow; ! Same as target window ?;
XGraphicsExposeEvent
XBasicEvent class XMapNotifyEvent;
ATTRIBUTES
override_redirect
boolean override_redirect; ! boolean, is override set...
;
MappedWindow
ref(XWindow) MappedWindow; ! Same as target window ?;
XMapRequestEvent
XBasicEvent class XMapRequestEvent;
ATTRIBUTES
MapWindow
ref(XWindow) MapWindow; ! Same as target window ?;
XGraphicsExposeEvent
XBasicEvent class XReparentNotifyEvent;
ATTRIBUTES
override_redirect
boolean override_redirect;
X,Y
integer y, x;
Parent
ref(XWindow) Parent; ! the new parent
window;
ChangedWindow
ref(XWindow) ChangedWindow; ! the reparented window
(same as Target?);
XConfigureEvent
XBasicEvent class XConfigureEvent;
ATTRIBUTES
Above
ref(XWindow) Above; ! NONE or a sibling window;
Border_width
integer Border_width;
X,Y,Width,Height
integer Height,Width;
integer Y,X;
ChangedWindow
ref(XWindow) ChangedWindow;
XConfigureNotifyEvent
XConfigureEvent class XConfigureNotifyEvent;
ATTRIBUTES
Override_redirect
boolean Override_redirect;
XConfigureRequestEvent
XConfigureEvent class XConfigureRequestEvent;
ATTRIBUTES
Value_mask
integer Value_mask;
Detail
integer Detail;
Detail= Above, Below, TopIf, BottomIf, Opposite
XGravityNotifyEvent
XBasicEvent class XGravityNotifyEvent;
ATTRIBUTES
X,Y
integer X,Y;
MovedWindow
ref(XWindow) MovedWindow;
XResizeRequestEvent
XBasicEvent class XResizeRequestEvent;
ATTRIBUTES
Width,Height
integer Width,Height;
XCirculateEvent
XBasicEvent class XCirculateEvent;
ATTRIBUTES
Place
integer Place;
Place= PlaceOnTop, PlaceOnBottom
MovedWindow
ref(XWindow) MovedWindow;
XInputEvent
XCirculateEvent class XCirculateNotifyEvent;
XCirculateRequestEvent
XCirculateEvent class XCirculateRequestEvent;
XPropertyNotifyEvent
XBasicEvent class XPropertyNotifyEvent;
ATTRIBUTES
PropState
integer PropState;
PropState= NewValue, Deleted
Time
integer Time;
Atom
integer Atom; ! the new Atom registered.;
XSelectionClearEvent
XBasicEvent class XSelectionClearEvent;
ATTRIBUTES
Time
integer Time;
Selection
integer Selection;
XSelectionRequestEvent
XBasicEvent class XSelectionRequestEvent;
ATTRIBUTES
Time
integer Time;
Property
integer Property;
Target
integer Target;
Selection
integer Selection;
Requestor
ref(XWindow) Requestor;
XSelectionNotifyEvent
XBasicEvent class XSelectionNotifyEvent;
ATTRIBUTES
Time
integer Time;
Property
integer Property; ! ATOM or None ;
Target
integer Target;
Selection
integer Selection;
XColormapNotifyEvent
XBasicEvent class XColormapNotifyEvent;
ATTRIBUTES
MapState
integer MapState;! MapState= ColormapInstalled,
ColormapUninstalled;
Neww
boolean Neww;
ColorMap
integer ColorMap; ! COLORMAP ID or None;
XClientMessageEvent
XBasicEvent class XClientMessageEvent;
ATTRIBUTES
State
integer array Data(0:4);
Format
integer Format;
Message_type
integer Message_type;
XMappingNotifyEvent
XBasicEvent class XMappingNotifyEvent;
if Request=MappingKeyboard then the procedure
XRefreshKeyboardMapping is automatically called.
ATTRIBUTES
Count
integer Count; ! defines range of change w.
first_keycode;
First_keycode
integer First_keycode; ! first keycode;
Request
integer Request;
Request= MappingModifier, MappingKeyboard, MappingPointer