-- XEventQ.mesa
-- Created By Jeff Weinstein on 29-Mar-87 18:10:17

DIRECTORY
  System,
  XDefs;
  
XEventQ:DEFINITIONS =
  BEGIN
  
  QueueEmpty:ERROR;
  EventPtr:TYPE = LONG POINTER TO Event;
  Event:TYPE = RECORD[
                 x,y:CARDINAL,
		 time:System.Pulses,
		 type:XDefs.XEventType,
		 key:XDefs.XKeyCode
		 ];
  
  
  EnQEvent:PROCEDURE[event:EventPtr];
  DeQEvent:PROCEDURE RETURNS[event:EventPtr];
  EventCount:PROCEDURE RETURNS[count:CARDINAL];
  
  NewEvent:PROCEDURE RETURNS[EventPtr];
    
  FreeEvent:PROCEDURE[eventP:LONG POINTER TO XEventQ.EventPtr];
  
  EventQPointers:PROCEDURE RETURNS[p1, p2:LONG POINTER];
  
  END...