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_butv()vex_motv()vex_curv() VDISyntaxVOID vex_curv( handle, curv, old_curv )
WORD handle;
WORD (*curv)( (WORD) mx, (WORD) my );
WORD (**old_curv)( (WORD) mx, (WORD) my );
Function vex_curv() installs a routine which is called every time the
mouse cursor is drawn allowing a customized mouse rendering
routine to replace that of the system.
Opcode 127
Availability Supported by all screen devices.
Parameters handle specifies a valid physical workstation handle.
curv points to a user defined function which will be called
every time the mouse is to be refreshed. old_curv is the
address of a pointer to the old rendering routine which will
be filled in by the function on exit.
Binding contrl[0] = 127;
contrl[1] = contrl[3] = 0;
contrl[6] = handle;
contrl[7] = (WORD)((LONG)curv >> 16);
contrl[8] = (WORD)((LONG)curv);
vdi();
*(LONG *)old_curv = (LONG)(((LONG)contrl[9] << 16) | (LONG)contrl[10]);
Comments Upon entry to curv, the mouse's X and Y location on screen
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.
See Also vex_butv(), vex_motv()Group VDI Input