123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #ifndef CORE_WINDOW_H
- #define CORE_WINDOW_H
- #include <core/Vector.h>
- typedef bool (*CoreWindowRunHandler)(void* data);
- typedef void (*CoreWindowTickHandler)(void* data);
- typedef void (*CoreWindowRenderHandler)(void* data, float lag);
- typedef struct {
- CoreIntVector2 size;
- bool fullscreen;
- const char* name;
- } CoreWindowOptions;
- bool coreOpenWindow(const CoreWindowOptions* options);
- void coreCloseWindow(void);
- void coreShowWindow(void);
- void coreTrapWindowCursor(void);
- void coreFreeWindowCursor(void);
- bool coreIsWindowCursorTrapped(void);
- const CoreIntVector2* coreGetWindowSize(void);
- bool coreHasWindowSizeChanged(void);
- bool coreShouldWindowClose(void);
- void coreSetWindowRunHandler(CoreWindowRunHandler wr, void* data);
- void coreSetWindowTickHandler(CoreWindowTickHandler t, void* data);
- void coreSetWindowRenderHandler(CoreWindowRenderHandler r, void* data);
- void coreSetWindowNanosPerTick(i64 nanos);
- void coreRunWindow(void);
- float coreGetWindowTicksPerSecond(void);
- float coreGetWindowFramesPerSecond(void);
- // namespace Input {
- // void setLimit(int limit);
- // void reset();
- // void enable();
- // void disable();
- // bool isEnabled();
- // void fill(const char* s);
- // int getCursor();
- // void setCursor(int index);
- // const List<uint32>& getUnicode();
- //
- // template<int N>
- // void toString(StringBuffer<N>& s) {
- // for(uint32 c : getUnicode()) {
- // s.appendUnicode(c);
- // }
- // }
- // }
- typedef size_t CoreButton;
- CoreButton coreControlsAdd(const char* name);
- void coreControlsBindKey(CoreButton b, int key);
- void coreControlsBindGamepad(CoreButton b, int gamepadButton);
- void coreControlsBindMouse(CoreButton b, int mouseButton);
- CoreVector2 coreControlsLastMousePosition(void);
- CoreVector2 coreControlsMousePosition(void);
- CoreVector2 coreControlsLeftGamepadAxis(void);
- CoreVector2 coreControlsRightGamepadAxis(void);
- float coreControlsLeftGamepadTrigger(void);
- float coreControlsRightGamepadTrigger(void);
- bool coreControlsDown(CoreButton b);
- int coreControlsDownTime(CoreButton b);
- bool coreControlsReleased(CoreButton b);
- const char* coreControlsName(CoreButton b);
- #ifdef IMPORT_CORE
- #define WindowRunHandler CoreWindowRunHandler
- #define WindowTickHandler CoreWindowTickHandler
- #define WindowRenderHandler CoreWindowRenderHandler
- #define WindowOptions CoreWindowOptions
- #define openWindow coreOpenWindow
- #define closeWindow coreCloseWindow
- #define showWindow coreShowWindow
- #define trapWindowCursor coreTrapWindowCursor
- #define freeWindowCursor coreFreeWindowCursor
- #define isWindowCursorTrapped coreIsWindowCursorTrapped
- #define getWindowSize coreGetWindowSize
- #define hasWindowSizeChanged coreHasWindowSizeChanged
- #define shouldWindowClose coreShouldWindowClose
- #define setWindowRunHandler coreSetWindowRunHandler
- #define setWindowTickHandler coreSetWindowTickHandler
- #define setWindowRenderHandler coreSetWindowRenderHandler
- #define setWindowNanosPerTick coreSetWindowNanosPerTick
- #define runWindow coreRunWindow
- #define getWindowTicksPerSecond coreGetWindowTicksPerSecond
- #define getWindowFramesPerSecond coreGetWindowFramesPerSecond
- #define Button CoreButton
- #endif
- #endif
|