Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
mouse_x(3)			 Allegro manual 		      mouse_x(3)

NAME
     mouse_x,  mouse_y,  mouse_z,  mouse_w, mouse_b, mouse_pos - Global variable
     with the mouse position/button state. Allegro game programming library.

SYNOPSIS
     #include <allegro.h>

     extern volatile int mouse_x;

     extern volatile int mouse_y;

     extern volatile int mouse_z;

     extern volatile int mouse_w;

     extern volatile int mouse_b;

     extern volatile int mouse_pos;

DESCRIPTION
     Global variables containing the current mouse position  and  button  state.
     Wherever  possible  these	values	will  be  updated asynchronously, but if
     mouse_needs_poll() returns TRUE, you must manually call poll_mouse() to up-
     date them with the current input state. The `mouse_x' and	`mouse_y'  posi-
     tions  are  integers  ranging  from  zero to the bottom right corner of the
     screen. The `mouse_z' and `mouse_w' variables hold the current vertical and
     horizontal wheel position, when using an input driver that  supports  wheel
     mice.  The  `mouse_b'  variable  is a bitfield indicating the state of each
     button: bit 0 is the left button,	bit 1 the right, and bit  2  the  middle
     button.  Additional non standard mouse buttons might be available as higher
     bits in this variable. Usage example:

	if (mouse_b & 1)
	   printf("Left button is pressed\n");

	if (!(mouse_b & 2))
	   printf("Right button is not pressed\n");

     The `mouse_pos' variable has the current X coordinate in the upper 16  bits
     and   the Y in the lower 16 bits. This may be useful in tight polling loops
     where a mouse interrupt could occur between your reading of the  two  sepa-
     rate  variables, since you can copy this value into a local variable with a
     single instruction and then split it up at your leisure. Example:

	int pos, x, y;

	pos = mouse_pos;
	x = pos >> 16;
	y = pos & 0x0000ffff;

SEE ALSO
     install_mouse(3),	poll_mouse(3),	mouse_needs_poll(3),   exalpha(3),   ex-
     lights(3), exmouse(3), exshade(3), exspline(3), extrans(3)

Allegro 			  version 4.4.3 		      mouse_x(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mouse_b&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help