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 ThemeGetTheme ()
 

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().

Here is the call graph for this function:

◆ GetStandardSpacing()

◆ GetToolbarHeight()

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

Definition at line 28 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 34 of file layout_helpers.cc.

References GetBaseFontSize(), and GetTheme().

Referenced by BeginPaddedPanel(), and EndPaddedPanel().

Here is the call graph for this function:

◆ GetStandardInputWidth()

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

◆ GetButtonPadding()

◆ GetTableRowHeight()

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

Definition at line 52 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 58 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 65 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 76 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 84 of file layout_helpers.cc.

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

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

Here is the call graph for this function:

◆ EndTableWithTheming()

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

Definition at line 112 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.

◆ BeginCanvasPanel()

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

Definition at line 120 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 135 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 142 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 149 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 156 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 164 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 192 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 221 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 234 of file layout_helpers.cc.

◆ InputToolbarField()

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

Definition at line 238 of file layout_helpers.cc.

References yaze::gui::Theme::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 250 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 261 of file layout_helpers.cc.

◆ ToolbarSeparator()

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

Definition at line 267 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 277 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 287 of file layout_helpers.cc.

◆ SectionHeader()

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

Definition at line 298 of file layout_helpers.cc.

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

Here is the call graph for this function:

◆ HelpMarker()

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

Definition at line 305 of file layout_helpers.cc.

Referenced by yaze::editor::PaletteGroupPanel::DrawColorPicker().

◆ GetTheme()

◆ GetBaseFontSize()

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

◆ ApplyCompactFactor()

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

Definition at line 84 of file layout_helpers.h.

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

Here is the call graph for this function:

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