yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
agent_ui_theme.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_AGENT_AGENT_UI_THEME_H
2#define YAZE_APP_EDITOR_AGENT_AGENT_UI_THEME_H
3
6#include "imgui/imgui.h"
7
8namespace yaze {
9namespace editor {
10
20 // Message colors
24
26
27 // Content colors
31
32 // UI element colors
37
38 // Status colors
44
45 // Provider colors
50
51 // Collaboration colors
54
55 // Proposal colors
58
59 // Button colors
62
63 // Gradient colors
66
67 // Dungeon editor colors
68 ImVec4 dungeon_selection_primary; // Primary selection (yellow)
69 ImVec4 dungeon_selection_secondary; // Secondary selection (cyan)
70 ImVec4 dungeon_selection_pulsing; // Animated pulsing selection
71 ImVec4 dungeon_selection_handle; // Selection corner handles
72 ImVec4 dungeon_drag_preview; // Semi-transparent drag preview
73 ImVec4 dungeon_drag_preview_outline; // Drag preview outline
74 ImVec4 dungeon_object_wall; // Wall objects
75 ImVec4 dungeon_object_floor; // Floor objects
76 ImVec4 dungeon_object_chest; // Chest objects (gold)
77 ImVec4 dungeon_object_door; // Door objects
78 ImVec4 dungeon_object_pot; // Pot objects
79 ImVec4 dungeon_object_stairs; // Stairs (yellow)
80 ImVec4 dungeon_object_decoration; // Decoration objects
81 ImVec4 dungeon_object_default; // Default object color
82 ImVec4 dungeon_grid_cell_highlight; // Grid cell highlight (light green)
83 ImVec4 dungeon_grid_cell_selected; // Grid cell selected (green)
84 ImVec4 dungeon_grid_cell_border; // Grid cell border
85 ImVec4 dungeon_grid_text; // Grid text overlay
86 ImVec4 dungeon_room_border; // Room boundary
87 ImVec4 dungeon_room_border_dark; // Darker room border
88 ImVec4 dungeon_sprite_layer0; // Sprite layer 0 (green)
89 ImVec4 dungeon_sprite_layer1; // Sprite layer 1 (blue)
90 ImVec4 dungeon_sprite_layer2; // Sprite layer 2 (blue)
91 ImVec4 dungeon_outline_layer0; // Outline layer 0 (red)
92 ImVec4 dungeon_outline_layer1; // Outline layer 1 (green)
93 ImVec4 dungeon_outline_layer2; // Outline layer 2 (blue)
94 ImVec4 text_primary; // Primary text color (white)
95 ImVec4 text_secondary_gray; // Secondary gray text
96 ImVec4 text_info; // Info text (blue)
97 ImVec4 text_warning_yellow; // Warning text (yellow)
98 ImVec4 text_error_red; // Error text (red)
99 ImVec4 text_success_green; // Success text (green)
100 ImVec4 box_bg_dark; // Dark box background
101 ImVec4 box_border; // Box border
102 ImVec4 box_text; // Box text color
103
104 // Initialize from current theme
106};
107
108// Helper functions for common UI patterns
109namespace AgentUI {
110
111// Get current theme colors
112const AgentUITheme& GetTheme();
113
114// Refresh theme from ThemeManager
115void RefreshTheme();
116
117// Common UI components
118void PushPanelStyle();
119void PopPanelStyle();
120
121void RenderSectionHeader(const char* icon, const char* label,
122 const ImVec4& color);
123void RenderStatusIndicator(const char* label, bool active);
124void RenderProviderBadge(const char* provider);
125
126// Status badge for tests/processes
128void StatusBadge(const char* text, ButtonColor color);
129
130// Spacing helpers
131void VerticalSpacing(float amount = 8.0f);
132void HorizontalSpacing(float amount = 8.0f);
133
134// Common button styles
135bool StyledButton(const char* label, const ImVec4& color,
136 const ImVec2& size = ImVec2(0, 0));
137bool IconButton(const char* icon, const char* tooltip = nullptr);
138
139} // namespace AgentUI
140
141} // namespace editor
142} // namespace yaze
143
144#endif // YAZE_APP_EDITOR_AGENT_AGENT_UI_THEME_H
void RenderStatusIndicator(const char *label, bool active)
bool StyledButton(const char *label, const ImVec4 &color, const ImVec2 &size)
void HorizontalSpacing(float amount)
const AgentUITheme & GetTheme()
void RenderSectionHeader(const char *icon, const char *label, const ImVec4 &color)
void RenderProviderBadge(const char *provider)
void VerticalSpacing(float amount)
void StatusBadge(const char *text, ButtonColor color)
bool IconButton(const char *icon, const char *tooltip)
Centralized theme colors for Agent UI components.
static AgentUITheme FromCurrentTheme()