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

FreeBSD Manual Pages


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

       mouse_x,	 mouse_y,  mouse_z, mouse_w, mouse_b, mouse_pos	- Global vari-
       able with the mouse position/button state. Allegro game programming li-

       #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;

       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 update them with	the current input state. The `mouse_x'
       and  `mouse_y'  positions  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 exam-

	  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 separate variables, since you	can copy this value into a lo-
       cal 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;

       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:

home | help