2#ifndef LIBSBX_DEVICES_WINDOW_HPP_
3#define LIBSBX_DEVICES_WINDOW_HPP_
10#include <unordered_set>
13#include <libsbx/utility/target.hpp>
15#include <libsbx/core/concepts.hpp>
18#include <libsbx/math/vector2.hpp>
20#include <libsbx/signals/signal.hpp>
22#include <libsbx/devices/events.hpp>
23#include <libsbx/devices/input.hpp>
25namespace sbx::devices {
29 std::uint32_t width{};
30 std::uint32_t height{};
41 auto handle() -> GLFWwindow*;
43 operator GLFWwindow*();
45 auto title()
const ->
const std::string&;
47 auto set_title(
const std::string& title) -> void;
49 auto width()
const -> std::uint32_t;
51 auto height()
const -> std::uint32_t;
53 auto aspect_ratio()
const -> std::float_t;
71 auto is_iconified()
const noexcept -> bool;
73 auto is_focused()
const noexcept -> bool;
75 auto is_visible()
const noexcept -> bool;
92 return _last_mouse_position;
97 auto _set_callbacks() -> void;
100 std::uint32_t _width{};
101 std::uint32_t _height{};
103 GLFWwindow* _handle{};
Definition: window.hpp:33
auto show() -> void
Makes the window visible.
Definition: window.cpp:108
auto should_close() -> bool
Determins if the window should be closed.
Definition: window.cpp:104
auto hide() -> void
Hides the window.
Definition: window.cpp:112
A vector in two-dimensional space.
Definition: vector2.hpp:28
Definition: signal.hpp:18
Definition: window.hpp:27