1#ifndef YAZE_APP_GUI_UI_HELPERS_H
2#define YAZE_APP_GUI_UI_HELPERS_H
4#include "imgui/imgui.h"
46void BeginField(
const char* label,
float label_width = 0.0f);
51 ImGuiTableFlags extra_flags = 0);
55void PropertyRow(
const char* label,
const char* value);
62 const ImVec4& color = ImVec4(1, 1, 1, 1));
69bool IconButton(
const char* icon,
const char* label,
70 const ImVec2& size = ImVec2(0, 0));
75 const ImVec2& size = ImVec2(0, 0));
79 bool* state,
const char* tooltip =
nullptr);
97void ToolsetButton(
const char* icon,
bool selected,
const char* tooltip,
98 std::function<
void()> on_click);
105bool EditorTabItem(
const char* icon,
const char* label,
bool* p_open =
nullptr);
109 const char* confirm_text =
"OK",
110 const char* cancel_text =
"Cancel");
118 const char* tooltip =
nullptr);
150void LoadingSpinner(
const char* label =
nullptr,
float radius = 10.0f);
176bool IconCombo(
const char* icon,
const char* label,
int* current,
177 const char*
const items[],
int count);
void RightAlign(float width)
void VerticalSpacing(float pixels)
void EndCanvasContainer()
void BeginToolset(const char *id)
ImVec4 GetVanillaRomColor()
void PropertyRow(const char *label, const char *value)
bool ToggleIconButton(const char *icon_on, const char *icon_off, bool *state, const char *tooltip)
void BeginField(const char *label, float label_width)
void SeparatorText(const char *label)
void StatusIndicator(const char *label, bool active, const char *tooltip)
ImVec4 GetSelectedColor()
void BeginTwoColumns(const char *id, float split_ratio)
void RomVersionBadge(const char *version, bool is_vanilla)
bool EditorTabItem(const char *icon, const char *label, bool *p_open)
ImVec4 GetEntranceColor()
void CenterText(const char *text)
bool LabeledInputHex(const char *label, uint8_t *value)
void SectionHeader(const char *icon, const char *label, const ImVec4 &color)
void LockIndicator(bool locked, const char *label)
bool IconButton(const char *icon, const char *label, const ImVec2 &size)
void PropertyRowHex(const char *label, uint8_t value)
float GetResponsiveWidth(float min_width, float max_width, float ratio)
void SetupResponsiveColumns(int count, float min_col_width)
bool ColoredButton(const char *label, ButtonType type, const ImVec2 &size)
bool BeginPropertyTable(const char *id, int columns, ImGuiTableFlags extra_flags)
void BeginCanvasContainer(const char *id, bool scrollable)
bool IconCombo(const char *icon, const char *label, int *current, const char *const items[], int count)
void LoadingSpinner(const char *label, float radius)
ImVec4 GetThemeColor(ImGuiCol idx)
void ToolsetButton(const char *icon, bool selected, const char *tooltip, std::function< void()> on_click)
bool ConfirmationDialog(const char *id, const char *title, const char *message, const char *confirm_text, const char *cancel_text)
ImVec4 GetModifiedColor()
float GetFadeIn(float duration)
float GetPulseAlpha(float speed)
void PushPulseEffect(float speed)
void HelpMarker(const char *desc)
void StatusBadge(const char *text, ButtonType type)
void HorizontalSpacing(float pixels)
ImVec4 GetCustomRomColor()
Main namespace for the application.