•  Back 
  •  VDI Input 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  %About 
  •  Show info about hypertext 
  •  View a new file 
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()                                                              VDI

Syntax

VOID 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