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