![]() |
Blamite Game Engine - blam!
00406.12.10.23.1457.blamite
The core library for the Blamite Game Engine.
|
Class representing a Group widget. More...
#include <ui.h>
Public Member Functions | |
BlamUIWidget_Group (BlamUIWidget_Group *_parent) | |
Constructs a new group widget. More... | |
BlamUIWidget_Group (BlamWidgetType _type, BlamUIWidget_Group *_parent) | |
Constructs a new group widget. More... | |
~BlamUIWidget_Group () | |
void | Draw () override |
Draws the widget on-screen. More... | |
void | ShowImGuiPropertyEditor () override |
Displays an ImGUI-based property editor. More... | |
void | RefreshRelativePosition () override |
Updates the relative position of the widget, relative to its parent. More... | |
void | UpdateMetrics () override |
Updates metrics for the widget. More... | |
void | SetHidden (bool new_hidden) override |
Sets the hidden state of the widget. More... | |
void | ShowImGuiEditorWindow () |
Displays the separate ImGUI editor window for this group. More... | |
void | ClearChildren () |
Clears and destroys all child widgets within the group. More... | |
![]() | |
BlamUIWidget (BlamWidgetType type) | |
Constructs a new UI widget. More... | |
BlamUIWidget (BlamWidgetType type, BlamUIWidget_Group *_parent) | |
Constructs a new UI widget. More... | |
virtual | ~BlamUIWidget () |
BlamWidgetType | GetType () |
Retrieves the type of this widget. More... | |
void | RefreshRelativePosition (int viewport_width, int viewport_height, BlamVector2 initial_position) |
Updates the relative position of the widget. More... | |
void | SetSize (BlamVector2 new_size) |
Sets the size of the widget. More... | |
virtual void | SetPosition (BlamVector2 new_position) |
Sets the position of the widget. More... | |
void | SetRotation (float new_rotation) |
Sets the rotation of the widget. More... | |
void | SetAnchorPosition (BlamWidgetAnchor new_anchor_position) |
Sets the anchor position of the widget. More... | |
void | MarkForUpdate () |
Marks the widget as needing to be updated on the next draw call. More... | |
BlamVector2 | GetAbsolutePosition () |
Retrieves the absolute position of the widget. More... | |
BlamWidgetAnchor | GetAnchorPosition () |
Retrieves the anchor position of the widget. More... | |
bool | IsHidden () |
Checks whether or not the widget is hidden. More... | |
Public Attributes | |
std::vector< BlamUIWidget * > | children = std::vector<BlamUIWidget*>() |
The list of child widgets within this group. More... | |
bool | show_bounds = false |
Whether or not to display the debug bounding box around this widget. More... | |
![]() | |
std::string | display_name = "unnamed" |
The display name of the widget. More... | |
std::string | description = "" |
An optional description of the widget. More... | |
BlamVector2 | position = { 0, 0 } |
The position of the widget, relative to its parent. More... | |
BlamVector2 | size = { 100, 100 } |
The size of the widget, relative to its parent. More... | |
float | rotation = 0.0f |
The rotation of the widget, in degrees. More... | |
int | z_index = 0 |
The Z index of the widget, where higher Z orders are drawn on top. More... | |
float | z_size = 1.0f |
The Z size of the widget. Mostly unused. More... | |
bool | auto_update = false |
Whether or not the widget should always update every frame. More... | |
Ogre::HlmsDatablock * | material = nullptr |
The datablock used by the widget, if applicable. More... | |
BlamUIWidget_Group * | parent = nullptr |
The parent group of this widget, if applicable. More... | |
bool | ignore_layout = false |
Whether or not this widget should ignore any layout positioning. More... | |
bool | hide_in_layout = false |
Whether or not this widget should be hidden within its layout. More... | |
bool | ignore_scale_factor = false |
Whether or not this widget should ignore the UI scale factor settings. More... | |
Additional Inherited Members | |
![]() | |
int | GetAdjustedZIndex () |
Retrieves the adjusted Z-index of the widget. More... | |
![]() | |
BlamVector2 | position_absolute = { 0, 0 } |
The absolute position of the widget on-screen. More... | |
BlamVector2 | size_absolute = { 100, 100 } |
The absolute size of the widget on-screen. More... | |
bool | update = false |
Whether or not the widget needs to be updated before the next draw call. More... | |
bool | hidden = false |
Whether or not the widget is hidden. More... | |
Class representing a Group widget.
Group widgets act as containers for other widgets. Within a container, all child widget alignment settings and positioning are based on the position and size of its parent group. Group widgets do NOT, however, provide any automatic layout behaviors out of the box. For layouts, see one of the various Layout groups instead.
BlamUIWidget_Group::BlamUIWidget_Group | ( | BlamUIWidget_Group * | _parent | ) |
Constructs a new group widget.
_parent | - The parent group that this widget belongs to. |
BlamUIWidget_Group::BlamUIWidget_Group | ( | BlamWidgetType | _type, |
BlamUIWidget_Group * | _parent | ||
) |
Constructs a new group widget.
_type | - The type of this widget. Should only be used by special internal widgets. |
_parent | - The parent group that this widget belongs to. |
BlamUIWidget_Group::~BlamUIWidget_Group | ( | ) |
void BlamUIWidget_Group::ClearChildren | ( | ) |
Clears and destroys all child widgets within the group.
|
overridevirtual |
Draws the widget on-screen.
Reimplemented from BlamUIWidget.
Reimplemented in BlamUIWidget_VLayoutGroup, and BlamUIWidget_DebugMenu_Item.
|
overridevirtual |
Updates the relative position of the widget, relative to its parent.
If the widget has no parent, then it will refresh relative to the viewport instead.
Reimplemented from BlamUIWidget.
Reimplemented in BlamUIWidget_VLayoutGroup.
|
overridevirtual |
Sets the hidden state of the widget.
new_hidden | - Whether or not the widget should be hidden. |
Reimplemented from BlamUIWidget.
Reimplemented in BlamUIWidget_DebugMenu_Item, and BlamUIWidget_CrashScreen.
void BlamUIWidget_Group::ShowImGuiEditorWindow | ( | ) |
Displays the separate ImGUI editor window for this group.
|
overridevirtual |
Displays an ImGUI-based property editor.
Used in conjunction with the UI Editor window.
Reimplemented from BlamUIWidget.
Reimplemented in BlamUIWidget_VLayoutGroup, and BlamUIWidget_DebugMenu_Item.
|
overridevirtual |
Updates metrics for the widget.
The term "metrics" as used in this method is generally up to an individual widget class to decide. However, in most cases, it will include position, size, rotation, and color.
Reimplemented from BlamUIWidget.
Reimplemented in BlamUIWidget_DebugMenu_Item.
std::vector<BlamUIWidget*> BlamUIWidget_Group::children = std::vector<BlamUIWidget*>() |
The list of child widgets within this group.
bool BlamUIWidget_Group::show_bounds = false |
Whether or not to display the debug bounding box around this widget.