1#ifndef YAZE_APP_GUI_THEMED_WIDGETS_H
2#define YAZE_APP_GUI_THEMED_WIDGETS_H
7#include "imgui/imgui.h"
41bool ThemedButton(
const char* label,
const ImVec2& size = ImVec2(0, 0));
51bool PrimaryButton(
const char* label,
const ImVec2& size = ImVec2(0, 0));
56bool DangerButton(
const char* label,
const ImVec2& size = ImVec2(0, 0));
82void ThemedCard(
const char* label, std::function<
void()> content,
83 const ImVec2& size = ImVec2(0, 0));
103 ImGuiInputTextFlags flags = 0);
108bool ThemedInputInt(
const char* label,
int* v,
int step = 1,
int step_fast = 100,
109 ImGuiInputTextFlags flags = 0);
115 float step_fast = 0.0f,
const char* format =
"%.3f",
116 ImGuiInputTextFlags flags = 0);
126bool ThemedCombo(
const char* label,
int* current_item,
const char*
const items[],
127 int items_count,
int popup_max_height_in_items = -1);
136bool BeginThemedTable(
const char* str_id,
int columns, ImGuiTableFlags flags = 0,
137 const ImVec2& outer_size = ImVec2(0, 0),
138 float inner_width = 0.0f);
178 const char* overlay =
nullptr);
193 bool show_snes_format =
true,
194 bool show_hex_format =
true);
201void ModifiedBadge(
bool is_modified,
const char* text =
nullptr);
static ThemeManager & Get()
const EnhancedTheme & GetCurrentTheme() const
void ThemedHelpMarker(const char *desc)
Themed help marker with tooltip.
bool ThemedCheckbox(const char *label, bool *v)
Themed checkbox.
bool ThemedButton(const char *label, const ImVec2 &size)
Theme-aware widget library.
void ThemedCard(const char *label, std::function< void()> content, const ImVec2 &size)
Themed card with rounded corners and shadow.
void ColorInfoPanel(const yaze::gfx::SnesColor &color, bool show_snes_format, bool show_hex_format)
Display color information with copy-to-clipboard functionality.
void BeginThemedPanel(const char *label, const ImVec2 &size)
Begin themed panel (manual version of ThemedCard)
void ModifiedBadge(bool is_modified, const char *text)
Modified indicator badge (displayed as text with icon)
bool BeginThemedTable(const char *str_id, int columns, ImGuiTableFlags flags, const ImVec2 &outer_size, float inner_width)
Begin themed table with automatic styling.
bool ThemedInputFloat(const char *label, float *v, float step, float step_fast, const char *format, ImGuiInputTextFlags flags)
Themed float input.
void ThemedStatusText(const char *text, StatusType type)
Themed status text (success, warning, error, info)
bool DangerButton(const char *label, const ImVec2 &size)
Danger/destructive action button (uses error color)
const EnhancedTheme & GetTheme()
Get current theme (shortcut)
void BeginThemedTooltip()
Begin themed tooltip.
void SectionHeader(const char *icon, const char *label, const ImVec4 &color)
void EndThemedTooltip()
End themed tooltip.
void PushThemedWidgetColors()
Apply theme colors to next widget.
bool PrimaryButton(const char *label, const ImVec2 &size)
Primary action button (uses accent color)
void PopThemedWidgetColors()
Restore previous colors.
bool ThemedCombo(const char *label, int *current_item, const char *const items[], int items_count, int popup_max_height_in_items)
Themed combo box.
bool ThemedInputText(const char *label, char *buf, size_t buf_size, ImGuiInputTextFlags flags)
Themed text input.
void EndThemedPanel()
End themed panel.
void ThemedProgressBar(float fraction, const ImVec2 &size, const char *overlay)
Themed progress bar.
void EndThemedTable()
End themed table.
bool ThemedCollapsingHeader(const char *label, ImGuiTreeNodeFlags flags)
Collapsible section with themed header.
bool ThemedIconButton(const char *icon, const char *tooltip)
Themed button with icon (Material Design Icons)
bool ThemedInputInt(const char *label, int *v, int step, int step_fast, ImGuiInputTextFlags flags)
Themed integer input.
Main namespace for the application.
Comprehensive theme structure for YAZE.