Files
reilua-enhanced/include/state.h
2023-11-27 23:16:49 +02:00

49 lines
1.4 KiB
C

#pragma once
#ifdef PLATFORM_DESKTOP_SDL
#define PLATFORM_SDL_EVENT_QUEUE_LEN 128
#endif
typedef struct {
char *exePath;
bool hasWindow;
bool run;
bool gcUnload;
lua_State *luaState;
Vector2 resolution;
int logLevelInvalid;
Font defaultFont;
Material defaultMaterial;
int *RLGLcurrentShaderLocs;
/* Events. */
#ifdef PLATFORM_DESKTOP
/* Window events. */
GLFWwindowsizefun raylibWindowSizeCallback;
GLFWwindowmaximizefun raylibWindowMaximizeCallback;
GLFWwindowiconifyfun raylibWindowIconifyCallback;
GLFWwindowfocusfun raylibWindowFocusCallback;
GLFWdropfun raylibWindowDropCallback;
/* Input events. */
GLFWkeyfun raylibKeyCallback;
GLFWcharfun raylibCharCallback;
GLFWmousebuttonfun raylibMouseButtonCallback;
GLFWcursorposfun raylibMouseCursorPosCallback;
GLFWscrollfun raylibMouseScrollCallback;
GLFWcursorenterfun raylibCursorEnterCallback;
GLFWjoystickfun raylibJoystickCallback;
/* NOTE! Experimental. Needs glfw PR https://github.com/glfw/glfw/pull/1445 */
GLFWpentabletdatafun glfwtabletDataCallback;
GLFWpentabletcursorfun glfwtabletCursorCallback;
GLFWpentabletproximityfun glfwtabletProximityCallback;
#elif PLATFORM_DESKTOP_SDL
int SDL_eventQueueLen;
SDL_Event *SDL_eventQueue;
#endif
} State;
extern State *state;
bool stateInit( int argn, const char **argc, const char *exePath );
void stateInitInterpret( int argn, const char **argc );
void stateFree();