#include #include #include #include #include #include "Tests.h" #include "core/Window.h" static int ticks = 200; static CoreButton closeButton = 0; static CoreButton testButton = 0; static bool isRunning(void*) { return !coreWindowShouldClose() && ticks > 0 && !coreControlsDown(closeButton); } static void tick(void*) { ticks -= ticks > 0; printf("TPS: %.3f\nFPS: %.3f\n", (double)coreWindowTicksPerSecond(), (double)coreWindowFramesPerSecond()); 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)); CoreVector2 mouse = coreControlsLastMousePosition(); printf("Mouse: %.2f %.2f\n", (double)mouse.data[0], (double)mouse.data[1]); } static void render(void*, float) { } static void testWindow(void) { CoreWindowOptions options = {{{800, 480}}, false, "Test"}; if(coreWindowOpen(&options)) { return; } closeButton = coreControlsAdd("Close Button"); coreControlsBindKey(closeButton, GLFW_KEY_Q); testButton = coreControlsAdd("Test Button"); coreControlsBindKey(testButton, GLFW_KEY_T); coreWindowShow(); coreWindowRunHandler(isRunning, nullptr); coreWindowTickHandler(tick, nullptr); coreWindowRenderHandler(render, nullptr); coreWindowNanosPerTick(50000000); coreWindowRun(); coreWindowClose(); } int main(int argAmount, char** args) { (void)args; if(argAmount < 3) { CORE_LOG_ERROR("missing path to images and/or mode"); return 0; } else if(strcmp("test", args[2]) == 0) { testImageReader(args[1]); testNetwork(); } else if(strcmp("window", args[2]) == 0) { testWindow(); } coreFinalizeTests(); corePrintMemoryReport(); return 0; }