XlSetOfEvent.mesa
Copyright Ó 1992 by Xerox Corporation. All rights reserved.
Christian Jacobi, February 21, 1992 10:57 am PST
Christian Jacobi, February 21, 1992 11:17 am PST
Templates for working with SetOfEvent.
Factored out of Xl, as the memory layout and the inlines are machine dependent.
This version works for both, big endian and little endian machines, but it does not work for PrincOps.
DIRECTORY Basics;
XlSetOfEvent: CEDAR DEFINITIONS
IMPORTS Basics =
BEGIN
SetOfEvent: TYPE = WORD32 MACHINE DEPENDENT RECORD [
--This type is layed out so that the lower 31 bits match the layout in the protocol encoding
reservedforDisableEvents: BOOL ¬ FALSE, --never sent to the server
unusedZero30: BOOL ¬ FALSE,
unusedZero29: BOOL ¬ FALSE,
unusedZero28: BOOL ¬ FALSE,
unusedZero27: BOOL ¬ FALSE,
unusedZero26: BOOL ¬ FALSE,
unusedZero25: BOOL ¬ FALSE,
ownerGrabButton: BOOL ¬ FALSE,
colormapChange: BOOL ¬ FALSE,
propertyChange: BOOL ¬ FALSE,
focusChange: BOOL ¬ FALSE,
substructureRedirect: BOOL ¬ FALSE,
substructureNotify: BOOL ¬ FALSE,
resizeRedirect: BOOL ¬ FALSE,
structureNotify: BOOL ¬ FALSE,
visibilityChange: BOOL ¬ FALSE,
exposure: BOOL ¬ FALSE,
keymapState: BOOL ¬ FALSE,
buttonMotion: BOOL ¬ FALSE,
button5Motion: BOOL ¬ FALSE,
button4Motion: BOOL ¬ FALSE,
button3Motion: BOOL ¬ FALSE,
button2Motion: BOOL ¬ FALSE,
button1Motion: BOOL ¬ FALSE,
pointerMotionHint: BOOL ¬ FALSE,
pointerMotion: BOOL ¬ FALSE,
leaveWindow: BOOL ¬ FALSE,
enterWindow: BOOL ¬ FALSE,
buttonRelease: BOOL ¬ FALSE,
buttonPress: BOOL ¬ FALSE,
keyRelease: BOOL ¬ FALSE,
keyPress: BOOL ¬ FALSE
];
ORSetOfEvents: PROC [s1, s2: SetOfEvent] RETURNS [SetOfEvent] = INLINE {
RETURN [LOOPHOLE[Basics.BITOR[LOOPHOLE[s1], LOOPHOLE[s2]]]]
};
END.