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