home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / Modula / Source / EVENTMGR.DEF < prev    next >
Text File  |  1985-04-25  |  4KB  |  78 lines

  1. (*=======================================================================*)
  2. DEFINITION MODULE EventMgr;     (* Franz Kronseder 08.01.85 *)
  3.    (* MacIntosh ToolBox Event Manager Operations *)
  4.  
  5. FROM QuickDraw IMPORT Point;
  6. FROM SYSTEM IMPORT ADDRESS;
  7.  
  8. EXPORT QUALIFIED
  9.  everyEvent,nullEvent,mouseDown,mouseUp,keyDown,keyUp,autoKey,updateEvt,diskEvt,
  10.  activateEvt,abortEvt,reserveEvt,driverEvt,app1Evt,app2Evt,app3Evt,app4Evt,
  11.  
  12.  nullMask,mDownMask,mUpMask,keyDownMask,keyUpMask,autoKeyMask,updateMask,diskMask,
  13.  activMask,abortMask,reserveMask,driverMask,app1Mask,app2Mask,app3Mask,app4Mask,
  14.  
  15.  optionKey,alphaLock,ShiftKey,CmdKey,BtnState,activeFlag,changeFlag,
  16.  
  17.  OsErr,LongInt,EventRecord,KeyMap,
  18.  
  19.  EventAvail,GetNextEvent,StillDown,WaitMouseUp,GetMouse,TickCount,Button,GetKeys,
  20.  PostEvent,FlushEvents,SetEventMask,OSEventAvail,GetOSEvent;
  21.  
  22. CONST
  23.   everyEvent  = -1;
  24.   nullEvent   = 0;  mouseDown   = 1;  mouseUp     = 2;  keyDown     = 3;
  25.   keyUp       = 4; autoKey     = 5;  updateEvt   = 6;  diskEvt     = 7;
  26.   activateEvt = 8;  abortEvt    = 9;  reserveEvt  = 10;  driverEvt   = 11;
  27.   app1Evt     = 12; app2Evt     = 13;  app3Evt     = 14;  app4Evt     = 15;
  28.  
  29.   nullMask  =   1; mDownMask   =   2; mUpMask     =    4; keyDownMask   =    8;
  30.   keyUpMask =  16; autoKeyMask =  32; updateMask  =   64; diskMask      =  128;
  31.   activMask = 256; abortMask   = 512; reserveMask = 1024; driverMask    = 2048;
  32.   app1Mask = 4096;  app2Mask = 8192;  app3Mask    = 16384; app4Mask = 8000H (* -32768 *);
  33.  
  34.  
  35.   (* modifiers *)
  36.   optionKey= 2048;    (* Bit 3 of high byte  *)
  37.   alphaLock= 1024;    (* Bit 2  *)
  38.   ShiftKey=   512;    (* Bit 1  *)
  39.   CmdKey=     256;    (* Bit 0  *)
  40.   BtnState=   128;    (* Bit 7 of low byte is mouse button state  *)
  41.   activeFlag  = 1;    (* bit 0 of modifiers for activate event  *)
  42.   changeFlag  = 2;    (* bit 1 of modifiers for activate event  *)
  43.  
  44.  TYPE OsErr = INTEGER;  LongInt = ADDRESS;
  45.       EventRecord = RECORD
  46.                      what:      INTEGER;
  47.                      CASE BOOLEAN  OF TRUE:  message: ADDRESS;
  48.                                     | FALSE: msgchar: ARRAY [0..3] OF CHAR; END;
  49.                      when:      LongInt;
  50.                      where:     Point;
  51.                      CASE BOOLEAN OF TRUE: modifiers: BITSET;
  52.                                    | FALSE: modifwrd: CARDINAL; END; (* modifier word *)
  53.                     END;
  54.  
  55.       KeyMap = ARRAY[0..3] OF LongInt;(* PACKED ARRAY [1..128] OF BOOLEAN *)
  56.  
  57. PROCEDURE EventAvail(mask:INTEGER; VAR theEvent: EventRecord): BOOLEAN;
  58.                                                                (* INLINE $A971;*)
  59. PROCEDURE  GetNextEvent(mask:INTEGER; VAR theEvent: EventRecord): BOOLEAN;
  60.                                        (* INLINE $A970;*)
  61. PROCEDURE StillDown ():BOOLEAN;        (*    INLINE $A973;*)
  62. PROCEDURE WaitMouseUp ():BOOLEAN;      (*   INLINE $A977;*)
  63. PROCEDURE GetMouse (VAR pt: Point);    (* INLINE $A972;*)
  64. PROCEDURE TickCount ():LongInt;        (* INLINE $A975;*)
  65. PROCEDURE Button (): BOOLEAN;          (*INLINE $A974;*)
  66. PROCEDURE GetKeys(VAR k: KeyMap);      (*INLINE $A976;*)
  67.  
  68. PROCEDURE PostEvent (eventNum: INTEGER; eventMsg: LongInt): OsErr;
  69. PROCEDURE FlushEvents (whichMask,stopMask: INTEGER);
  70. PROCEDURE SetEventMask (theMask: INTEGER);
  71. PROCEDURE OSEventAvail (mask: INTEGER; VAR theEvent: EventRecord): BOOLEAN;
  72. PROCEDURE GetOSEvent  (mask: INTEGER; VAR theEvent: EventRecord): BOOLEAN;
  73. END EventMgr.
  74. (*=======================================================================*)
  75.  
  76.  
  77.  
  78.