¿Hay alguna manera de que allegro utilice el puntero del ratón por defecto del sistema operativo que estemos utilizando en lugar de cambiarlo por ese puntero negro?
No me acuerdo muy bien y no tengo ahora allegro para probarlo, pero creo que se puede hacer ocultando el puntero de allegro y usando el api de windows: ShowCursor (TRUE); (ref:
msdn)
Bueno, más o menos me sirve, pero buscaba una solución "portable"... es k kiero k mis programas corran bajo Linux tb :sonriendo:
void set_mouse_sprite(BITMAP *sprite);
Con esta funcion puedes cambiar el gráfico del puntero del ratón para usar lo que quieras.
void set_mouse_sprite_focus(int x, int y);
Si el puntero es un punto de mira por ejemplo, necesitaras estas para establecer la coordenada donde apunta.
Y recuerda que siempre puedes ocultar el puntero de allegro, y teniendo las coordenadas mouse_x y mouse_y puedes dibujar lo que tu quieras, un efecto de particulas, una lupa de aumento, una luz, ...
Si, pero... yo quiero que se dibuje el ratón del sistema operativo. De esta forma tendría que hacer un bitmap con el ratón de cada sistema operativo para que se dibuje el correcto, y aún así, no se podría saber si el tema de escritorio ha cambiado el puntero, etc.
Pues entonces la solución está en lo primero que dije de ShowCursor(TRUE). Busca la función equivalente en cada plataforma y ya está.
Hmmm... pues no, no funciona. Al incluir me da un error. El API de Windows por lo visto define un tipo de dato BITMAP, mientras que Allegro también tiene su propio tipo de dato BITMAP, así que causa conflicto.
Perdón, en la frase "Al incluir me da un error" debería poner "Al incluir me da un error"
Oye, que pasa? Coño, que al incluir el "windows.h" me da error, no sé por qué el mensaje se postea mal si uso "<" ">" en vez de comillas.
Para poner #include
y que se postee bien tienes que desactivar el HTML en el mensaje, sino lo tomara como un tag.
Por otro lado, te da un error al incluir windows.h porque hay definiciones como BITMAP que ya están en allegro. Lo que tienes que incluir es despues de y ya te la incluye cambiando algunos tipos como BITMAP a WINDOWS_BITMAP (o algo parecido), puedes mirar esta cabecera para ver las redefiniciones.
Pero para lo que quieres hacer creo que bastaria solo con incluirla porque no necesitas usar los tipos de windows.