int install_mouse();
   Instala el controlador del ratón de Allegro. Debe hacer esto antes de
   usar cualquier otra función del ratón. Devuelve -1 si hubo error (ej. si
   el controlador int33 no está cargado), o el número de botones del ratón.
Relacionado con:
position_mouse,
set_mouse_range,
set_mouse_speed,
remove_mouse,
poll_mouse,
mouse_x,
show_mouse,
get_mouse_mickeys,
Variables de configuración estándar.
void remove_mouse();
   Quita el controlador de ratón. Normalmente no necesita llamar esta
   función, porque allegro_exit() lo hará por usted.
Relacionado con:
install_mouse,
allegro_exit.
int poll_mouse();
   Siempre que sea posible, Allegro leerá la entrada del ratón asíncronamente
   (ej: dentro de una interrupción), pero en algunas plataformas esto puede
   no ser posible, en cuyo caso debe llamar a esta rutina en intervalos
   regulares para actualizar las variables de estado del ratón. Para ayudarle
   a comprobar que su código de muestreo del ratón funciona incluso en una
   plataforma que no lo necesita, tras la primera llamada a esta rutina,
   Allegro entrará en modo muestreo, por lo que desde entonces en adelante
   deberá llamar manualmente a esta función para obtener cualquier dato del
   ratón, sin importar si el controlador actual necesita ser muestreado o nó.
   Devuelve cero con éxito, o un número negativo si hubo un fallo (ej: no hay
   driver de ratón instalado).
Relacionado con:
mouse_needs_poll,
install_mouse,
mouse_x.
int mouse_needs_poll();
   Devuelve TRUE si el controlador de ratón actual está siendo operado en
   modo muestreo.
Relacionado con:
poll_mouse,
install_mouse,
mouse_x.
extern volatile int mouse_x;
extern volatile int mouse_y;
extern volatile int mouse_b;
extern volatile int mouse_pos;
   Variables globales que contienen la posición actual del ratón y el estado
   de los botones. Las posiciones mouse_x y mouse_y son enteros que van de
   cero a la esquina inferior derecha de la pantalla. La variable mouse_b es
   un campo de bits indicando el estado de cada botón: bit 0 es el botón
   izquierdo, bit 1 es del derecho, y bit 2 el botón central. Por ejemplo:
      if (mouse_b & 1)
         printf("El botón izquierdo está pulsado\n");
      if (!(mouse_b & 2))
         printf("El botón derecho no está pulsado\n");
   La variable pouse_pos contiene la coordenada X actual en la palabra alta
   y la coordenada Y en la palabra baja. Esto es útil en bucles rápidos de
   lectura donde una interrupción del ratón podría ocurrir mientras lee las
   dos variables por separado, ya que puede copiar este valor a una variable
   local con una instrucción, y entonces separarlo con tranquilidad.
Relacionado con:
install_mouse.
extern BITMAP *mouse_sprite;
extern int mouse_x_focus;
exterm int mouse_y_focus;
   Variables globales que contienen el sprite actual del ratón y el punto
   del foco. Estas variables sólo son de lectura, y sólo se pueden
   modificar usando las funciones set_mouse_sprite() y
   set_mouse_sprite_focus().
Relacionado con:
set_mouse_sprite,
set_mouse_sprite_focus.
void show_mouse(BITMAP *bmp);
   Le dice a Allegro que muestre el puntero del ratón en la pantalla. Esto
   sólo funcionará si el módulo de temporización está instalado. El puntero
   del ratón será dibujado sobre el bitmap especificado, que será
   normalmente 'screen' (lee más abajo información sobre bitmaps). Para
   ocultar el puntero del ratón, llame show_mouse(NULL). Aviso: si dibuja
   algo en la pantalla mientras el puntero está visible, podría ocurrir una
   interrupción de movimiento en medio de su operación de dibujo. Si esto
   ocurre, el buffer del ratón y el código de cambio de banco SVGA se
   confundirán, y dejarán 'rastros de ratón' por toda la pantalla. Para
   evitar esto, debe asegurarse que oculta el puntero del ratón siempre que
   vaya a dibujar la pantalla.
Relacionado con:
freeze_mouse_flag,
install_mouse,
install_timer,
set_mouse_sprite,
scare_mouse.
void scare_mouse();
   Función de ayuda para ocultar el puntero del ratón antes de una operación
   de dibujado. Esto se deshará temporalmente del puntero del ratón, pero
   sólo si es realmente necesario (ej. el ratón es visible, y está siendo
   visualizado en la pantalla física, y no se trata de un cursor por
   hardware). El estado previo del ratón es almacenado para las llamadas
   siguientes a unscare_mouse().
