Class WindowSystem

Inheritance Relationships

Base Type

Class Documentation

class legion::application::WindowSystem : public legion::core::System<WindowSystem>

The system that’s responsible for raising and polling all window events, swapping the buffers of the windows and creation and destruction of windows.

Public Functions

inline void showMainWindow()
inline void exit()
virtual void setup()
void createWindows()
void fullscreenWindows()
void updateWindowIcons()
void refreshWindows(time::time_span<fast_time> deltaTime)
void handleWindowEvents(time::time_span<fast_time> deltaTime)

Public Static Functions

static bool windowStillExists(GLFWwindow *win)
static void requestIconChange(id_type entityId, image_handle icon)
static void requestIconChange(id_type entityId, const std::string &iconName)
static void requestFullscreenToggle(id_type entityId, math::ivec2 position = {100, 100}, math::ivec2 size = {400, 400})
static void requestWindow(id_type entityId, math::ivec2 size, const std::string &name, image_handle icon, GLFWmonitor *monitor, GLFWwindow *share, int swapInterval, const std::vector<std::pair<int, int>> &hints)
static void requestWindow(id_type entityId, math::ivec2 size = {400, 400}, const std::string &name = "LEGION Engine", image_handle icon = invalid_image_handle, GLFWmonitor *monitor = nullptr, GLFWwindow *share = nullptr, int swapInterval = 0)
static void requestWindow(id_type entityId, math::ivec2 size, const std::string &name, const std::string &iconName, GLFWmonitor *monitor, GLFWwindow *share, int swapInterval, const std::vector<std::pair<int, int>> &hints)
static void requestWindow(id_type entityId, math::ivec2 size, const std::string &name, const std::string &iconName, GLFWmonitor *monitor = nullptr, GLFWwindow *share = nullptr, int swapInterval = 0)