juegos

Juegos de terminal de Pancho: Catan (TUI, GUI, web, servidor, PicoCalc), ajedrez, calculadora y minijuegos
git clone https://git.lu3dhn.xyz/juegos.git
Log | Files | Refs

guikit.h (1562B)


      1 /* guikit.h - ventana SDL3 con un framebuffer RGB565.
      2  *
      3  * gk_open:       tamano fijo w x h, escalado entero con bordes.
      4  * gk_open_fluid: el framebuffer sigue la forma de la ventana (el lado justo mide
      5  *                el minimo, el otro crece) y se escala sin bordes; Surface.w/h
      6  *                cambian al redimensionar (llega EV_RESIZE). F11 / Alt+Enter:
      7  *                pantalla completa.
      8  *
      9  * Depuracion (sirve para probar sin mirar la ventana):
     10  *   APP_SHOT=archivo.ppm  vuelca cada cuadro a PPM
     11  *   APP_WIN=AxB           tamano inicial de la ventana adaptable
     12  *   APP_KEYS="teclas"     alimenta el input: ~ Enter, < Esc, > Tab, ^ v { } flechas,
     13  *                         . pausa de 300 ms, ! salir; el resto, tal cual */
     14 #ifndef COMUN_GUIKIT_H
     15 #define COMUN_GUIKIT_H
     16 #include "gfx.h"
     17 
     18 Surface *gk_open(const char *title, int w, int h, int scale);   /* NULL si falla */
     19 Surface *gk_open_fluid(const char *title, int min_w, int min_h);
     20 void     gk_present(void);
     21 int      gk_wait(int timeout_ms, int nfds, InEvent *ev);          /* 1 = hay evento */
     22 void     gk_close(void);
     23 char    *gk_clipboard(void);     /* texto del portapapeles (malloc) o NULL */
     24 /* Pide una linea de texto con un cuadro propio del sistema. Solo existe en la web
     25  * (el navegador no muestra el teclado tactil para el canvas): ahi muestra un campo de
     26  * entrada y devuelve 1 con el texto en buf, o 0 si se cancelo. En escritorio devuelve
     27  * -1 sin hacer nada y se escribe con el teclado como siempre. */
     28 int      gk_text_input(const char *title, char *buf, int n);
     29 
     30 #endif