summaryrefslogtreecommitdiff
path: root/src/rendering
diff options
context:
space:
mode:
Diffstat (limited to 'src/rendering')
-rw-r--r--src/rendering/CMakeLists.txt7
-rw-r--r--src/rendering/include/engine/rendering/rendering.h3
-rw-r--r--src/rendering/include/engine/rendering/window.h4
-rw-r--r--src/rendering/src/window.c12
4 files changed, 19 insertions, 7 deletions
diff --git a/src/rendering/CMakeLists.txt b/src/rendering/CMakeLists.txt
index 237f147..a00f3b1 100644
--- a/src/rendering/CMakeLists.txt
+++ b/src/rendering/CMakeLists.txt
@@ -22,9 +22,12 @@ set_property(SOURCE src/window.c APPEND PROPERTY OBJECT_DEPENDS ${GLAD_HEADER})
set_property(SOURCE src/rendering.c APPEND PROPERTY OBJECT_DEPENDS ${GLAD_HEADER})
target_compile_options(daw_rendering PUBLIC ${BUILD_OPTS})
-target_include_directories(daw_rendering PRIVATE ${DAW_INCLUDE_DIRS})
+target_include_directories(daw_rendering PRIVATE
+ ${DAW_INCLUDE_DIRS}
+ ${GLFW_INCLUDE_DIR}
+)
target_link_libraries(daw_rendering PRIVATE
OpenGL::GL
cglm
glfw
- )
+)
diff --git a/src/rendering/include/engine/rendering/rendering.h b/src/rendering/include/engine/rendering/rendering.h
index 7120182..d338778 100644
--- a/src/rendering/include/engine/rendering/rendering.h
+++ b/src/rendering/include/engine/rendering/rendering.h
@@ -9,9 +9,6 @@ extern "C" {
#include <engine/utils/vector.h>
#include <engine/rendering/window.h>
-#define GLFW_INCLUDE_NONE
-#include <GLFW/glfw3.h>
-
#include <cglm/cglm.h>
/* Definitions */
diff --git a/src/rendering/include/engine/rendering/window.h b/src/rendering/include/engine/rendering/window.h
index e5d3528..c902cad 100644
--- a/src/rendering/include/engine/rendering/window.h
+++ b/src/rendering/include/engine/rendering/window.h
@@ -9,7 +9,7 @@ extern "C" {
#include <cglm/cglm.h>
#ifndef ENGINE_RENDERING_WINDOW_H_EXCLUDE_EXTERNS
-extern void* window_poll_events;
+extern void (*window_poll_events)(void);
extern u64 (*get_time)(void);
#endif
@@ -41,6 +41,8 @@ Window* init_window_glfw(const char* windowtitle, ivec2 windowsize, const u32 fl
void destroy_window(Window* w);
void window_resize(Window* window, int width, int height);
+bool window_should_close(Window* w);
+
// Renderer intializer(s)
void init_render_opengl(Window* w, const u32 flags);
diff --git a/src/rendering/src/window.c b/src/rendering/src/window.c
index a5e7db6..9f5e861 100644
--- a/src/rendering/src/window.c
+++ b/src/rendering/src/window.c
@@ -21,7 +21,7 @@
extern Platform* GLOBAL_PLATFORM;
-void *window_poll_events = NULL;
+void (*window_poll_events)(void) = NULL;
/* wrapper to get time in ms */
u64 (*get_time)(void) = NULL;
@@ -279,3 +279,13 @@ void get_mousepos(double *x, double *y) {
}
}
+
+bool window_should_close(Window* w) {
+ switch(w->framework) {
+ case WINDOW_FRAMEWORK_GLFW:
+ return glfwWindowShouldClose(w->window);
+ break;
+ default:
+ return false;
+ }
+}