X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fsystem.h;h=9b571858a3505e0f79c7e25ee6e28164b29eab60;hb=9e7ef91e1f6a1eb4c65ba52535d92eac3922f20e;hp=37d28541744ca37b8ea4a301d6ba934caddbee9e;hpb=5b85e48cd1e203b626e0f9a39ff9207501559b23;p=flatwaifu.git diff --git a/src/system.h b/src/system.h index 37d2854..9b57185 100644 --- a/src/system.h +++ b/src/system.h @@ -3,23 +3,45 @@ #include "glob.h" -#define SYSTEM_USE_OPENGL (1 << 0) -#define SYSTEM_USE_FULLSCREEN (1 << 1) +enum { Y_BYTE = 1, Y_WORD, Y_DWORD, Y_STRING, Y_SW_ON, Y_SW_OFF, Y_FILES, Y_KEY }; + +typedef struct cfg_t { + const char *cfg; + void *p; + byte t; +} cfg_t; + +typedef struct videomode_size_t { + int w, h, r; +} videomode_size_t; + +typedef struct videomode_t { + int n; + videomode_size_t *modes; +} videomode_t; /* common video subsystem routines */ -int Y_set_videomode (int w, int h, int flags); +void Y_get_videomode (int *w, int *h); int Y_videomode_setted (void); void Y_unset_videomode (void); -int Y_set_fullscreen (int yes); +void Y_set_fullscreen (int yes); int Y_get_fullscreen (void); /* hardware specific rendering */ +int Y_set_videomode_opengl (int w, int h, int fullscreen); +const videomode_t *Y_get_videomode_list_opengl (int fullscreen); void Y_swap_buffers (void); /* software specific rendering */ +int Y_set_videomode_software (int w, int h, int fullscreen); +const videomode_t *Y_get_videomode_list_software (int fullscreen); void Y_get_buffer (byte **buf, int *w, int *h, int *pitch); void Y_set_vga_palette (byte *vgapal); void Y_repaint_rect (int x, int y, int w, int h); void Y_repaint (void); -#endif /* SYSTEM_H_INCLUDED */ \ No newline at end of file +/* input */ +void Y_enable_text_input (void); +void Y_disable_text_input (void); + +#endif /* SYSTEM_H_INCLUDED */