Skip to content

File ImguiLayer.h

FileList > src > UI > ImguiLayer.h

Go to the source code of this file

Base class for all UI panels in theUI layer.More...

  • #include "ImGui/imgui.h"
  • #include "Context.h"
  • #include "Events.h"
  • #include "ImguiTheme.h"
  • #include "ImguiItem.h"
  • #include <unordered_map>
  • #include <type_traits>

Classes

Type Name
class ImguiLayer
Base class for all UI panels (dockable ImGui windows).

Public Types

Type Name
enum ImLayerType
Layer type identifiers for runtime type checking.

Macros

Type Name
define ACTIVE "ACTIVE LAYER"

Detailed Description

ImguiLayer provides the foundation for dockable UI panels (Viewport, Outliner, TransformPanel, etc.). Each layer is a self-contained ImGui window that can subscribe to events, render UI elements, and contain reusable widgets (ImguiItems).

Architecture: * Layers are owned by ImguiManager * Each layer has a unique name and ID for lookup * Layers can be activated/deactivated independently * Layers support docking into the main dockspace * Communication: Layers read Context and emit Events

Note:

UI Layer: Layers must not mutate Context directly - use Events instead

Public Types Documentation

enum ImLayerType

Layer type identifiers for runtime type checking.

enum ImLayerType {
    NONE_UILAYER,
    PARAS_UILAYER,
    TOOLS_UILAYER,
    VIEWPORT_UILAYER,
    OUTLINER_UILAYER,
    SHADER_EDIT_UILAYER,
    MATERIAL_UILYER,
    TRANSFORM_UILAYER,
    RENDER_CONFIG_ULATER
};

Used to identify specific layer types without RTTI. Each derived layer should set uly_type to the corresponding enum value.


Macro Definition Documentation

define ACTIVE

#define ACTIVE `"ACTIVE LAYER"`


The documentation for this class was generated from the following file src/UI/ImguiLayer.h