33#ifndef DVD_CORE_WINDOW_MANAGER_H_
34#define DVD_CORE_WINDOW_MANAGER_H_
50struct WindowDescriptor;
51struct SizeChangeParams;
132 I32 targetDisplayIndex);
Class that provides an interface between our framework and the OS (start/stop, display support,...
void toggleFullScreen() const
static bool IsRelativeMouseMode() noexcept
static void CaptureMouse(bool state) noexcept
static vec2< U16 > GetFullscreenResolution() noexcept
DisplayWindow * activeWindow() const noexcept
static U32 GetMouseState(vec2< I32 > &pos, bool global) noexcept
DisplayWindow * getFocusedWindow() noexcept
static void DestroyAPISettings(DisplayWindow *window) noexcept
static ErrorCode ConfigureAPISettings(const PlatformContext &context, const WindowDescriptor &descriptor)
vector< std::unique_ptr< DisplayWindow > > _windows
vector< MonitorData > _monitors
static void ToggleRelativeMouseMode(bool state) noexcept
void stepResolution(bool increment)
static void SetCaptureMouse(bool state) noexcept
static vec2< I32 > GetGlobalCursorPosition() noexcept
size_t pushActiveWindow(DisplayWindow *window)
Returns the total number of active windows after the push.
static vec2< I32 > GetCursorPosition() noexcept
DisplayWindow * getWindowByID(U32 ID) noexcept
PlatformContext * _context
DisplayWindow * createWindow(const WindowDescriptor &descriptor, ErrorCode &err)
const vector< MonitorData > & monitorData() const noexcept
static ErrorCode ApplyAPISettings(const PlatformContext &context, RenderAPI api, DisplayWindow *targetWindow, DisplayWindow *activeWindow)
void increaseResolution()
ErrorCode init(PlatformContext &context, RenderAPI renderingAPI, vec2< I16 > initialPosition, vec2< U16 > initialSize, WindowMode windowMode, I32 targetDisplayIndex)
static void SetCursorStyle(CursorStyle style)
eastl::stack< DisplayWindow * > _activeWindows
size_t popActiveWindow()
Returns the remaining number of windows after the pop.
bool destroyWindow(DisplayWindow *&window)
static SDL_DisplayMode s_mainDisplayMode
static bool SetGlobalCursorPosition(I32 x, I32 y) noexcept
void decreaseResolution()
DisplayWindow * getHoveredWindow() noexcept
void snapCursorToCenter()
DisplayWindow & getWindow(I64 guid)
bool setCursorPosition(I32 x, I32 y) noexcept
void drawToWindow(DisplayWindow &window)
static std::array< SDL_Cursor *, to_base(CursorStyle::COUNT)> s_cursors
std::pair< vec2< U16 >, bool > _resolutionChangeQueued
Handle console commands that start with a forward slash.
constexpr U16 to_U16(const T value)
eastl::vector< Type > vector
constexpr T toBit(const T X)
Converts an arbitrary positive integer value to a bitwise value used for masks.
constexpr auto to_base(const Type value) -> Type
U16 width
The new width and height.
bool isFullScreen
Is the window that fired the event fullscreen?
DisplayWindow * parentWindow