7#define GLFW_INCLUDE_VULKAN
11#include <GLFW/glfw3.h>
14#include "SD/export.hpp"
51 Window(
int width,
int height,
const std::string& title);
78 [[
nodiscard]] std::pair<int, int> get_window_size()
const;
79 [[
nodiscard]] std::pair<int, int> get_framebuffer_size()
const;
82 create_window_surface(vk::UniqueInstance&
instance,
110 static void dispatch_char_dispatch_char(
GLFWwindow*
window,
unsigned int keycode);
Definition EventManager.hpp:20
Definition LayerList.hpp:21
Definition Window.hpp:113
WindowBuilder & set_refresh_callback_set_refresh_callback(const RefreshCallbackFn &callback)
Definition Window.cpp:222
WindowBuilder & set_title(const char *title)
Definition Window.cpp:183
WindowBuilder & set_scroll_callback(const ScrollCallbackFn &callback)
Definition Window.cpp:208
std::unique_ptr< Window > build() const
Definition Window.cpp:230
WindowBuilder & set_size(int width, int height)
Definition Window.cpp:187
WindowBuilder & set_width(int width)
Definition Window.cpp:192
WindowBuilder()
Definition Window.hpp:115
WindowBuilder & set_mouse_button_callback(const MouseButtonCallbackFn &callback)
Definition Window.cpp:217
WindowBuilder & set_height(int height)
Definition Window.cpp:196
WindowBuilder & set_char_callback(const CharCallbackFn &callback)
Definition Window.cpp:226
WindowBuilder & set_cursor_callback(const CursorCallbackFn &callback)
Definition Window.cpp:212
WindowBuilder & set_resize_callback(const ResizeCallbackFn &callback)
Definition Window.cpp:200
WindowBuilder & set_key_callback(const KeyCallbackFn &callback)
Definition Window.cpp:204
WindowDesc m_desc
Definition Window.hpp:132
LayerList layer_stack
Definition Window.hpp:86
ScrollCallbackFn m_scroll_callback
Definition Window.hpp:94
MouseButtonCallbackFn m_mouse_button_callback
Definition Window.hpp:96
Window(const Window &)=delete
void set_key_callback(const KeyCallbackFn &callback)
Definition Window.hpp:68
Window & operator=(Window &&)=delete
GLFWwindow * m_handle
Definition Window.hpp:89
void set_char_callback(const CharCallbackFn &callback)
Definition Window.hpp:75
void set_refresh_callback(const RefreshCallbackFn &callback)
Definition Window.hpp:74
CharCallbackFn m_char_callback
Definition Window.hpp:98
CursorCallbackFn m_cursor_callback
Definition Window.hpp:95
void set_resize_callback(const ResizeCallbackFn &callback)
Definition Window.hpp:67
Window & operator=(const Window &)=delete
void set_mouse_button_callback(const MouseButtonCallbackFn &callback)
Definition Window.hpp:71
RefreshCallbackFn m_refresh_callback
Definition Window.hpp:97
void set_cursor_callback(const CursorCallbackFn &callback)
Definition Window.hpp:70
ResizeCallbackFn m_resize_callback
Definition Window.hpp:92
static void wait_events()
ONLY CALL if ALL windows are minimized.
Definition Window.hpp:63
EventManager & get_event_manager()
Definition Window.hpp:84
GLFWwindow * get_native_handle() const
Definition Window.hpp:77
KeyCallbackFn m_key_callback
Definition Window.hpp:93
EventManager m_window_event_manager
Definition Window.hpp:100
void set_scroll_callback(const ScrollCallbackFn &callback)
Definition Window.hpp:69
bool should_close() const
Definition Window.hpp:80
Definition Application.hpp:28
std::function< void(int, int, int)> MouseButtonCallbackFn
Definition Window.hpp:24
std::function< void()> RefreshCallbackFn
Definition Window.hpp:25
std::function< void(double, double)> CursorCallbackFn
Definition Window.hpp:23
std::function< void(int, int)> ResizeCallbackFn
Definition Window.hpp:20
std::function< void(double, double)> ScrollCallbackFn
Definition Window.hpp:22
std::function< void(int, int, int, int)> KeyCallbackFn
Definition Window.hpp:21
std::function< void(unsigned int)> CharCallbackFn
Definition Window.hpp:26
int width
Definition Window.hpp:36
ScrollCallbackFn scroll_callback
Definition Window.hpp:41
int height
Definition Window.hpp:37
CharCallbackFn char_callback
Definition Window.hpp:45
MouseButtonCallbackFn mouse_button_callback
Definition Window.hpp:43
CursorCallbackFn cursor_callback
Definition Window.hpp:42
RefreshCallbackFn refresh_callback
Definition Window.hpp:44
ResizeCallbackFn resize_callback
Definition Window.hpp:39
const char * title
Definition Window.hpp:35
KeyCallbackFn key_callback
Definition Window.hpp:40
constexpr T g_type_max
Definition types.hpp:21