Abstract window backend interface. More...
#include <iwindow.h>

Public Member Functions | |
| virtual | ~IWindowBackend ()=default |
| virtual absl::Status | Initialize (const WindowConfig &config)=0 |
| Initialize the window backend with configuration. | |
| virtual absl::Status | Shutdown ()=0 |
| Shutdown the window backend and release resources. | |
| virtual bool | IsInitialized () const =0 |
| Check if the backend is initialized. | |
| virtual bool | PollEvent (WindowEvent &out_event)=0 |
| Poll and process pending events. | |
| virtual void | ProcessNativeEvent (void *native_event)=0 |
| Process a native SDL event (for ImGui integration) | |
| virtual WindowStatus | GetStatus () const =0 |
| Get current window status. | |
| virtual bool | IsActive () const =0 |
| Check if window is still active (not closed) | |
| virtual void | SetActive (bool active)=0 |
| Set window active state. | |
| virtual void | GetSize (int *width, int *height) const =0 |
| Get window dimensions. | |
| virtual void | SetSize (int width, int height)=0 |
| Set window dimensions. | |
| virtual std::string | GetTitle () const =0 |
| Get window title. | |
| virtual void | SetTitle (const std::string &title)=0 |
| Set window title. | |
| virtual bool | InitializeRenderer (gfx::IRenderer *renderer)=0 |
| Initialize renderer for this window. | |
| virtual SDL_Window * | GetNativeWindow ()=0 |
| Get the underlying SDL_Window pointer for ImGui integration. | |
| virtual absl::Status | InitializeImGui (gfx::IRenderer *renderer)=0 |
| Initialize ImGui backends for this window/renderer combo. | |
| virtual void | ShutdownImGui ()=0 |
| Shutdown ImGui backends. | |
| virtual void | NewImGuiFrame ()=0 |
| Start a new ImGui frame. | |
| virtual void | RenderImGui (gfx::IRenderer *renderer)=0 |
| Render ImGui draw data (and viewports if enabled) | |
| virtual uint32_t | GetAudioDevice () const =0 |
| Get audio device ID (for legacy audio buffer management) | |
| virtual std::shared_ptr< int16_t > | GetAudioBuffer () const =0 |
| Get audio buffer (for legacy audio management) | |
| virtual std::string | GetBackendName () const =0 |
| Get backend name for debugging/logging. | |
| virtual int | GetSDLVersion () const =0 |
| Get SDL version being used. | |
Abstract window backend interface.
Provides platform-agnostic window management, allowing different SDL versions or other windowing libraries to be swapped without changing application code.
|
virtualdefault |
|
pure virtual |
Initialize the window backend with configuration.
| config | Window configuration parameters |
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Shutdown the window backend and release resources.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Check if the backend is initialized.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Poll and process pending events.
| out_event | Output parameter for the next event |
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Process a native SDL event (for ImGui integration)
| native_event | Pointer to native SDL_Event |
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Get current window status.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Check if window is still active (not closed)
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Set window active state.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Get window dimensions.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Set window dimensions.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Get window title.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Set window title.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Initialize renderer for this window.
| renderer | The renderer to initialize |
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Get the underlying SDL_Window pointer for ImGui integration.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Initialize ImGui backends for this window/renderer combo.
| renderer | The renderer (for backend-specific init) |
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Shutdown ImGui backends.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Start a new ImGui frame.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Render ImGui draw data (and viewports if enabled)
| renderer | The renderer to use for drawing (needed to get backend renderer) |
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Get audio device ID (for legacy audio buffer management)
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Get audio buffer (for legacy audio management)
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Get backend name for debugging/logging.
Implemented in yaze::platform::SDL2WindowBackend.
|
pure virtual |
Get SDL version being used.
Implemented in yaze::platform::SDL2WindowBackend.