Relacionado con:
unscare_mouse,
show_mouse.
void scare_mouse_area(int x, int y, int w, int h);
   Como scare_mouse(), pero sólo ocultará el cursor si éste se encuentra
   dentro del rectángulo especificado. Si no lo está, el cursor simplemente
   será congelado hasta que llame a unscare_mouse(), para que no pueda
   interferir con su dibujado.
Relacionado con:
unscare_mouse,
scare_mouse_area,
show_mouse.
void unscare_mouse();
   Deshace el efecto de una llamada previa a scare_mouse(), recuperando el
   estado original del puntero.
Relacionado con:
scare_mouse.
extern int freeze_mouse_flag;
   Si esta variable está activa, el puntero del ratón no será redibujado
   cuando mueva el ratón. Esto le puede evitar tener que ocultar el puntero
   cada vez que dibuje en la pantalla, siempre que no dibuje sobre la
   posición actual del puntero.
Relacionado con:
show_mouse.
void position_mouse(int x, int y);
   Mueve el ratón a la posición de pantalla especificada. Puede llamar esta
   función incluso mientras el puntero esté visible.
Relacionado con:
install_mouse,
set_mouse_range,
set_mouse_speed.
void position_mouse_z(int z);
   Establece la variable que contiene la posición de la ruedecilla del ratón
   al valor indicado.
Relacionado con:
install_mouse,
position_mouse.
void set_mouse_range(int x1, int y1, int x2, int y2);
   Crea un área de pantalla sobre la que el ratón se podrá desplazar. Pase
   los parámetros de las esquinas del recuadro (coordenadas inclusivas). Si
   no llama esta función, el área por defecto se activará a (0, 0,
   SCREEN_W-1, SCREEN_H-1).
Relacionado con:
install_mouse,
set_mouse_speed,
position_mouse.
void set_mouse_speed(int xspeed, int yspeed);
   Ajusta la velocidad del ratón. Valores grandes de xspeed e yspeed
   significan un movimiento más lento: por defecto ambos son 2.
Relacionado con:
install_mouse,
set_mouse_range,
position_mouse.
void set_mouse_sprite(BITMAP *sprite);
   ¿No le gusta mi puntero de ratón? No problemo. Use esta función para usar
   uno propio alternativo. Si cambia el puntero y luego quiere volver a
   ver mi querida flecha otra vez, llame set_mouse_sprite(NULL).
   Como bonificación, set_mouse_sprite(NULL) usa la paleta de colores
   actualmente seleccionada para elegir los colores de la flecha. Por lo que
   si el cursor se ve feo tras cambiar la paleta, llame a
   set_mouse_sprite(NULL).
Relacionado con:
install_mouse,
show_mouse,
set_mouse_sprite_focus.
void set_mouse_sprite_focus(int x, int y);
   El foco del ratón es la parte del puntero que representa la posición
   actual del ratón, vamos, la posición (mouse_x, mouse_y). Por defecto el
   foco está arriba a la izquierda de la flecha, pero si va a usar un
   puntero de ratón diferente, quizás deba alterar esto.
Relacionado con:
set_mouse_sprite.
void get_mouse_mickeys(int *mickeyx, int *mickeyy);
   Mide cómo de lejos se ha movido el ratón desde la última llamada a esta
   función. El ratón seguirá generando unidades de movimiento incluso cuando
   llegue al borde de la pantalla, por lo que esta forma de control puede
   ser útil en juegos que requieran un rango de movimiento del ratón
   infinito.
Relacionado con:
install_mouse.
extern void (*mouse_callback)(int flags);
   Llamado por el controlador de interrupciones siempre cuando el ratón se
   mueva o el valor de los botones cambie. Esta función debe ser bloqueada en
   memoria (locked), y debe ejecutarse ¡muy rápido! Se le pasan los
   bits de evento que activaron la llamada, que son una máscara de bits
   que puede contener cualquiera de los siguientes valores MOUSE_FLAG_MOVE,
   MOUSE_FLAG_LEFT_DOWN, MOUSE_FLAG_LEFT_UP, MOUSE_FLAG_RIGHT_DOWN,
   MOUSE_FLAG_RIGHT_UP, MOUSE_FLAG_MIDDLE_DOWN, MOUSE_FLAG_MIDDLE_UP, y
   MOUSE_FLAG_MOVE_Z.
Relacionado con:
install_mouse.
Volver al Indice