![]() |
Raven Engine v0.1
|
Classes | |
| class | Raven::UI::ScopedStyle |
| RAII helper to push and pop a single ImGui style variable. Pushes the style var on construction, pops on destruction. More... | |
| class | Raven::UI::ScopedColor |
| RAII helper to push and pop a single ImGui style color. More... | |
| class | Raven::UI::ScopedFont |
| RAII helper to push and pop an ImGui font. More... | |
| class | Raven::UI::ScopedID |
| RAII helper to push and pop an ImGui ID. Supports any type convertible to ImGuiID. More... | |
| class | Raven::UI::ScopedColorStack |
| RAII helper to push and pop multiple ImGui style colors in one go. Expects a list of pairs: (ImGuiCol colorID, ColorValue). More... | |
| class | Raven::UI::ScopedStyleStack |
| RAII helper to push and pop multiple ImGui style variables in one go. Expects a list of pairs: (ImGuiStyleVar, Value). More... | |
| class | Raven::UI::ScopedItemFlags |
| RAII helper to push and pop ImGui item flags. More... | |
| struct | Raven::UI::Toast |
| Simple structure to represent a toast notification. More... | |
Functions | |
| ImVec4 | Raven::Colors::ConvertFromSRGB (ImVec4 colour) |
| Converts an sRGB ImVec4 color to linear space. | |
| ImVec4 | Raven::Colors::ConvertToSRGB (ImVec4 colour) |
| Converts a linear ImVec4 color to sRGB space. | |
| ImU32 | Raven::Colors::ColorWithValue (const ImColor &color, float value) |
| Modifies the V (value) of a color in HSV space. | |
| ImU32 | Raven::Colors::ColorWithSaturation (const ImColor &color, float saturation) |
| Modifies the S (saturation) of a color in HSV space. | |
| ImU32 | Raven::Colors::ColorWithHue (const ImColor &color, float hue) |
| Modifies the H (hue) of a color in HSV space. | |
| ImU32 | Raven::Colors::ColorWithMultipliedValue (const ImColor &color, float multiplier) |
| Scales the V (value) of a color in HSV space. | |
| ImU32 | Raven::Colors::ColorWithMultipliedSaturation (const ImColor &color, float multiplier) |
| Scales the S (saturation) of a color in HSV space. | |
| ImU32 | Raven::Colors::ColorWithMultipliedHue (const ImColor &color, float multiplier) |
| Scales the H (hue) of a color in HSV space. | |
| void | Raven::UI::Image (Ref< Image2D > &image, float width, float height) |
| Render an Image2D at the specified size. | |
| bool | Raven::UI::CreateCombo (const char *label, std::string ¤tItem, std::vector< std::string > &items, ImGuiComboFlags_ flags) |
| Create a combo box widget with a list of string items. | |
| void | Raven::UI::SuspendLayout () |
| Suspend layout updates for batching UI changes. | |
| void | Raven::UI::ResumeLayout () |
| Resume layout updates after suspension. | |
| void | Raven::UI::ShiftCursorX (float distance) |
| Shift the ImGui cursor horizontally. | |
| void | Raven::UI::ShiftCursorY (float distance) |
| Shift the ImGui cursor vertically. | |
| void | Raven::UI::ShiftCursor (float x, float y) |
| Shift the ImGui cursor position by a 2D offset. | |
| ImRect | Raven::UI::GetItemRect () |
| Retrieve the rectangle of the last rendered ImGui item. | |
| ImRect | Raven::UI::RectExpanded (const ImRect &rect, float x, float y) |
| Expand an ImRect by a fixed pixel amount on each axis. | |
| ImRect | Raven::UI::RectOffset (const ImRect &rect, float x, float y) |
| Offset an ImRect by fixed pixel amounts. | |
| ImRect | Raven::UI::RectOffset (const ImRect &rect, ImVec2 xy) |
| Offset an ImRect by a 2D vector. | |
| void | Raven::UI::DrawVec2Control (const std::string &label, Crux::vec2 &values, float resetValue=0.0f, float columnLabelWidth=50.0f) |
| Draw a labeled UI control for editing a 2D vector. | |
| void | Raven::UI::DrawVec3Control (const std::string &label, Crux::vec3 &values, float resetValue=0.0f, float columnLabelWidth=50.0f) |
| Draw a labeled UI control for editing a 3D vector. | |
| void | Raven::UI::DrawButtonImage (const Ref< Texture2D > &imageNormal, const Ref< Texture2D > &imageHovered, const Ref< Texture2D > &imagePressed, ImU32 tintNormal, ImU32 tintHovered, ImU32 tintPressed, ImVec2 rectMin, ImVec2 rectMax) |
| Draw a textured button with different states and tinting. | |
| void | Raven::UI::DrawButtonImage (const Ref< Texture2D > &imageNormal, const Ref< Texture2D > &imageHovered, const Ref< Texture2D > &imagePressed, ImU32 tintNormal, ImU32 tintHovered, ImU32 tintPressed, ImRect rectangle) |
| Draw a textured button using an ImRect. | |
| void | Raven::UI::DrawButtonImage (const Ref< Texture2D > &image, ImU32 tintNormal, ImU32 tintHovered, ImU32 tintPressed, ImVec2 rectMin, ImVec2 rectMax) |
| Draw a textured button with a single image. | |
| void | Raven::UI::DrawButtonImage (const Ref< Texture2D > &image, ImU32 tintNormal, ImU32 tintHovered, ImU32 tintPressed, ImRect rectangle) |
| Draw a textured button with a single image using a rectangle. | |
| void | Raven::UI::DrawButtonImage (const Ref< Texture2D > &imageNormal, const Ref< Texture2D > &imageHovered, const Ref< Texture2D > &imagePressed, ImU32 tintNormal, ImU32 tintHovered, ImU32 tintPressed) |
| Draw a textured button with multiple states and implicit rect. | |
| void | Raven::UI::DrawButtonImage (const Ref< Texture2D > &image, ImU32 tintNormal, ImU32 tintHovered, ImU32 tintPressed) |
| Draw a textured button with single image and implicit rect. | |
| void | Raven::UI::RenderWindowOuterBorders (ImGuiWindow *window) |
| Render borders around the outer edge of a window. | |
| bool | Raven::UI::UpdateWindowManualResize (ImGuiWindow *window, ImVec2 &newSize, ImVec2 &newPosition) |
| Handle manual window resize operation. | |
| void | Raven::UI::BeginHorizontal (const char *str_id=nullptr, const ImVec2 &size=ImVec2(0, 0)) |
| Begin a horizontal UI layout group. | |
| void | Raven::UI::EndHorizontal () |
| End the current horizontal layout group. | |
| void | Raven::UI::BeginVertical (const char *str_id=nullptr, const ImVec2 &size=ImVec2(0, 0)) |
| Begin a vertical UI layout group. | |
| void | Raven::UI::EndVertical () |
| End the current vertical layout group. | |
| bool | Raven::UI::SelectableW (const wchar_t *label, bool selected, ImGuiSelectableFlags flags=0) |
| Render a selectable item using a wide-character label. | |
| void | Raven::UI::Spring (float weightX=1.0f, float weightY=1.0f) |
| Insert flexible spacing using weights. | |
| bool | Raven::UI::BeginMenubar (const ImRect &barRectangle) |
| Begin a custom menubar inside a defined rectangle. | |
| void | Raven::UI::EndMenubar () |
| End the current menubar. | |
| void | Raven::UI::DrawBorder (ImRect rect, float thickness=1.0f, float rounding=0.0f, float offsetX=0.0f, float offsetY=0.0f) |
| Draws a border around a given ImRect area. | |
| void | Raven::UI::ShowToast (const std::string &message, float duration, ImVec4 color=ImVec4(1.0f, 1.0f, 1.0f, 1.0f)) |
| Display a toast notification. | |
| void | Raven::UI::RenderToasts (const ImVec2 &viewportPos, const ImVec2 &viewportSize) |
| Render all active toasts within the given viewport area. | |
User Interface layer: UI components, rendering, and interaction handling.
| void Raven::UI::BeginHorizontal | ( | const char * | str_id = nullptr, |
| const ImVec2 & | size = ImVec2(0, 0) ) |
Begin a horizontal UI layout group.
| str_id | Optional ID to distinguish multiple horizontal layouts. |
| size | Optional size override. |
| bool Raven::UI::BeginMenubar | ( | const ImRect & | barRectangle | ) |
Begin a custom menubar inside a defined rectangle.
| barRectangle | Bounding rectangle of the menubar. |
| void Raven::UI::BeginVertical | ( | const char * | str_id = nullptr, |
| const ImVec2 & | size = ImVec2(0, 0) ) |
Begin a vertical UI layout group.
| str_id | Optional ID to distinguish multiple vertical layouts. |
| size | Optional size override. |
|
inline |
Modifies the H (hue) of a color in HSV space.
| color | Source ImColor. |
| hue | New hue in [0.0, 1.0]. |
|
inline |
Scales the H (hue) of a color in HSV space.
| color | Source ImColor. |
| multiplier | Hue multiplier. |
|
inline |
Scales the S (saturation) of a color in HSV space.
| color | Source ImColor. |
| multiplier | Saturation multiplier. |
|
inline |
Scales the V (value) of a color in HSV space.
| color | Source ImColor. |
| multiplier | Value multiplier. |
|
inline |
Modifies the S (saturation) of a color in HSV space.
| color | Source ImColor. |
| saturation | New saturation in [0.0, 1.0]. |
|
inline |
Modifies the V (value) of a color in HSV space.
| color | Source ImColor. |
| value | New value in [0.0, 1.0]. |
|
inline |
Converts an sRGB ImVec4 color to linear space.
| colour | sRGB color. |
|
inline |
Converts a linear ImVec4 color to sRGB space.
| colour | Linear color. |
| bool Raven::UI::CreateCombo | ( | const char * | label, |
| std::string & | currentItem, | ||
| std::vector< std::string > & | items, | ||
| ImGuiComboFlags_ | flags ) |
Create a combo box widget with a list of string items.
| label | Label displayed next to the combo box. |
| currentItem | Reference to the string holding the currently selected item. Will be updated if the user selects a different item. |
| items | Vector of strings to populate the combo box options. |
| flags | Optional ImGui combo box behavior flags. |
| void Raven::UI::DrawBorder | ( | ImRect | rect, |
| float | thickness = 1.0f, | ||
| float | rounding = 0.0f, | ||
| float | offsetX = 0.0f, | ||
| float | offsetY = 0.0f ) |
Draws a border around a given ImRect area.
| rect | Rectangle specifying the border area. |
| thickness | Thickness of the border line. |
| rounding | Corner rounding radius. |
| offsetX | Horizontal offset for the border. |
| offsetY | Vertical offset for the border. |
| void Raven::UI::DrawButtonImage | ( | const Ref< Texture2D > & | image, |
| ImU32 | tintNormal, | ||
| ImU32 | tintHovered, | ||
| ImU32 | tintPressed ) |
Draw a textured button with single image and implicit rect.
| image | Texture for all states. |
| tintNormal | Tint for normal. |
| tintHovered | Tint for hovered. |
| tintPressed | Tint for pressed. |
| void Raven::UI::DrawButtonImage | ( | const Ref< Texture2D > & | image, |
| ImU32 | tintNormal, | ||
| ImU32 | tintHovered, | ||
| ImU32 | tintPressed, | ||
| ImRect | rectangle ) |
Draw a textured button with a single image using a rectangle.
| image | Texture used for all button states. |
| tintNormal | Tint for normal state. |
| tintHovered | Tint for hovered state. |
| tintPressed | Tint for pressed state. |
| rectangle | Bounds of the button. |
| void Raven::UI::DrawButtonImage | ( | const Ref< Texture2D > & | image, |
| ImU32 | tintNormal, | ||
| ImU32 | tintHovered, | ||
| ImU32 | tintPressed, | ||
| ImVec2 | rectMin, | ||
| ImVec2 | rectMax ) |
Draw a textured button with a single image.
| image | Texture used for all button states. |
| tintNormal | Tint for normal state. |
| tintHovered | Tint when hovered. |
| tintPressed | Tint when pressed. |
| rectMin | Top-left button corner. |
| rectMax | Bottom-right button corner. |
| void Raven::UI::DrawButtonImage | ( | const Ref< Texture2D > & | imageNormal, |
| const Ref< Texture2D > & | imageHovered, | ||
| const Ref< Texture2D > & | imagePressed, | ||
| ImU32 | tintNormal, | ||
| ImU32 | tintHovered, | ||
| ImU32 | tintPressed, | ||
| ImRect | rectangle ) |
Draw a textured button using an ImRect.
| void Raven::UI::DrawButtonImage | ( | const Ref< Texture2D > & | imageNormal, |
| const Ref< Texture2D > & | imageHovered, | ||
| const Ref< Texture2D > & | imagePressed, | ||
| ImU32 | tintNormal, | ||
| ImU32 | tintHovered, | ||
| ImU32 | tintPressed, | ||
| ImVec2 | rectMin, | ||
| ImVec2 | rectMax ) |
Draw a textured button with different states and tinting.
| imageNormal | Texture to display in the normal state. |
| imageHovered | Texture when hovered. |
| imagePressed | Texture when pressed. |
| tintNormal | Tint color in normal state (RGBA). |
| tintHovered | Tint color when hovered. |
| tintPressed | Tint color when pressed. |
| rectMin | Top-left coordinate of the button. |
| rectMax | Bottom-right coordinate of the button. |
| void Raven::UI::DrawVec2Control | ( | const std::string & | label, |
| Crux::vec2 & | values, | ||
| float | resetValue = 0.0f, | ||
| float | columnLabelWidth = 50.0f ) |
Draw a labeled UI control for editing a 2D vector.
| label | Name of the control displayed to the left. |
| values | Reference to Crux::vec2 variable to modify. |
| resetValue | Default value used when reset button is clicked. |
| columnLabelWidth | Width of the label column in pixels. |
| void Raven::UI::DrawVec3Control | ( | const std::string & | label, |
| Crux::vec3 & | values, | ||
| float | resetValue = 0.0f, | ||
| float | columnLabelWidth = 50.0f ) |
Draw a labeled UI control for editing a 3D vector.
| label | Name of the control displayed to the left. |
| values | Reference to Crux::vec3 variable to modify. |
| resetValue | Default value used when reset button is clicked. |
| columnLabelWidth | Width of the label column in pixels. |
| void Raven::UI::EndHorizontal | ( | ) |
End the current horizontal layout group.
| void Raven::UI::EndMenubar | ( | ) |
End the current menubar.
| void Raven::UI::EndVertical | ( | ) |
End the current vertical layout group.
| ImRect Raven::UI::GetItemRect | ( | ) |
Retrieve the rectangle of the last rendered ImGui item.
| ImRect Raven::UI::RectExpanded | ( | const ImRect & | rect, |
| float | x, | ||
| float | y ) |
Expand an ImRect by a fixed pixel amount on each axis.
| rect | Rectangle to expand. |
| x | Amount to expand on left/right sides. |
| y | Amount to expand on top/bottom sides. |
| ImRect Raven::UI::RectOffset | ( | const ImRect & | rect, |
| float | x, | ||
| float | y ) |
Offset an ImRect by fixed pixel amounts.
| rect | Rectangle to offset. |
| x | Horizontal offset. |
| y | Vertical offset. |
| ImRect Raven::UI::RectOffset | ( | const ImRect & | rect, |
| ImVec2 | xy ) |
Offset an ImRect by a 2D vector.
| rect | Rectangle to offset. |
| xy | ImVec2 offset to apply. |
| void Raven::UI::RenderToasts | ( | const ImVec2 & | viewportPos, |
| const ImVec2 & | viewportSize ) |
Render all active toasts within the given viewport area.
| viewportPos | Position of the viewport (top-left corner). |
| viewportSize | Size of the viewport. |
| void Raven::UI::RenderWindowOuterBorders | ( | ImGuiWindow * | window | ) |
Render borders around the outer edge of a window.
| window | Pointer to the ImGui window to render borders for. |
| void Raven::UI::ResumeLayout | ( | ) |
Resume layout updates after suspension.
| bool Raven::UI::SelectableW | ( | const wchar_t * | label, |
| bool | selected, | ||
| ImGuiSelectableFlags | flags = 0 ) |
Render a selectable item using a wide-character label.
| label | Wide character string label. |
| selected | Whether the item is currently selected. |
| flags | ImGui selectable flags. |
| void Raven::UI::ShiftCursor | ( | float | x, |
| float | y ) |
Shift the ImGui cursor position by a 2D offset.
| x | Horizontal shift in pixels. |
| y | Vertical shift in pixels. |
| void Raven::UI::ShiftCursorX | ( | float | distance | ) |
Shift the ImGui cursor horizontally.
| distance | Distance in pixels to shift along the X axis. |
| void Raven::UI::ShiftCursorY | ( | float | distance | ) |
Shift the ImGui cursor vertically.
| distance | Distance in pixels to shift along the Y axis. |
| void Raven::UI::ShowToast | ( | const std::string & | message, |
| float | duration, | ||
| ImVec4 | color = ImVec4(1.0f, 1.0f, 1.0f, 1.0f) ) |
Display a toast notification.
| message | The message string to display. |
| duration | Duration in seconds the toast remains visible. |
| color | Color of the toast text (default white). |
| void Raven::UI::Spring | ( | float | weightX = 1.0f, |
| float | weightY = 1.0f ) |
Insert flexible spacing using weights.
| weightX | Horizontal spring weight. |
| weightY | Vertical spring weight. |
| void Raven::UI::SuspendLayout | ( | ) |
Suspend layout updates for batching UI changes.
| bool Raven::UI::UpdateWindowManualResize | ( | ImGuiWindow * | window, |
| ImVec2 & | newSize, | ||
| ImVec2 & | newPosition ) |
Handle manual window resize operation.
| window | Target ImGui window. |
| newSize | Output: new size if resized. |
| newPosition | Output: new position if resized. |