megamarc / Tilengine

Free 2D graphics engine with raster effects for retro/classic style game development
https://www.tilengine.org
Mozilla Public License 2.0
847 stars 95 forks source link

Change show/hide cursor policy. #72

Open ghost opened 4 years ago

ghost commented 4 years ago

https://github.com/megamarc/Tilengine/blob/68ee0ef853ba69e6f8fe4dba23c5ecd2e77784fd/src/Window.c#L250

Hola @megamarc

Tengo un comportamiento no esperado en Linux, al cambiar a fullscreen(Alt + Enter) y volver a ventana modo normal. Lo que sucede es que el cursor se oculta en modo fullscreen (comportamiento esperado según L250) pero continua oculto luego, al volver a modo normal de ventana.

Si bien, es posible corregir esto, me surgió la duda que tal vez haya que cambiar este comportamiento por completo, como permitir al usuario control total de la visibilidad del cursor usando SDL y que Tilengine no interfiera, o al contrario, que Tilengine implemente funciones afines.

Saludos.

megamarc commented 4 years ago

Hola, El entorno de ventana tal como está hecho, no contempla el uso de ratón, de ahí que se elimine (los juegos arcade tradicionales y de consola no usan ratón). Luego hice un ejemplo usando el ratón directamente através de SDL2, con lo que ahí entra el conflicto.

Debería añadir una función tipo TLN_ShowMouseCursor(bool enable) para mostrar o esconderlo a demanda, y que persista entre los cambios de pantalla completa/ventana.

ghost commented 4 years ago

Muchas gracias @megamarc :+1: