Class Context

Inheritance Relationships

Base Type

Derived Type

Class Documentation

class Context : public CE::Rendering::PresentationSurface

OpenGL context supplied by a compatible platform adapter, not by the renderer.

Context operations and resource uploads must run on the thread owning this context.

Subclassed by CE::Rendering::OpenGL::GLFWContext

Public Types

using ProcAddress = void (*)()

Opaque native procedure pointer; the renderer supplies typed loader casts.

Public Functions

virtual void make_current() = 0

Make this borrowed presentation context current on its permitted owner thread.

Concrete platform adapters define errors; keep the window/context owner alive. Resource operations still validate their own domain/current-context requirement.

virtual void release_current() = 0

Release this context from its permitted calling thread after native operations are finished.

Does not destroy the display/window or retire resources.

virtual bool is_current() const = 0

Declaration: [[nodiscard]]

Returns:

Whether this adapter’s native context is current on the calling thread; adapter thread restrictions still apply.

virtual ProcAddress proc_address(const char *name) const = 0

Declaration: [[nodiscard]]

Resolve a native procedure for the graphics loader.

Parameters:

name – NUL-terminated native entry-point name borrowed through the call.

Returns:

Procedure pointer, or null when unavailable according to the platform adapter. Use on the context owner during initialization; resolution does not initialize the renderer.