1;
2; Mouse callbacks for GEOS.
3;
4; GEOS has a built-in mouse architecture.  Half of this file does nothing
5; -- it exists merely to allow portable programs to link and run.
6;
7; 2.7.2001, Maciej 'YTM/Elysium' Witkowiak
8; 2004-03-20, Ullrich von Bassewitz
9; 2004-09-24, Greg King
10;
11
12;       .constructor    init_pointer
13        .export         _mouse_def_callbacks
14
15;       .include        "mouse-kernel.inc"
16;       .include        "const.inc"
17;       .include        "geossym.inc"
18        .include        "jumptab.inc"
19
20;       .macpack        generic
21
22; The functions below must be interrupt-safe,
23; because they might be called from an interrupt-handler.
24
25; --------------------------------------------------------------------------
26; Hide the mouse pointer. Always called with interrupts disabled.
27
28hide := MouseOff
29
30; --------------------------------------------------------------------------
31; Show the mouse pointer. Always called with interrupts disabled.
32
33show := MouseUp
34
35; --------------------------------------------------------------------------
36; Prepare to move the mouse pointer. Always called with interrupts disabled.
37
38prep:
39        ; Fall through
40
41; --------------------------------------------------------------------------
42; Draw the mouse pointer. Always called with interrupts disabled.
43
44draw:
45        ; Fall through
46
47; --------------------------------------------------------------------------
48; Move the mouse pointer X position to the value in .XA. Always called with
49; interrupts disabled.
50
51movex:
52        ; Fall through
53
54; --------------------------------------------------------------------------
55; Move the mouse pointer Y position to the value in .XA. Always called with
56; interrupts disabled.
57
58movey:
59        rts
60
61; --------------------------------------------------------------------------
62; Callback structure
63
64.rodata
65
66_mouse_def_callbacks:
67        .addr   hide
68        .addr   show
69        .addr   prep
70        .addr   draw
71        .addr   movex
72        .addr   movey
73