clean window.c
This commit is contained in:
+13
-12
@@ -44,7 +44,8 @@ GLFWmonitor *get_monitor(unsigned char screen_index) {
|
|||||||
return monitors[screen_index];
|
return monitors[screen_index];
|
||||||
}
|
}
|
||||||
|
|
||||||
GLFWwindow *create_window(GLFWmonitor *monitor) {
|
GLFWwindow *create_window(GLFWmonitor *monitor,
|
||||||
|
void (*key_callback)(Window *, int, int, int, int)) {
|
||||||
// Window related hints
|
// Window related hints
|
||||||
glfwWindowHint(GLFW_DECORATED, GLFW_FALSE);
|
glfwWindowHint(GLFW_DECORATED, GLFW_FALSE);
|
||||||
|
|
||||||
@@ -59,19 +60,19 @@ GLFWwindow *create_window(GLFWmonitor *monitor) {
|
|||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
return window;
|
|
||||||
}
|
|
||||||
|
|
||||||
void use_window(GLFWwindow *window,
|
|
||||||
void (*key_callback)(Window *, int, int, int, int)) {
|
|
||||||
// use current window
|
|
||||||
glfwMakeContextCurrent(window);
|
|
||||||
// link GLAD and GLFW window
|
|
||||||
gladLoadGL(glfwGetProcAddress);
|
|
||||||
// set keyboard handler
|
// set keyboard handler
|
||||||
glfwSetKeyCallback(window, key_callback);
|
glfwSetKeyCallback(window, key_callback);
|
||||||
// hide cursor
|
// hide cursor
|
||||||
glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_HIDDEN);
|
glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_HIDDEN);
|
||||||
|
|
||||||
|
return window;
|
||||||
|
}
|
||||||
|
|
||||||
|
void use_window(GLFWwindow *window) {
|
||||||
|
// use current window
|
||||||
|
glfwMakeContextCurrent(window);
|
||||||
|
// link GLAD and GLFW window
|
||||||
|
gladLoadGL(glfwGetProcAddress);
|
||||||
// vsync
|
// vsync
|
||||||
glfwSwapInterval(1);
|
glfwSwapInterval(1);
|
||||||
}
|
}
|
||||||
@@ -86,9 +87,9 @@ Window *init_window(Parameters params,
|
|||||||
|
|
||||||
monitor = get_monitor(params.screen);
|
monitor = get_monitor(params.screen);
|
||||||
|
|
||||||
window = create_window(monitor);
|
window = create_window(monitor, key_callback);
|
||||||
|
|
||||||
use_window(window, key_callback);
|
use_window(window);
|
||||||
|
|
||||||
return window;
|
return window;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user