diff options
Diffstat (limited to 'src/rendering')
| -rw-r--r-- | src/rendering/CMakeLists.txt | 7 | ||||
| -rw-r--r-- | src/rendering/include/engine/rendering/rendering.h | 3 | ||||
| -rw-r--r-- | src/rendering/include/engine/rendering/window.h | 4 | ||||
| -rw-r--r-- | src/rendering/src/window.c | 12 |
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; + } +} |
