27 std::expected<void, std::string> initialize(
const Window::Config &conf)
override;
28 std::expected<void, std::string> terminate()
override;
34 int get_width()
override;
35 int get_height()
override;
36 bool should_close()
override;
37 bool is_key_pressed(Key key)
override;
38 Time get_time()
override;
39 Window::ProcHandle get_proc_address()
override;
40 Window::WindowHandle get_window()
override;
46 void set_mouse_capture(
bool is_captured)
override;
47 void set_mouse_callback(
void* callback)
override;
48 void set_size_callback(
void* callback)
override;
49 void set_mouse_pos_callback(
void* callback)
override;
50 void set_key_callback(
void* callback)
override;
51 void set_dimensions(
int width,
int height)
override;
57 void swap_buffers()
override;
58 void poll_events()
override;
59 void update_dimensions()
override;
60 void set_context_version(
int major,
int minor)
override;
61 void use_core_profile()
override;
62 void set_hints_apple()
override;
63 void make_context_current()
override;
64 void close()
override;
65 void create_window(
int width,
int height,
66 const std::string &title)
override;
75 static void glfw_key_callback([[maybe_unused]] GLFWwindow *window,
77 [[maybe_unused]]
int scancode,
81 static void framebuffer_size_callback(GLFWwindow *window_backend,
82 int width,
int height);
83 static void mouse_callback([[maybe_unused]] GLFWwindow *window,
86 static int key_to_glfw(Key key);
87 static Key glfw_to_key(
int glfw_key);