Skip to main content

ImGuiBackend.ixx File

Abstract backend interface for ImGui integration with rendering/windowing systems. More...

Included Headers

#include "imgui.h"

Namespaces Index

namespacehelios
namespaceext

Platform-specific extensions and backend implementations. More...

namespaceimgui

Classes Index

classImGuiBackend

Platform-agnostic interface for ImGui backend implementations. More...

Description

Abstract backend interface for ImGui integration with rendering/windowing systems.

File Listing

The file content with the documentation metadata removed is:

1/**
2 * @file ImGuiBackend.ixx
3 * @brief Abstract backend interface for ImGui integration with rendering/windowing systems.
4 */
5module;
6
7#include "imgui.h"
8
9
10export module helios.ext.imgui.ImGuiBackend;
11
12
13export namespace helios::ext::imgui {
14
15 /**
16 * @class ImGuiBackend
17 * @brief Platform-agnostic interface for ImGui backend implementations.
18 *
19 * Concrete backends (e.g., GLFW+OpenGL, SDL+Vulkan) implement this interface
20 * to provide platform-specific initialization, frame setup, and rendering.
21 */
23
24 public:
25
26 ImGuiBackend() = default;
27
28 virtual ~ImGuiBackend() = default;
29
30 /**
31 * @brief Prepares ImGui for a new frame.
32 *
33 * Must be called at the beginning of each frame before any ImGui calls.
34 * Typically invokes platform-specific `NewFrame()` implementations.
35 */
36 virtual void newFrame() = 0;
37
38 /**
39 * @brief Renders ImGui draw data to the screen.
40 *
41 * Called after `ImGui::Render()` to submit draw commands to the GPU.
42 *
43 * @param drawData Pointer to ImGui draw data (typically from `ImGui::GetDrawData()`).
44 */
45 virtual void renderDrawData(ImDrawData* drawData) = 0;
46
47 };
48}

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.