1#ifndef YAZE_APP_GUI_WIDGETS_THEMED_WIDGETS_H_
2#define YAZE_APP_GUI_WIDGETS_THEMED_WIDGETS_H_
8#include "imgui/imgui.h"
48bool RippleButton(
const char* label,
const ImVec2& size = ImVec2(0, 0),
49 const ImVec4& ripple_color = ImVec4(1.0f, 1.0f, 1.0f, 0.3f),
50 const char* panel_id =
nullptr,
51 const char* anim_id =
nullptr);
62bool BouncyButton(
const char* label,
const ImVec2& size = ImVec2(0, 0),
63 const char* panel_id =
nullptr,
64 const char* anim_id =
nullptr);
79 const ImVec2& size = ImVec2(0, 0),
bool is_active =
false,
80 bool is_disabled =
false,
const char* panel_id =
nullptr,
81 const char* anim_id =
nullptr);
97 const char* tooltip =
nullptr,
98 bool is_active =
false,
99 const ImVec4& active_color = ImVec4(0, 0, 0, 0),
100 const char* panel_id =
nullptr,
101 const char* anim_id =
nullptr);
111bool ThemedButton(
const char* label,
const ImVec2& size = ImVec2(0, 0),
112 const char* panel_id =
nullptr,
113 const char* anim_id =
nullptr);
123bool PrimaryButton(
const char* label,
const ImVec2& size = ImVec2(0, 0),
124 const char* panel_id =
nullptr,
125 const char* anim_id =
nullptr);
135bool DangerButton(
const char* label,
const ImVec2& size = ImVec2(0, 0),
136 const char* panel_id =
nullptr,
137 const char* anim_id =
nullptr);
147bool SuccessButton(
const char* label,
const ImVec2& size = ImVec2(0, 0),
148 const char* panel_id =
nullptr,
149 const char* anim_id =
nullptr);
162 bool is_active =
false);
176 bool is_active =
false);
211void DrawCanvasHUD(
const char* label,
const ImVec2& pos,
const ImVec2& size,
212 std::function<
void()> draw_content);
226 bool is_selected,
bool is_modified,
const ImVec2& size,
227 const char* panel_id =
nullptr,
228 const char* anim_id =
nullptr);
235void PanelHeader(
const char* title,
const char* icon =
nullptr,
236 bool* p_open =
nullptr,
const char* panel_id =
nullptr);
bool TransparentIconButton(const char *icon, const ImVec2 &size, const char *tooltip, bool is_active, const ImVec4 &active_color, const char *panel_id, const char *anim_id)
Draw a transparent icon button (hover effect only).
bool ThemedIconButton(const char *icon, const char *tooltip, const ImVec2 &size, bool is_active, bool is_disabled, const char *panel_id, const char *anim_id)
Draw a standard icon button with theme-aware colors.
bool PrimaryButton(const char *label, const ImVec2 &size, const char *panel_id, const char *anim_id)
Draw a primary action button (accented color).
void ValueChangeFlash(bool changed, const char *id)
Provide visual "flash" feedback when a value changes.
void ThemedTooltip(const char *text)
Draw a tooltip with theme-aware background and borders.
bool BouncyButton(const char *label, const ImVec2 &size, const char *panel_id, const char *anim_id)
Draw a bouncy animated button that scales on press.
bool BeginThemedTabBar(const char *id, ImGuiTabBarFlags flags)
A stylized tab bar with "Mission Control" branding.
bool SuccessButton(const char *label, const ImVec2 &size, const char *panel_id, const char *anim_id)
Draw a success action button (green color).
void DrawCanvasHUD(const char *label, const ImVec2 &pos, const ImVec2 &size, std::function< void()> draw_content)
Draw a stylized Heads-Up Display (HUD) for canvas status.
bool ThemedButton(const char *label, const ImVec2 &size, const char *panel_id, const char *anim_id)
Draw a standard text button with theme colors.
bool DangerButton(const char *label, const ImVec2 &size, const char *panel_id, const char *anim_id)
Draw a danger action button (error color).
void SectionHeader(const char *icon, const char *label, const ImVec4 &color)
bool RippleButton(const char *label, const ImVec2 &size, const ImVec4 &ripple_color, const char *panel_id, const char *anim_id)
Draw a button with animated click ripple effect.
IMGUI_API bool PaletteColorButton(const char *id, const gfx::SnesColor &color, bool is_selected, bool is_modified, const ImVec2 &size, ImGuiColorEditFlags flags)
void PanelHeader(const char *title, const char *icon, bool *p_open, const char *panel_id)
Draw a panel header with consistent styling.
bool ToolbarIconButton(const char *icon, const char *tooltip, bool is_active)
Convenience wrapper for toolbar-sized icon buttons.
bool InlineIconButton(const char *icon, const char *tooltip, bool is_active)
Convenience wrapper for small inline icon buttons.
static constexpr float kIconButtonLarge
static constexpr float kIconButtonSmall
static constexpr float kActivityBarIconWidth
static constexpr float kIconButtonMedium
static constexpr float kIconButtonToolbar
static constexpr float kActivityBarIconHeight