#ifdef ARC_GLFW_WINDOW #include "arc/graphics/window.h" #include "window.h" #include "arc/std/errno.h" #include #include void framebufferSizeCallback(GLFWwindow *window, int width, int height){ glViewport(0, 0, width, height); } void ARC_Window_Create(ARC_Window **window, ARC_WindowInfo *info){ glfwInit(); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); glfwWindowHint(GLFW_FLOATING, GLFW_TRUE); *window = (ARC_Window *) glfwCreateWindow(info->w, info->h, info->title, NULL, NULL); if(*window == NULL){ printf("Failed to create GLFW window\n"); glfwTerminate(); arc_errno = ARC_ERRNO_NULL; } glfwMakeContextCurrent((GLFWwindow *)*window); glViewport(0, 0, info->w, info->h); glfwSetFramebufferSizeCallback((GLFWwindow *)*window, framebufferSizeCallback); } void ARC_Window_Destroy(ARC_Window *window){ glfwTerminate(); } #endif //ARC_GLFW