Class Window
Defined in File window.h
Inheritance Relationships
Base Type
public CE::Platform::Window(Class Window)
Class Documentation
-
class Window : public CE::Platform::Window
Declaration:
finalOwns a GLFW window and its logical/framebuffer dimensions on the platform thread.
Native callbacks retain their first failure; normal polling and explicit resize/mode boundaries consume it through check_native_failure(). Size getters return cached observations updated by callbacks and explicit resize/mode queries; they neither pump events nor synchronize cross-thread reads. Input and graphics users release this borrowed native window before destruction.
Public Functions
-
virtual ~Window() override
-
inline GLFWwindow *native_handle() const
Declaration:
[[nodiscard]]
-
inline ::CE::Diagnostics::DomainId diagnostic_id() const noexcept
Declaration:
[[nodiscard]]
-
inline virtual ::CE::Platform::Dimensions<int> logical_size() const override
Declaration:
[[nodiscard]]
-
inline virtual ::CE::Platform::FramebufferSize framebuffer_size() const override
Declaration:
[[nodiscard]]
-
inline virtual ::CE::Platform::WindowMode mode() const override
Declaration:
[[nodiscard]]
-
virtual bool should_close() const override
Declaration:
[[nodiscard]]
-
virtual void check_native_failure() const override
Consume/rethrow a deferred native callback failure on the platform owner.
Pumping adapters check before publishing a successful poll. Backends with no throwing native callbacks retain the default no-op implementation.
-
virtual void resize(int width, int height) override
Request positive logical dimensions and refresh observed logical/pixel sizes.
Listener failures can propagate after dimensions change; mutation is not atomic.
-
virtual void set_mode(::CE::Platform::WindowMode mode) override
NORMAL restores saved windowed placement; BORDERLESS uses it undecorated; FULLSCREEN attaches the selected monitor at its captured dimensions.
Refresh observed sizes afterward. Unknown modes fail; callback failures do not roll back.
-
virtual void hide_cursor(bool hide) const override
Change cursor visibility; pointer capture and relative motion are separate capabilities.
Friends
- friend class ::CE::Platform::GLFW::DisplaySystem
-
virtual ~Window() override