MOU.DEF 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. (* Release 3.10 *)
  2. (*-------------------------------------------------------------------------*
  3. * *
  4. * MOU.DEF - Modula-2 OS/2 API Mouse functions *
  5. * *
  6. * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
  7. * All Rights Reserved *
  8. * *
  9. *--------------------------------------------------------------------------*)
  10. (*# call(o_a_size => off,
  11. o_a_copy=>off,
  12. result_optional=>on,
  13. reg_saved => (bx, cx, dx, si, di, es, ds, st1, st2),
  14. reg_param => (),
  15. seg_name => none,
  16. same_ds => off,
  17. near_call => off,
  18. ds_eq_ss => off) *)
  19. (*# module(implementation=>off, init_code => off) *)
  20. (*# name(prefix => os2_lib) *)
  21. (*# data(near_ptr => off) *)
  22. DEFINITION MODULE Mou;
  23. TYPE
  24. HMOU = CARDINAL;
  25. PTRLOC = RECORD
  26. row : CARDINAL;
  27. col : CARDINAL;
  28. END;
  29. PTRSHAPE = RECORD
  30. cb : CARDINAL;
  31. col : CARDINAL;
  32. row : CARDINAL;
  33. colHot : CARDINAL;
  34. rowHot : CARDINAL;
  35. END;
  36. EVENTINFO = RECORD
  37. fs : BITSET;
  38. time : LONGCARD;
  39. row : CARDINAL;
  40. col : CARDINAL;
  41. END;
  42. QUEINFO = RECORD
  43. events : CARDINAL;
  44. maxEvents : CARDINAL;
  45. END;
  46. SCALEFACT = RECORD
  47. rowScale : CARDINAL;
  48. colScale : CARDINAL;
  49. END;
  50. NOPTRRECT = RECORD
  51. row : CARDINAL;
  52. col : CARDINAL;
  53. cRow : CARDINAL;
  54. cCol : CARDINAL;
  55. END;
  56. CONST
  57. MHK_BUTTON1 = 01H; MHK_BUTTON2 = 02H; MHK_BUTTON3 = 04H;
  58. MOU_NODRAW = 01H; MOU_DRAW = 00H;
  59. MOU_MICKEYS = 02H; MOU_PELS = 00H;
  60. PROCEDURE FlushQue(handle:HMOU) : CARDINAL;
  61. PROCEDURE GetPtrPos(VAR pos:PTRLOC; handle:HMOU) : CARDINAL;
  62. PROCEDURE SetPtrPos(VAR pos:PTRLOC; handle:HMOU) : CARDINAL;
  63. PROCEDURE SetPtrShape(VAR pbuff:ARRAY OF BYTE; VAR pdef:PTRSHAPE; handle:HMOU) : CARDINAL;
  64. PROCEDURE GetPtrShape(VAR pbuff:ARRAY OF BYTE; VAR pdef:PTRSHAPE; handle:HMOU) : CARDINAL;
  65. PROCEDURE GetDevStatus(VAR status:BITSET; handle:HMOU) : CARDINAL;
  66. PROCEDURE GetNumButtons(VAR buttons:CARDINAL; handle:HMOU) : CARDINAL;
  67. PROCEDURE GetNumMickeys(VAR mickeys:CARDINAL; handle:HMOU) : CARDINAL;
  68. PROCEDURE ReadEventQue(VAR buffer:EVENTINFO; VAR type:CARDINAL; handle:HMOU) : CARDINAL;
  69. PROCEDURE GetNumQueEl(VAR qdata:QUEINFO; handle:HMOU) : CARDINAL;
  70. PROCEDURE GetEventMask(VAR mask:BITSET; handle:HMOU) : CARDINAL;
  71. PROCEDURE SetEventMask(VAR mask:BITSET; handle:HMOU) : CARDINAL;
  72. PROCEDURE GetScaleFact(VAR scale:SCALEFACT; handle:HMOU) : CARDINAL;
  73. PROCEDURE SetScaleFact(VAR scale:SCALEFACT; handle:HMOU) : CARDINAL;
  74. PROCEDURE Open(dname:ARRAY OF CHAR; VAR handle:HMOU) : CARDINAL;
  75. PROCEDURE Close(handle:HMOU) : CARDINAL;
  76. PROCEDURE RemovePtr(VAR area:NOPTRRECT; handle:HMOU) : CARDINAL;
  77. PROCEDURE DrawPtr(handle:HMOU) : CARDINAL;
  78. PROCEDURE SetDevStatus(VAR status:BITSET; handle:HMOU) : CARDINAL;
  79. PROCEDURE InitReal(dname:ARRAY OF CHAR) : CARDINAL;
  80. PROCEDURE Synch(iow :CARDINAL) : CARDINAL;
  81. TYPE MOUFUNC = (GETNUMBUTTONS,GETNUMMICKEYS,GETDEVSTATUS,GETNUMQUEEL,
  82. READEVENTQUE,GETSCALEFACT,GETEVENTMASK,SETSCALEFACT,
  83. SETEVENTMASK,OPEN,CLOSE,GETPTRSHAPE,SETPTRSHAPE,
  84. DRAWPTR,REMOVEPTR,GETPTRPOS,SETPTRPOS,INITREAL,
  85. SETDEVSTATUS,_m19,_m20,_m21,_m22,_m23,_m24,_m25,
  86. _m26,_m27,_m28,_m29,_m30,_m31);
  87. MOUFUNCSET = SET OF MOUFUNC ;
  88. PROCEDURE Register(module,entry:ARRAY OF CHAR; mask:MOUFUNCSET) : CARDINAL;
  89. PROCEDURE DeRegister() : CARDINAL;
  90. END Mou.
  91.