•  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_curv()
vex_butv()
vex_motv()                                                              VDI

Syntax

VOID 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