28 #ifndef BERSERK_GLFWWINDOWMANAGER_HPP
29 #define BERSERK_GLFWWINDOWMANAGER_HPP
36 #include <unordered_map>
38 #include <GLFW/glfw3.h>
72 static void WindowCloseCallback(GLFWwindow *HND);
73 static void WindowResizedCallback(GLFWwindow *HND,
int32 width,
int32 height);
74 static void WindowContentScaleCallback(GLFWwindow *HND,
float xScale,
float yScale);
75 static void FramebufferSizeCallback(GLFWwindow *HND,
int32 width,
int32 height);
76 static void IconifyCallback(GLFWwindow *HND,
int32 iconify);
77 static void MaximizeCallback(GLFWwindow *HND,
int32 maximize);
78 static void PositionCallback(GLFWwindow *HND,
int32 posX,
int32 posY);
79 static void FocusCallback(GLFWwindow *HND,
int32 focus);
80 static void ErrorCallback(
int32 errorCode,
const char *description);
84 std::shared_ptr<class GlfwInput> mInput;
88 std::unordered_map<StringName, Ref<Window>> mWindows;
90 std::unordered_map<GLFWwindow *, Ref<Window>> mWindowsByHND;
92 bool mClientApi =
true;
#define BRK_NS_END
Definition: Config.hpp:48
#define BRK_API
Definition: Config.hpp:32
std::int32_t int32
Definition: Typedefs.hpp:43
Game application main class.
Definition: Application.hpp:63
Type
Definition: EventWindow.hpp:51
Glfw window manager implementation.
Definition: GlfwWindowManager.hpp:51
BRK_API SwapBuffersFunc GetSwapBuffersFunc()
Definition: GlfwWindowManager.cpp:152
BRK_API ~GlfwWindowManager() override
Definition: GlfwWindowManager.cpp:80
BRK_API Ref< Window > CreateWindow(const StringName &name, const Size2i &size, const String &title) override
CreateFromImage new OS native rendering window.
Definition: GlfwWindowManager.cpp:95
BRK_API MakeContextCurrentFunc GetMakeContextCurrentFunc()
Definition: GlfwWindowManager.cpp:141
std::function< void(const Ref< Window > &)> MakeContextCurrentFunc
Definition: GlfwWindowManager.hpp:53
BRK_API Ref< Window > GetPrimaryWindow() override
Definition: GlfwWindowManager.cpp:137
std::function< void(const Ref< Window > &)> SwapBuffersFunc
Definition: GlfwWindowManager.hpp:54
BRK_API GlfwWindowManager(bool vsync, bool clientApi)
Definition: GlfwWindowManager.cpp:38
Cached shared utf-8 string id.
Definition: StringName.hpp:61
Utf-8 encoded std based default string class.
Manager for OS windows.
Definition: WindowManager.hpp:47
Definition: GLDevice.cpp:46