#ifndef SHROOMS_VB_NATIVE_WINDOW_ #define SHROOMS_VB_NATIVE_WINDOW_ #include #include "nuklear.h" typedef struct WindowContext { SDL_Window *window; float screenSizeMultiplier; float screenScaleX, screenScaleY; SDL_Renderer *renderer; SDL_Texture *leftEye; SDL_Texture *rightEye; struct nk_context *nk; struct nk_font *font; } WindowContext; int windowInit(WindowContext *win, const char *title); void windowDestroy(WindowContext *win); float windowGetScreenSizeMultiplier(WindowContext *win); void windowSetScreenSizeMultiplier(WindowContext *win, float multiplier); void windowUpdate(WindowContext *win, const uint8_t *left, const uint8_t *right); int windowScaleX(WindowContext *win, int x); int windowScaleY(WindowContext *win, int y); int windowGetMenuHeight(WindowContext *win); int windowGetScreenHeight(WindowContext *win); void windowDisplayBegin(WindowContext *win); void windowDisplayEnd(WindowContext *win); bool windowGuiBegin(WindowContext *win, const char *title); void windowGuiEnd(WindowContext *win); void windowMenubarBegin(WindowContext *win, const char **items); void windowMenubarEnd(WindowContext *win); bool windowMenuBegin(WindowContext *win, const char *label, int width); void windowMenuEnd(WindowContext *win); bool windowMenuItemLabel(WindowContext *win, const char *label); bool windowMenuItemLabelChecked(WindowContext *win, const char *label, bool checked); #endif