Class Viewport
#include <Viewport.h>
Inherits the following classes: ImguiLayer
Public Types
| Type | Name |
|---|---|
| enum | HoverStatus |
Public Attributes
| Type | Name |
|---|---|
| bool | display_axis = { true } |
| bool | display_grid = { true } |
| bool | display_trans_handle = { true } |
| HoverStatus | viewport_status = { OnViewport } |
Public Attributes inherited from ImguiLayer
See ImguiLayer
| Type | Name |
|---|---|
| bool | fixed_size = falseWhether layer size is fixed (non-resizable) |
| bool | is_docking = trueWhether layer can dock into dockspace. |
| bool | is_mouse_hovered = falseWhether mouse is hovering over layer. |
| bool | is_size_changed = falseSize change tracking flags. |
| bool | is_size_changed_b = truePrevious frame size change flag. |
| std::vector< std::shared_ptr< ImguiItem > > | item_list Widgets contained in this layer. |
| GLuint | uly_ID = -1Unique layer ID assigned by ImguiManager . |
| bool | uly_activate = trueWhether layer is active (receives events) |
| bool | uly_is_rendered = trueWhether layer is rendered (visible) |
| std::string | uly_name Layer name for display and lookup. |
| ImVec2 | uly_pos Layer position in screen space. |
| bool | uly_show_type = falseWhether to display layer type in title. |
| ImVec2 | uly_size Current layer size. |
| ImVec2 | uly_size_b Previous layer size. |
| ImLayerType | uly_type = NONE\_UILAYERLayer type identifier. |
| bool | using_size = falseWhether to apply custom size constraints. |
Public Static Attributes
| Type | Name |
|---|---|
| ImGuizmo::OPERATION | handle_mod = ImGuizmo::TRANSLATE |
| ImGuizmo::MODE | trans_mod = ImGuizmo::WORLD |
Public Functions
| Type | Name |
|---|---|
| virtual void | RegisterEvents (EventPool & evt) override Registers layer's event subscriptions. |
| virtual void | RenderLayer (const Context & ctx, EventPool & evt) override Renders the layer's UI elements. |
| Viewport () |
|
| Viewport (const std::string & name) |
|
| Viewport (const std::string & name, GLuint texID) |
|
| Viewport (const std::string & name, GLuint texID, const ImVec2 & vp_size) |
|
| ~Viewport () |
Public Functions inherited from ImguiLayer
See ImguiLayer
| Type | Name |
|---|---|
| ImguiItem * | FindImguiItem (const std::string & name) const Finds an item by name. |
| ImguiItem * | FindImguiItem (int id) const Finds an item by index. |
| ImVec2 | GetLayerPos () Returns current layer position. |
| ImVec2 | GetLayerSize () Returns current layer size. |
| ImguiLayer () Default constructor. |
|
| ImguiLayer (const std::string & name) Constructs layer with specified name. |
|
| bool | IsResized () const Checks if layer was resized since last frame. |
| void | PushItem (Args... args) Adds a typed item to the layer. |
| void | PushItem (std::shared_ptr< ImguiItem > item) Adds an item to the layer. |
| void | PushItem (ImItemType type) Quick-creates and adds an item by type. |
| virtual void | RegisterEvents (EventPool & evt) Registers layer's event subscriptions. |
| virtual void | RenderLayer (const Context & ctx, EventPool & evt) Renders the layer's UI elements. |
| virtual | ~ImguiLayer () Virtual destructor for proper cleanup of derived classes. |
Public Types Documentation
enum HoverStatus
enum Viewport::HoverStatus {
OnViewport = 0,
OnHandle = 1 << 1,
OnCameraAxis = 1 << 2
};
Public Attributes Documentation
variable display_axis
bool Viewport::display_axis;
variable display_grid
bool Viewport::display_grid;
variable display_trans_handle
bool Viewport::display_trans_handle;
variable viewport_status
HoverStatus Viewport::viewport_status;
Public Static Attributes Documentation
variable handle_mod
ImGuizmo::OPERATION Viewport::handle_mod;
variable trans_mod
ImGuizmo::MODE Viewport::trans_mod;
Public Functions Documentation
function RegisterEvents
Registers layer's event subscriptions.
virtual void Viewport::RegisterEvents (
EventPool & evt
) override
Override this to subscribe to relevant events (e.g., viewport resize, selection change). Called by ImguiManager during initialization.
Parameters:
evtEventPool for subscribing to events
Implements ImguiLayer::RegisterEvents
function RenderLayer
Renders the layer's UI elements.
virtual void Viewport::RenderLayer (
const Context & ctx,
EventPool & evt
) override
Override this to implement layer-specific rendering logic. Called every frame when layer is active and visible.
Typical implementation: * Begin ImGui window with layer name * Render items and custom UI * Handle user input * Emit events for state changes * End ImGui window
Parameters:
Note:
Must not mutate Context - emit Events instead
Implements ImguiLayer::RenderLayer
function Viewport [1/4]
Viewport::Viewport ()
function Viewport [2/4]
Viewport::Viewport (
const std::string & name
)
function Viewport [3/4]
Viewport::Viewport (
const std::string & name,
GLuint texID
)
function Viewport [4/4]
Viewport::Viewport (
const std::string & name,
GLuint texID,
const ImVec2 & vp_size
)
function ~Viewport
Viewport::~Viewport ()
The documentation for this class was generated from the following file src/UI/layer/Viewport.h