#define IMPORT_CORE #include #include #include #include "../Tests.h" #include "core/Window.h" static int ticks = 200; static Button closeButton = 0; static Button testButton = 0; static bool isRunning(void*) { return !shouldWindowClose() && ticks > 0 && !coreControlsDown(closeButton); } static void tick(void*) { ticks -= ticks > 0; printf("TPS: %.3f\nFPS: %.3f\n", (double)getWindowTicksPerSecond(), (double)getWindowFramesPerSecond()); printf("%12s | Down: %d | DownTime: %3d | Released: %d\n", coreControlsName(closeButton), coreControlsDown(closeButton), coreControlsDownTime(closeButton), coreControlsReleased(closeButton)); printf("%12s | Down: %d | DownTime: %3d | Released: %d\n", coreControlsName(testButton), coreControlsDown(testButton), coreControlsDownTime(testButton), coreControlsReleased(testButton)); Vector2 mouse = coreControlsLastMousePosition(); printf("Mouse: %.2f %.2f\n", (double)mouse.data[0], (double)mouse.data[1]); } static void render(void*, float) { } void testWindow(void) { WindowOptions options = {{{800, 480}}, false, "Test"}; if(openWindow(&options)) { return; } closeButton = coreControlsAdd("Close Button"); coreControlsBindKey(closeButton, GLFW_KEY_Q); testButton = coreControlsAdd("Test Button"); coreControlsBindKey(testButton, GLFW_KEY_T); showWindow(); setWindowRunHandler(isRunning, nullptr); setWindowTickHandler(tick, nullptr); setWindowRenderHandler(render, nullptr); setWindowNanosPerTick(50000000); runWindow(); closeWindow(); }