home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1985-04-25 | 3.4 KB | 78 lines |
- (*=======================================================================*)
- DEFINITION MODULE EventMgr; (* Franz Kronseder 08.01.85 *)
- (* MacIntosh ToolBox Event Manager Operations *)
-
- FROM QuickDraw IMPORT Point;
- FROM SYSTEM IMPORT ADDRESS;
-
- EXPORT QUALIFIED
- everyEvent,nullEvent,mouseDown,mouseUp,keyDown,keyUp,autoKey,updateEvt,diskEvt,
- activateEvt,abortEvt,reserveEvt,driverEvt,app1Evt,app2Evt,app3Evt,app4Evt,
-
- nullMask,mDownMask,mUpMask,keyDownMask,keyUpMask,autoKeyMask,updateMask,diskMask,
- activMask,abortMask,reserveMask,driverMask,app1Mask,app2Mask,app3Mask,app4Mask,
-
- optionKey,alphaLock,ShiftKey,CmdKey,BtnState,activeFlag,changeFlag,
-
- OsErr,LongInt,EventRecord,KeyMap,
-
- EventAvail,GetNextEvent,StillDown,WaitMouseUp,GetMouse,TickCount,Button,GetKeys,
- PostEvent,FlushEvents,SetEventMask,OSEventAvail,GetOSEvent;
-
- CONST
- everyEvent = -1;
- nullEvent = 0; mouseDown = 1; mouseUp = 2; keyDown = 3;
- keyUp = 4; autoKey = 5; updateEvt = 6; diskEvt = 7;
- activateEvt = 8; abortEvt = 9; reserveEvt = 10; driverEvt = 11;
- app1Evt = 12; app2Evt = 13; app3Evt = 14; app4Evt = 15;
-
- nullMask = 1; mDownMask = 2; mUpMask = 4; keyDownMask = 8;
- keyUpMask = 16; autoKeyMask = 32; updateMask = 64; diskMask = 128;
- activMask = 256; abortMask = 512; reserveMask = 1024; driverMask = 2048;
- app1Mask = 4096; app2Mask = 8192; app3Mask = 16384; app4Mask = 8000H (* -32768 *);
-
-
- (* modifiers *)
- optionKey= 2048; (* Bit 3 of high byte *)
- alphaLock= 1024; (* Bit 2 *)
- ShiftKey= 512; (* Bit 1 *)
- CmdKey= 256; (* Bit 0 *)
- BtnState= 128; (* Bit 7 of low byte is mouse button state *)
- activeFlag = 1; (* bit 0 of modifiers for activate event *)
- changeFlag = 2; (* bit 1 of modifiers for activate event *)
-
- TYPE OsErr = INTEGER; LongInt = ADDRESS;
- EventRecord = RECORD
- what: INTEGER;
- CASE BOOLEAN OF TRUE: message: ADDRESS;
- | FALSE: msgchar: ARRAY [0..3] OF CHAR; END;
- when: LongInt;
- where: Point;
- CASE BOOLEAN OF TRUE: modifiers: BITSET;
- | FALSE: modifwrd: CARDINAL; END; (* modifier word *)
- END;
-
- KeyMap = ARRAY[0..3] OF LongInt;(* PACKED ARRAY [1..128] OF BOOLEAN *)
-
- PROCEDURE EventAvail(mask:INTEGER; VAR theEvent: EventRecord): BOOLEAN;
- (* INLINE $A971;*)
- PROCEDURE GetNextEvent(mask:INTEGER; VAR theEvent: EventRecord): BOOLEAN;
- (* INLINE $A970;*)
- PROCEDURE StillDown ():BOOLEAN; (* INLINE $A973;*)
- PROCEDURE WaitMouseUp ():BOOLEAN; (* INLINE $A977;*)
- PROCEDURE GetMouse (VAR pt: Point); (* INLINE $A972;*)
- PROCEDURE TickCount ():LongInt; (* INLINE $A975;*)
- PROCEDURE Button (): BOOLEAN; (*INLINE $A974;*)
- PROCEDURE GetKeys(VAR k: KeyMap); (*INLINE $A976;*)
-
- PROCEDURE PostEvent (eventNum: INTEGER; eventMsg: LongInt): OsErr;
- PROCEDURE FlushEvents (whichMask,stopMask: INTEGER);
- PROCEDURE SetEventMask (theMask: INTEGER);
- PROCEDURE OSEventAvail (mask: INTEGER; VAR theEvent: EventRecord): BOOLEAN;
- PROCEDURE GetOSEvent (mask: INTEGER; VAR theEvent: EventRecord): BOOLEAN;
- END EventMgr.
- (*=======================================================================*)
-
-
-
-