yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
agent_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 // Unified editor colors
72
73 // Interaction colors
81
82 // Entity colors
84 ImVec4 hole_color;
85 ImVec4 exit_color;
86 ImVec4 item_color;
90
91 // Dungeon editor colors
92 ImVec4 dungeon_selection_primary; // Primary selection (yellow)
93 ImVec4 dungeon_selection_secondary; // Secondary selection (cyan)
94 ImVec4 dungeon_selection_pulsing; // Animated pulsing selection
95 ImVec4 dungeon_selection_handle; // Selection corner handles
96 ImVec4 dungeon_drag_preview; // Semi-transparent drag preview
97 ImVec4 dungeon_drag_preview_outline; // Drag preview outline
98 ImVec4 dungeon_object_wall; // Wall objects
99 ImVec4 dungeon_object_floor; // Floor objects
100 ImVec4 dungeon_object_chest; // Chest objects (gold)
101 ImVec4 dungeon_object_door; // Door objects
102 ImVec4 dungeon_object_pot; // Pot objects
103 ImVec4 dungeon_object_stairs; // Stairs (yellow)
104 ImVec4 dungeon_object_decoration; // Decoration objects
105 ImVec4 dungeon_object_default; // Default object color
106 ImVec4 dungeon_grid_cell_highlight; // Grid cell highlight (light green)
107 ImVec4 dungeon_grid_cell_selected; // Grid cell selected (green)
108 ImVec4 dungeon_grid_cell_border; // Grid cell border
109 ImVec4 dungeon_grid_text; // Grid text overlay
110 ImVec4 dungeon_room_border; // Room boundary
111 ImVec4 dungeon_room_border_dark; // Darker room border
112 ImVec4 dungeon_sprite_layer0; // Sprite layer 0 (green)
113 ImVec4 dungeon_sprite_layer1; // Sprite layer 1 (blue)
114 ImVec4 dungeon_sprite_layer2; // Sprite layer 2 (blue)
115 ImVec4 dungeon_outline_layer0; // Outline layer 0 (red)
116 ImVec4 dungeon_outline_layer1; // Outline layer 1 (green)
117 ImVec4 dungeon_outline_layer2; // Outline layer 2 (blue)
118 ImVec4 text_primary; // Primary text color (white)
119 ImVec4 text_secondary_gray; // Secondary gray text
120 ImVec4 text_info; // Info text (blue)
121 ImVec4 text_warning_yellow; // Warning text (yellow)
122 ImVec4 text_error_red; // Error text (red)
123 ImVec4 text_success_green; // Success text (green)
124 ImVec4 box_bg_dark; // Dark box background
125 ImVec4 box_border; // Box border
126 ImVec4 box_text; // Box text color
127
128 // Initialize from current theme
130};
131
132// Helper functions for common UI patterns
133namespace AgentUI {
134
135// Get current theme colors
136const AgentUITheme& GetTheme();
137
138// Refresh theme from ThemeManager
139void RefreshTheme();
140
141// Common UI components
142void PushPanelStyle();
143void PopPanelStyle();
144
145void RenderSectionHeader(const char* icon, const char* label,
146 const ImVec4& color);
147void RenderStatusIndicator(const char* label, bool active);
148void RenderProviderBadge(const char* provider);
149
150// Status badge for tests/processes
152void StatusBadge(const char* text, ButtonColor color);
153
154// Spacing helpers
155void VerticalSpacing(float amount = 8.0f);
156void HorizontalSpacing(float amount = 8.0f);
157
158// Common button styles
159bool StyledButton(const char* label, const ImVec4& color,
160 const ImVec2& size = ImVec2(0, 0));
161bool IconButton(const char* icon, const char* tooltip = nullptr);
162
163} // namespace AgentUI
164
165} // namespace editor
166} // namespace yaze
167
168#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.
Definition agent_theme.h:19
static AgentUITheme FromCurrentTheme()
Definition agent_theme.cc:8