yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::gui::LayoutHelpers Class Reference

Theme-aware sizing helpers for consistent UI layout. More...

#include <layout_helpers.h>

Static Public Member Functions

static float GetStandardWidgetHeight ()
 
static float GetStandardSpacing ()
 
static float GetToolbarHeight ()
 
static float GetPanelPadding ()
 
static float GetStandardInputWidth ()
 
static float GetButtonPadding ()
 
static float GetTableRowHeight ()
 
static float GetCanvasToolbarHeight ()
 
static void BeginPaddedPanel (const char *label, float padding=-1.0f)
 
static void EndPaddedPanel ()
 
static bool BeginTableWithTheming (const char *str_id, int columns, ImGuiTableFlags flags=0, const ImVec2 &outer_size=ImVec2(0, 0), float inner_width=0.0f)
 
static void EndTableWithTheming ()
 
static void EndTable ()
 
static void BeginCanvasPanel (const char *label, ImVec2 *canvas_size=nullptr)
 
static void EndCanvasPanel ()
 
static bool AutoSizedInputField (const char *label, char *buf, size_t buf_size, ImGuiInputTextFlags flags=0)
 
static bool AutoSizedInputInt (const char *label, int *v, int step=1, int step_fast=100, ImGuiInputTextFlags flags=0)
 
static bool AutoSizedInputFloat (const char *label, float *v, float step=0.0f, float step_fast=0.0f, const char *format="%.3f", ImGuiInputTextFlags flags=0)
 
static bool InputHexRow (const char *label, uint8_t *data)
 
static bool InputHexRow (const char *label, uint16_t *data)
 
static void BeginPropertyGrid (const char *label)
 
static void EndPropertyGrid ()
 
static bool InputToolbarField (const char *label, char *buf, size_t buf_size)
 
static void BeginToolbar (const char *label)
 
static void EndToolbar ()
 
static void ToolbarSeparator ()
 
static bool ToolbarButton (const char *label, const ImVec2 &size=ImVec2(0, 0))
 
static void PropertyRow (const char *label, std::function< void()> widget_callback)
 
static void SectionHeader (const char *label)
 
static void HelpMarker (const char *desc)
 
static const EnhancedThemeGetTheme ()
 

Static Private Member Functions

static float GetBaseFontSize ()
 
static float ApplyCompactFactor (float base_value)
 

Detailed Description

Theme-aware sizing helpers for consistent UI layout.

All sizing functions respect the current theme's compact_factor and semantic multipliers, ensuring layouts are consistent but customizable.

Definition at line 19 of file layout_helpers.h.

Member Function Documentation

◆ GetStandardWidgetHeight()

float yaze::gui::LayoutHelpers::GetStandardWidgetHeight ( )
static

Definition at line 16 of file layout_helpers.cc.

References GetBaseFontSize(), and GetTheme().

Referenced by yaze::gui::ThemedIconButton().

Here is the call graph for this function:

◆ GetStandardSpacing()

◆ GetToolbarHeight()

float yaze::gui::LayoutHelpers::GetToolbarHeight ( )
static

Definition at line 26 of file layout_helpers.cc.

References GetBaseFontSize(), and GetTheme().

Referenced by BeginToolbar().

Here is the call graph for this function:

◆ GetPanelPadding()

float yaze::gui::LayoutHelpers::GetPanelPadding ( )
static

Definition at line 31 of file layout_helpers.cc.

References GetBaseFontSize(), and GetTheme().

Referenced by BeginPaddedPanel(), yaze::gui::BeginThemedPanel(), and EndPaddedPanel().

Here is the call graph for this function:

◆ GetStandardInputWidth()

◆ GetButtonPadding()

◆ GetTableRowHeight()

float yaze::gui::LayoutHelpers::GetTableRowHeight ( )
static

Definition at line 46 of file layout_helpers.cc.

References GetBaseFontSize(), and GetTheme().

Referenced by BeginTableWithTheming().

Here is the call graph for this function:

◆ GetCanvasToolbarHeight()

float yaze::gui::LayoutHelpers::GetCanvasToolbarHeight ( )
static

Definition at line 51 of file layout_helpers.cc.

References GetBaseFontSize(), and GetTheme().

Here is the call graph for this function:

◆ BeginPaddedPanel()

void yaze::gui::LayoutHelpers::BeginPaddedPanel ( const char *  label,
float  padding = -1.0f 
)
static

Definition at line 57 of file layout_helpers.cc.

References GetPanelPadding().

Here is the call graph for this function:

◆ EndPaddedPanel()

void yaze::gui::LayoutHelpers::EndPaddedPanel ( )
static

Definition at line 68 of file layout_helpers.cc.

References GetPanelPadding().

Here is the call graph for this function:

◆ BeginTableWithTheming()

bool yaze::gui::LayoutHelpers::BeginTableWithTheming ( const char *  str_id,
int  columns,
ImGuiTableFlags  flags = 0,
const ImVec2 &  outer_size = ImVec2(0, 0),
float  inner_width = 0.0f 
)
static

Definition at line 76 of file layout_helpers.cc.

References yaze::gui::ConvertColorToImVec4(), GetTableRowHeight(), and GetTheme().

Referenced by yaze::gui::BeginThemedTable(), and yaze::editor::UICoordinator::DrawCommandPalette().

Here is the call graph for this function:

◆ EndTableWithTheming()

void yaze::gui::LayoutHelpers::EndTableWithTheming ( )
static

Definition at line 98 of file layout_helpers.cc.

