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