123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #ifndef CORE_WINDOW_MANAGER_H
- #define CORE_WINDOW_MANAGER_H
- #include <core/Vector.h>
- typedef bool (*WindowRunHandler)(void* data);
- typedef void (*WindowTickHandler)(void* data);
- typedef void (*WindowRenderHandler)(void* data, float lag);
- typedef struct {
- IntVector2 size;
- bool fullscreen;
- const char* name;
- } WindowOptions;
- bool openWindow(const WindowOptions* options);
- void closeWindow(void);
- void showWindow(void);
- void trapWindowCursor(void);
- void freeWindowCursor(void);
- bool isWindowCursorTrapped(void);
- const IntVector2* getWindowSize(void);
- bool hasWindowSizeChanged(void);
- bool shouldWindowClose(void);
- void setWindowRunHandler(WindowRunHandler wr, void* data);
- void setWindowTickHandler(WindowTickHandler t, void* data);
- void setWindowRenderHandler(WindowRenderHandler r, void* data);
- void setWindowNanosPerTick(i64 nanos);
- void runWindow(void);
- float getWindowTicksPerSecond(void);
- float getWindowFramesPerSecond(void);
- void setInputLimit(size_t limit);
- void resetInput(void);
- void enableInput(void);
- void disableInput(void);
- bool isInputEnabled(void);
- void fillInput(const char* s);
- size_t getInputCursor(void);
- void setInputCursor(size_t index);
- const char* getInputString(void);
- typedef size_t Button;
- Button addButton(const char* name);
- void bindKeyToButton(Button b, int key);
- void bindGamepadToButton(Button b, int gamepadButton);
- void bindMouseToButton(Button b, int mouseButton);
- Vector2 getLastMousePosition(void);
- Vector2 getMousePosition(void);
- Vector2 getLeftGamepadAxis(void);
- Vector2 getRightGamepadAxis(void);
- float getLeftGamepadTrigger(void);
- float getRightGamepadTrigger(void);
- bool isButtonDown(Button b);
- int getButtonDownTime(Button b);
- bool wasButtonReleased(Button b);
- const char* getButtonName(Button b);
- #endif
|