Skip to main content

ImGuiWidget.ixx File

Base interface for ImGui-based debug and UI widgets. More...

Namespaces Index

namespacehelios
namespaceext

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

namespaceimgui

Classes Index

classImGuiWidget

Abstract base class for ImGui widgets rendered in debug overlays. More...

Description

Base interface for ImGui-based debug and UI widgets.

File Listing

The file content with the documentation metadata removed is:

1/**
2 * @file ImGuiWidget.ixx
3 * @brief Base interface for ImGui-based debug and UI widgets.
4 */
5module;
6
7
8export module helios.ext.imgui.ImGuiWidget;
9
10
11export namespace helios::ext::imgui {
12
13 /**
14 * @class ImGuiWidget
15 * @brief Abstract base class for ImGui widgets rendered in debug overlays.
16 *
17 * All widgets must implement the `draw()` method, which is called once per
18 * frame by the owning `ImGuiOverlay`. Widgets are typically used for real-time
19 * debugging, profiling, and developer tools.
20 *
21 * @note Widgets are not thread-safe and must be used from the main/render thread.
22 */
23 class ImGuiWidget {
24
25 public:
26 ImGuiWidget() = default;
27 virtual ~ImGuiWidget() = default;
28
29 /**
30 * @brief Renders the widget using ImGui immediate-mode API.
31 *
32 * Called once per frame by the owning overlay. Implementers should call
33 * ImGui functions (e.g., `ImGui::Begin()`, `ImGui::Text()`) to build the UI.
34 */
35 virtual void draw() = 0;
36
37 };
38
39
40}

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.