Class Window

Inheritance Relationships

Base Type

Class Documentation

class Window : public CE::Platform::Window

Declaration: final

Owns 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
Window(const Window&) = delete
Window &operator=(const Window&) = delete
Window(Window&&) = delete
Window &operator=(Window&&) = delete
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