lemur/window.h

41 lines
1.4 KiB
C

#ifndef SHROOMS_VB_NATIVE_WINDOW_
#define SHROOMS_VB_NATIVE_WINDOW_
#include <SDL2/SDL.h>
#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