diff --git a/libsrc/mouse/Makefile b/libsrc/mouse/Makefile index a2138d04a..a48ebf4ac 100644 --- a/libsrc/mouse/Makefile +++ b/libsrc/mouse/Makefile @@ -20,6 +20,7 @@ C_OBJS = mouse_load.o S_OBJS = mouse-kernel.o \ + mouse_box.o \ mouse_hide.o \ mouse_info.o \ mouse_ioctl.o \ diff --git a/libsrc/mouse/mouse_box.s b/libsrc/mouse/mouse_box.s new file mode 100644 index 000000000..e94feda4c --- /dev/null +++ b/libsrc/mouse/mouse_box.s @@ -0,0 +1,33 @@ +; +; Ullrich von Bassewitz, 2004-03-23 +; +; void __fastcall__ mouse_box (int minx, int miny, int maxx, int maxy); +; /* Set the bounding box for the mouse pointer movement. The mouse X and Y +; * coordinates will never go outside the given box. +; * NOTE: The function does *not* check if the mouse is currently inside the +; * given margins. The proper way to use this function therefore is: +; * +; * - Hide the mouse +; * - Set the bounding box +; * - Place the mouse at the desired position +; * - Show the mouse again. +; * +; * NOTE2: When setting the box to something that is larger than the actual +; * screen, the positioning of the mouse cursor can fail. If such margins +; * are really what you want, you have to use your own cursor routines. +; */ +; + + .import incsp6 + + .include "mouse-kernel.inc" + +.proc _mouse_box + + jsr mouse_box ; Call the driver + jmp incsp6 ; Cleanup the stack + +.endproc + + +