Referenced by yaze::editor::UICoordinator::DrawCommandPalette().

◆ EndTable()

static void yaze::gui::LayoutHelpers::EndTable ( )
inlinestatic

Definition at line 40 of file layout_helpers.h.

Referenced by yaze::gui::EndThemedTable().

◆ BeginCanvasPanel()

void yaze::gui::LayoutHelpers::BeginCanvasPanel ( const char *  label,
ImVec2 *  canvas_size = nullptr 
)
static

Definition at line 106 of file layout_helpers.cc.

References yaze::gui::ConvertColorToImVec4(), and GetTheme().

Here is the call graph for this function:

◆ EndCanvasPanel()

void yaze::gui::LayoutHelpers::EndCanvasPanel ( )
static

Definition at line 120 of file layout_helpers.cc.

◆ AutoSizedInputField()

bool yaze::gui::LayoutHelpers::AutoSizedInputField ( const char *  label,
char *  buf,
size_t  buf_size,
ImGuiInputTextFlags  flags = 0 
)
static

Definition at line 127 of file layout_helpers.cc.

References GetStandardInputWidth().

Here is the call graph for this function:

◆ AutoSizedInputInt()

bool yaze::gui::LayoutHelpers::AutoSizedInputInt ( const char *  label,
int *  v,
int  step = 1,
int  step_fast = 100,
ImGuiInputTextFlags  flags = 0 
)
static

Definition at line 133 of file layout_helpers.cc.

References GetStandardInputWidth().

Here is the call graph for this function:

◆ AutoSizedInputFloat()

bool yaze::gui::LayoutHelpers::AutoSizedInputFloat ( const char *  label,
float *  v,
float  step = 0.0f,
float  step_fast = 0.0f,
const char *  format = "%.3f",
ImGuiInputTextFlags  flags = 0 
)
static

Definition at line 139 of file layout_helpers.cc.

References GetStandardInputWidth().

Here is the call graph for this function:

◆ InputHexRow() [1/2]

bool yaze::gui::LayoutHelpers::InputHexRow ( const char *  label,
uint8_t *  data 
)
static

Definition at line 147 of file layout_helpers.cc.

References GetStandardInputWidth(), and GetTheme().

Here is the call graph for this function:

◆ InputHexRow() [2/2]

bool yaze::gui::LayoutHelpers::InputHexRow ( const char *  label,
uint16_t *  data 
)
static

Definition at line 175 of file layout_helpers.cc.

References GetStandardInputWidth(), and GetTheme().

Here is the call graph for this function:

◆ BeginPropertyGrid()

void yaze::gui::LayoutHelpers::BeginPropertyGrid ( const char *  label)
static

Definition at line 203 of file layout_helpers.cc.

References GetStandardInputWidth(), and GetTheme().

Here is the call graph for this function:

◆ EndPropertyGrid()

void yaze::gui::LayoutHelpers::EndPropertyGrid ( )
static

Definition at line 216 of file layout_helpers.cc.

◆ InputToolbarField()

bool yaze::gui::LayoutHelpers::InputToolbarField ( const char *  label,
char *  buf,
size_t  buf_size 
)
static

Definition at line 220 of file layout_helpers.cc.

References yaze::gui::EnhancedTheme::compact_factor, GetStandardInputWidth(), and GetTheme().

Here is the call graph for this function:

◆ BeginToolbar()

void yaze::gui::LayoutHelpers::BeginToolbar ( const char *  label)
static

Definition at line 230 of file layout_helpers.cc.

References yaze::gui::ConvertColorToImVec4(), GetButtonPadding(), GetTheme(), and GetToolbarHeight().

Here is the call graph for this function:

◆ EndToolbar()

void yaze::gui::LayoutHelpers::EndToolbar ( )
static

Definition at line 239 of file layout_helpers.cc.

◆ ToolbarSeparator()

void yaze::gui::LayoutHelpers::ToolbarSeparator ( )
static

Definition at line 245 of file layout_helpers.cc.

References GetStandardSpacing().

Here is the call graph for this function:

◆ ToolbarButton()

bool yaze::gui::LayoutHelpers::ToolbarButton ( const char *  label,
const ImVec2 &  size = ImVec2(0, 0) 
)
static

Definition at line 255 of file layout_helpers.cc.

References GetButtonPadding(), and GetTheme().

Here is the call graph for this function:

◆ PropertyRow()

void yaze::gui::LayoutHelpers::PropertyRow ( const char *  label,
std::function< void()>  widget_callback 
)
static

Definition at line 265 of file layout_helpers.cc.

◆ SectionHeader()

void yaze::gui::LayoutHelpers::SectionHeader ( const char *  label)
static

Definition at line 275 of file layout_helpers.cc.

References yaze::gui::ConvertColorToImVec4(), and GetTheme().

Referenced by yaze::gui::SectionHeader().

Here is the call graph for this function:

◆ HelpMarker()

void yaze::gui::LayoutHelpers::HelpMarker ( const char *  desc)
static

◆ GetTheme()

◆ GetBaseFontSize()

static float yaze::gui::LayoutHelpers::GetBaseFontSize ( )
inlinestaticprivate

◆ ApplyCompactFactor()

static float yaze::gui::LayoutHelpers::ApplyCompactFactor ( float  base_value)
inlinestaticprivate

Definition at line 79 of file layout_helpers.h.

References yaze::gui::EnhancedTheme::compact_factor, and GetTheme().

Here is the call graph for this function:

The documentation for this class was generated from the following files: