5 #include "Mountain/core.hpp" 6 #include "Mountain/rendering/renderer.hpp" 18 enum class WindowMode : uint8_t
37 STATIC_GETTER(
Vector2i, Position, m_Position)
39 MOUNTAIN_API
static void SetPosition(
Vector2i newPosition);
42 STATIC_GETTER(
Vector2i, Size, m_Size)
44 MOUNTAIN_API
static void SetSize(
Vector2i newSize);
48 MOUNTAIN_API
static bool_t GetShouldClose();
51 MOUNTAIN_API
static void SetShouldClose(bool_t newShouldClose);
54 MOUNTAIN_API
static void MakeContextCurrent();
57 STATIC_GETTER(GLFWwindow*, Handle, m_Window)
60 STATIC_GETTER(bool_t, Visible, m_Visible)
63 MOUNTAIN_API
static void SetVisible(bool_t newVisible);
70 MOUNTAIN_API
static void SetCursorHidden(bool_t newCursorHidden);
73 MOUNTAIN_API
static void SetCursorPosition(
Vector2 newPosition);
75 STATIC_GETTER(bool_t, VSync, m_VSync)
77 MOUNTAIN_API
static void SetVSync(bool_t newVsync);
79 STATIC_GETTER(WindowMode, WindowMode, m_WindowMode)
81 MOUNTAIN_API
static void SetWindowMode(WindowMode newWindowMode);
84 STATIC_GETTER(int32_t, CurrentScreen, m_CurrentScreen)
87 MOUNTAIN_API
static std::string_view GetTitle();
89 MOUNTAIN_API
static void SetTitle(
const std::string& newTitle);
91 STATIC_GETTER(bool_t, Minimized, m_Minimized)
95 MOUNTAIN_API
static inline GLFWwindow* m_Window =
nullptr;
97 MOUNTAIN_API
static inline WindowMode m_WindowMode = WindowMode::Windowed;
99 MOUNTAIN_API
static inline int32_t m_CurrentScreen;
101 MOUNTAIN_API
static inline Vector2i m_Position;
102 MOUNTAIN_API
static inline Vector2i m_Size;
104 MOUNTAIN_API
static inline bool_t m_Visible;
105 MOUNTAIN_API
static inline bool_t m_Minimized =
false;
107 MOUNTAIN_API
static inline bool_t m_VSync =
false;
110 static void Initialize(
const std::string& windowTitle,
Vector2i windowSize,
const OpenGlVersion &glVersion);
113 static void Shutdown();
115 static void UpdateFields();
117 static void UpdateCurrentScreen();
119 static void PollEvents();
121 static void SwapBuffers();
123 static void WindowMinimizeCallback(GLFWwindow* window, int32_t minimized);
A wrapper for the main window.
static MOUNTAIN_API Event< Vector2i > onSizeChanged
Event called when the window size changed. The parameter is the new size.
static MOUNTAIN_API Event< Vector2i > onPositionChanged
Event called when the window position changed. The parameter is the new position. ...
Custom Mountain smart pointer. Represents both a std::shared_ptr and a std::weak_ptr.
Defines the Mountain::Texture class.
Contains all declarations of the Mountain Framework.