4.3BSD/usr/contrib/X/CLUlib/xdefs.equ

event = record[kind:  int,
	       value: int,
	       mask:  int,
	       win:   x_window,
	       sub:   x_window,
	       x:     int,
	       y:     int,
	       x0:    int,
	       y0:    int,
	       time:  int]

% map values

IsUnmapped		= 0
IsMapped		= 1
IsInvisible		= 2

% kind values

IsTransparent		= 0
IsOpaque		= 1
IsIcon			= 2

% Input Event Codes

NoEvent			= 0
KeyPressed		= 1
KeyReleased		= 2
ButtonPressed		= 4
ButtonReleased		= 8
EnterWindow		= 16
LeaveWindow		= 32
MouseMoved		= 64
ExposeWindow		= 128
ExposeRegion		= 256
ExposeCopy		= 512
RightDownMotion		= 1024
MiddleDownMotion	= 2048
LeftDownMotion		= 4096
UnmapWindow		= 8192
FocusChange		= 16384

% Event detail codes

RightButton		= 0
MiddleButton		= 1
LeftButton		= 2
IntoOrFromSubwindow	= 1
VirtualCrossing		= 2

% input state masks

ControlMask		= 16384
MetaMask		= 8192
ShiftMask		= 4096
ShiftLockMask		= 2048
LeftMask		= 1024
MiddleMask		= 512
RightMask		= 256

BlackPixel		= 0
WhitePixel		= 1

% x_vlist flag bits.  If the bit is 1 the predicate is true

VertexRelative		= 1		% else absolute
VertexDontDraw		= 2		% else draw
VertexCurved		= 4		% else straight
VertexStartClosed	= 8		% else not
VertexEndClosed		= 16		% else not
VertexDrawLastPoint	= 32		% else don't

GXclear			= 0		% 0
GXand			= 1		% src AND dst
GXandReverse		= 2		% src AND NOT dst
GXcopy			= 3		% src
GXandInverted		= 4		% NOT src AND dst
GXnoop			= 5		% dst
GXxor			= 6		% src XOR dst
GXor			= 7		% src OR dst
GXnor			= 8		% NOT src AND NOT dst
GXequiv			= 9		% NOT src XOR dst
GXinvert		= 10		% NOT dst
GXorReverse		= 11		% src OR NOT dst
GXcopyInverted		= 12		% NOT src
GXorInverted		= 13		% NOT src OR dst
GXnand			= 14		% NOT src OR NOT dst
GXset			= 15		% 1

pixellist = array[int]
colordef = record[pixel, red, green, blue: int]
colordeflist = array[colordef]