MSMOUSE.LST 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. Listing:
  2. 1 (* Release 3.10 *)
  3. 2 (*-------------------------------------------------------------------------*
  4. 3 * *
  5. 4 * MSMOUSE.DEF - Modula-2 Microsoft-compatible mouse interface *
  6. 5 * *
  7. 6 * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
  8. 7 * All Rights Reserved *
  9. 8 * *
  10. 9 *--------------------------------------------------------------------------*)
  11. 10
  12. 11 (*# call(o_a_copy => off,
  13. 12 o_a_size => on) *)
  14. 13 (*%F _fdata *)
  15. 14 (*# call(seg_name => null) *)
  16. 15 (*# data(seg_name => null) *)
  17. 16 (*%E *)
  18. 17 (*# module(implementation=>off) *)
  19. 18
  20. 19 DEFINITION MODULE MsMouse;
  21. 20
  22. 21 IMPORT Lib;
  23. 22
  24. 23 TYPE
  25. 24 MsData = RECORD
  26. 25 left_pressed, middle_pressed, right_pressed: BOOLEAN;
  27. 26 actions: CARDINAL;
  28. 27 row, col: INTEGER;
  29. 28 END;
  30. ***** ^ not supported yet
  31. 29
  32. 30 MsRange = RECORD
  33. 31 max_col,min_col, max_row, min_row: INTEGER;
  34. 32 END;
  35. ***** ^ not supported yet
  36. 33
  37. 34 MsMotion = RECORD
  38. 35 vert, horiz: INTEGER;
  39. 36 END;
  40. ***** ^ not supported yet
  41. 37
  42. 38 GraphcurMask = ARRAY [0..15] OF CARDINAL;
  43. ***** ^ not supported yet
  44. ***** ^ not supported yet
  45. 39 MsGraphcur = RECORD
  46. 40 row, col: INTEGER;
  47. 41 screen_mask: GraphcurMask;
  48. 42 cursor_mask: GraphcurMask;
  49. 43 END;
  50. ***** ^ not supported yet
  51. 44
  52. 45 Hardware = RECORD
  53. 46 start_scan, end_scan: INTEGER;
  54. 47 END;
  55. ***** ^ not supported yet
  56. 48
  57. 49 Software = RECORD
  58. 50 screen_mask, cursor_mask: CARDINAL;
  59. 51 END;
  60. ***** ^ not supported yet
  61. 52
  62. 53 MsTextCur = RECORD
  63. 54 type: BOOLEAN;
  64. 55 CASE : BOOLEAN OF
  65. ***** ^ not supported yet
  66. ***** ^ 'POINTER' expected
  67. 56 | TRUE : H: Hardware;
  68. 57 | FALSE : S: Software;
  69. 58 END;
  70. 59 END;
  71. 60
  72. 61 MsSense = RECORD
  73. 62 h_speed, v_speed, threshold: INTEGER;
  74. 63 END;
  75. 64
  76. 65 (*# save *)
  77. 66 (*# call(near_call=>off) *)
  78. 67 MouseFuncType = PROCEDURE(CARDINAL,CARDINAL,CARDINAL,CARDINAL);
  79. 68 (*# restore *)
  80. 69 MsInterrupt = RECORD
  81. 70 IntFunc: MouseFuncType;
  82. 71 mask: CARDINAL;
  83. 72 END;
  84. 73
  85. 74 CONST
  86. 75 _MS_ON = TRUE;
  87. 76 _MS_OFF = FALSE;
  88. 77 _MS_HIDE = FALSE;
  89. 78 _MS_SHOW = TRUE;
  90. 79
  91. 80 _MS_MIDDLE = 2;
  92. 81 _MS_LEFT = 0;
  93. 82 _MS_RIGHT = 1;
  94. 83
  95. 84 _MS_HARD = TRUE;
  96. 85 _MS_SOFT = FALSE;
  97. 86
  98. 87
  99. 88 PROCEDURE Reset(): INTEGER;
  100. 89 PROCEDURE Cursor(Mode: BOOLEAN);
  101. 90 PROCEDURE DriverSize(): CARDINAL;
  102. 91 PROCEDURE GetMotion(VAR mp: MsMotion);
  103. 92 PROCEDURE GetPage(): CARDINAL;
  104. 93 PROCEDURE GetPress(Button: INTEGER; VAR mp: MsData);
  105. 94 PROCEDURE GetRelease(Button: INTEGER; VAR mp: MsData);
  106. 95 PROCEDURE GetSensitivity(VAR mp: MsSense);
  107. 96 PROCEDURE GetStatus(VAR mp: MsData);
  108. 97 PROCEDURE LightPen(Mode: BOOLEAN);
  109. 98 PROCEDURE RestoreDriver(Buffer: ADDRESS);
  110. 99 PROCEDURE SaveDriver(Buffer: ADDRESS);
  111. 100 PROCEDURE SetDouble(Threshold: INTEGER);
  112. 101 PROCEDURE SetGraphCursor(VAR mp: MsGraphcur);
  113. 102 PROCEDURE SetInterrupt(VAR mp: MsInterrupt);
  114. 103 PROCEDURE SetMickeys(Vert, Horiz: INTEGER);
  115. 104 PROCEDURE SetPage(Page: CARDINAL);
  116. 105 PROCEDURE SetPosition(Row, Col: INTEGER);
  117. 106 PROCEDURE SetRange(mp: MsRange);
  118. 107 PROCEDURE SetSensitivity(mp: MsSense);
  119. 108 PROCEDURE SetTextCursor(mp: MsTextCur);
  120. 109 PROCEDURE SwapInterrupt(VAR mp: MsInterrupt);
  121. 110 PROCEDURE UpdateScreen(x1, y1, x2, y2: INTEGER);
  122. 111
  123. 112 END MsMouse.
  124. 10 errors