Topic : The ATARI Compendium
Author : Scott Sanders / JAY Software
Version : 1.25 (20/6/2003)
Subject : Documentation
Nodes : 1117
Index Size : 32614
HCP-Version : 6
Compiled on : Atari
@charset : UTF-8
@lang : en
@default :
@help : %About
@options : +g -i -t4 +y +z
@width : 100
View Ref-Filevex_curv()vex_butv()vex_motv() VDISyntaxVOID vex_motv( handle, motv, old_motv )
WORD handle;
WORD (*motv)( (WORD) mx, (WORD) my );
WORD (**old_motv)( (WORD) mx, (WORD) my );
Function vex_motv() installs a user routine which is called every
time the mouse pointer is moved.
Opcode 126
Availability Supported by all screen drivers.
Parameters handle specifies a valid physical workstation handle.
motv points to a user-defined routine which is called every
time the mouse is moved. old_motv is an address to a pointer
which will be filled in containing the address of the old
function.
Binding contrl[0] = 126;
contrl[1] = contrl[3] = 0;
contrl[6] = handle;
contrl[7] = (WORD)((LONG)motv >> 16);
contrl[8] = (WORD)((LONG)motv);
vdi();
*(LONG *)old_motv = (LONG)(((LONG)contrl[9] << 16) | (LONG)contrl[10]);
Comments Upon entry to motv, the mouse's new X and Y location is
contained in 68x00 registers D0 and D1 respectively. A 'C'
handler should, therefore, be sure to specify register
calling parameters for this function. Any registers which
will be modifed should be saved and restored upon function
exit. The routine may call the BIOS and/or XBIOS sparingly
but should not call the AES, VDI, or GEMDOS. The routine may
modify the contents of D0 and D1 as necessary to affect the
movement of the mouse (one way of implementing a mouse
accelerator).
See Also vex_curv(), vex_butv()Group VDI Input