(* Release 3.10 *) (*-------------------------------------------------------------------------* * * * MOU.DEF - Modula-2 OS/2 API Mouse functions * * * * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. * * All Rights Reserved * * * *--------------------------------------------------------------------------*) (*# call(o_a_size => off, o_a_copy=>off, result_optional=>on, reg_saved => (bx, cx, dx, si, di, es, ds, st1, st2), reg_param => (), seg_name => none, same_ds => off, near_call => off, ds_eq_ss => off) *) (*# module(implementation=>off, init_code => off) *) (*# name(prefix => os2_lib) *) (*# data(near_ptr => off) *) DEFINITION MODULE Mou; TYPE HMOU = CARDINAL; PTRLOC = RECORD row : CARDINAL; col : CARDINAL; END; PTRSHAPE = RECORD cb : CARDINAL; col : CARDINAL; row : CARDINAL; colHot : CARDINAL; rowHot : CARDINAL; END; EVENTINFO = RECORD fs : BITSET; time : LONGCARD; row : CARDINAL; col : CARDINAL; END; QUEINFO = RECORD events : CARDINAL; maxEvents : CARDINAL; END; SCALEFACT = RECORD rowScale : CARDINAL; colScale : CARDINAL; END; NOPTRRECT = RECORD row : CARDINAL; col : CARDINAL; cRow : CARDINAL; cCol : CARDINAL; END; CONST MHK_BUTTON1 = 01H; MHK_BUTTON2 = 02H; MHK_BUTTON3 = 04H; MOU_NODRAW = 01H; MOU_DRAW = 00H; MOU_MICKEYS = 02H; MOU_PELS = 00H; PROCEDURE FlushQue(handle:HMOU) : CARDINAL; PROCEDURE GetPtrPos(VAR pos:PTRLOC; handle:HMOU) : CARDINAL; PROCEDURE SetPtrPos(VAR pos:PTRLOC; handle:HMOU) : CARDINAL; PROCEDURE SetPtrShape(VAR pbuff:ARRAY OF BYTE; VAR pdef:PTRSHAPE; handle:HMOU) : CARDINAL; PROCEDURE GetPtrShape(VAR pbuff:ARRAY OF BYTE; VAR pdef:PTRSHAPE; handle:HMOU) : CARDINAL; PROCEDURE GetDevStatus(VAR status:BITSET; handle:HMOU) : CARDINAL; PROCEDURE GetNumButtons(VAR buttons:CARDINAL; handle:HMOU) : CARDINAL; PROCEDURE GetNumMickeys(VAR mickeys:CARDINAL; handle:HMOU) : CARDINAL; PROCEDURE ReadEventQue(VAR buffer:EVENTINFO; VAR type:CARDINAL; handle:HMOU) : CARDINAL; PROCEDURE GetNumQueEl(VAR qdata:QUEINFO; handle:HMOU) : CARDINAL; PROCEDURE GetEventMask(VAR mask:BITSET; handle:HMOU) : CARDINAL; PROCEDURE SetEventMask(VAR mask:BITSET; handle:HMOU) : CARDINAL; PROCEDURE GetScaleFact(VAR scale:SCALEFACT; handle:HMOU) : CARDINAL; PROCEDURE SetScaleFact(VAR scale:SCALEFACT; handle:HMOU) : CARDINAL; PROCEDURE Open(dname:ARRAY OF CHAR; VAR handle:HMOU) : CARDINAL; PROCEDURE Close(handle:HMOU) : CARDINAL; PROCEDURE RemovePtr(VAR area:NOPTRRECT; handle:HMOU) : CARDINAL; PROCEDURE DrawPtr(handle:HMOU) : CARDINAL; PROCEDURE SetDevStatus(VAR status:BITSET; handle:HMOU) : CARDINAL; PROCEDURE InitReal(dname:ARRAY OF CHAR) : CARDINAL; PROCEDURE Synch(iow :CARDINAL) : CARDINAL; TYPE MOUFUNC = (GETNUMBUTTONS,GETNUMMICKEYS,GETDEVSTATUS,GETNUMQUEEL, READEVENTQUE,GETSCALEFACT,GETEVENTMASK,SETSCALEFACT, SETEVENTMASK,OPEN,CLOSE,GETPTRSHAPE,SETPTRSHAPE, DRAWPTR,REMOVEPTR,GETPTRPOS,SETPTRPOS,INITREAL, SETDEVSTATUS,_m19,_m20,_m21,_m22,_m23,_m24,_m25, _m26,_m27,_m28,_m29,_m30,_m31); MOUFUNCSET = SET OF MOUFUNC ; PROCEDURE Register(module,entry:ARRAY OF CHAR; mask:MOUFUNCSET) : CARDINAL; PROCEDURE DeRegister() : CARDINAL; END Mou.