Provided by: allegro4-doc_4.4.2-10_all bug

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 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 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  separate  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(3alleg4),      poll_mouse(3alleg4),      mouse_needs_poll(3alleg4),       exalpha(3alleg4),
       exlights(3alleg4), exmouse(3alleg4), exshade(3alleg4), exspline(3alleg4), extrans(3alleg4)