simplification/consolidation pass over theme colors

This commit is contained in:
Ryan Fleury
2024-06-24 11:59:19 -07:00
parent 4d2b524400
commit 6d75d6b63b
7 changed files with 520 additions and 643 deletions
+105 -126
View File
@@ -3456,7 +3456,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
ui_push_font_size(main_font_size);
ui_push_pref_width(ui_em(20.f, 1));
ui_push_pref_height(ui_em(2.75f, 1.f));
ui_push_palette(df_palette_from_code(DF_PaletteCode_Default));
ui_push_palette(df_palette_from_code(DF_PaletteCode_Base));
ui_push_blur_size(10.f);
}
@@ -3502,7 +3502,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
UI_Size main_width = ui_top_pref_width();
UI_Size main_height = ui_top_pref_height();
UI_TextAlign main_text_align = ui_top_text_alignment();
DF_Palette(DF_PaletteCode_TabActive)
DF_Palette(DF_PaletteCode_Tab)
UI_Tooltip
UI_PrefWidth(main_width)
UI_PrefHeight(main_height)
@@ -3680,7 +3680,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
//- rjf: entity menu
UI_CtxMenu(ws->entity_ctx_menu_key)
UI_PrefWidth(ui_em(30.f, 1.f))
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
{
DF_Entity *entity = df_entity_from_handle(ws->entity_ctx_menu_entity);
DF_IconKind entity_icon = df_g_entity_kind_icon_kind_table[entity->kind];
@@ -3887,7 +3887,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
if(op_flags & DF_EntityOpFlag_Freeze)
{
B32 is_frozen = df_entity_is_frozen(entity);
ui_set_next_palette(df_palette_from_code(is_frozen ? DF_PaletteCode_SpecialNegative : DF_PaletteCode_SpecialPositive));
ui_set_next_palette(df_palette_from_code(is_frozen ? DF_PaletteCode_NegativePopButton : DF_PaletteCode_PositivePopButton));
if(is_frozen && ui_clicked(df_icon_buttonf(DF_IconKind_Locked, 0, "Thaw###freeze_thaw")))
{
DF_CmdParams params = df_cmd_params_from_window(ws);
@@ -4221,7 +4221,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
//- rjf: tab menu
UI_CtxMenu(ws->tab_ctx_menu_key) UI_PrefWidth(ui_em(25.f, 1.f)) UI_CornerRadius(0)
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
{
DF_View *view = df_view_from_handle(ws->tab_ctx_menu_view);
DF_IconKind view_icon = df_icon_kind_from_view(view);
@@ -4360,7 +4360,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
{
UI_CornerRadius00(ui_top_font_size()*0.25f)
UI_CornerRadius01(ui_top_font_size()*0.25f)
DF_Palette(DF_PaletteCode_SpecialNeutral)
DF_Palette(DF_PaletteCode_NeutralPopButton)
if(ui_clicked(ui_buttonf("OK")) || (ui_key_match(bg_box->default_nav_focus_hot_key, ui_key_zero()) && ui_slot_press(UI_EventActionSlot_Accept)))
{
DF_CmdParams p = df_cmd_params_zero();
@@ -4636,7 +4636,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
UI_Font(df_font_from_slot(DF_FontSlot_Code))
UI_HoverCursor(OS_Cursor_HandPoint)
UI_Focus(UI_FocusKind_Null)
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
UI_Padding(ui_em(1.f, 1.f))
{
for(U64 idx = 0; idx < item_array.count; idx += 1)
@@ -4728,7 +4728,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
DF_Palette(DF_PaletteCode_Floating)
UI_CtxMenu(file_menu_key)
UI_PrefWidth(ui_em(40.f, 1.f))
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
{
DF_CoreCmdKind cmds[] =
{
@@ -4755,7 +4755,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
DF_Palette(DF_PaletteCode_Floating)
UI_CtxMenu(window_menu_key)
UI_PrefWidth(ui_em(40.f, 1.f))
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
{
DF_CoreCmdKind cmds[] =
{
@@ -4778,7 +4778,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
DF_Palette(DF_PaletteCode_Floating)
UI_CtxMenu(panel_menu_key)
UI_PrefWidth(ui_em(40.f, 1.f))
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
{
DF_CoreCmdKind cmds[] =
{
@@ -4821,7 +4821,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
DF_Palette(DF_PaletteCode_Floating)
UI_CtxMenu(view_menu_key)
UI_PrefWidth(ui_em(40.f, 1.f))
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
{
DF_CoreCmdKind cmds[] =
{
@@ -4878,7 +4878,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
DF_Palette(DF_PaletteCode_Floating)
UI_CtxMenu(targets_menu_key)
UI_PrefWidth(ui_em(40.f, 1.f))
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
{
Temp scratch = scratch_begin(&arena, 1);
DF_CoreCmdKind cmds[] =
@@ -4926,7 +4926,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
DF_Palette(DF_PaletteCode_Floating)
UI_CtxMenu(ctrl_menu_key)
UI_PrefWidth(ui_em(40.f, 1.f))
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
{
DF_CoreCmdKind cmds[] =
{
@@ -4961,7 +4961,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
DF_Palette(DF_PaletteCode_Floating)
UI_CtxMenu(help_menu_key)
UI_PrefWidth(ui_em(60.f, 1.f))
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
{
UI_Row UI_TextAlignment(UI_TextAlign_Center) UI_FlagsAdd(UI_BoxFlag_DrawTextWeak)
ui_label(str8_lit(BUILD_TITLE_STRING_LITERAL));
@@ -5107,7 +5107,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
// rjf: conversion task visualization
UI_PrefWidth(ui_text_dim(10, 1)) UI_HeightFill
DF_Palette(DF_PaletteCode_SpecialNeutral)
DF_Palette(DF_PaletteCode_NeutralPopButton)
{
Temp scratch = scratch_begin(&arena, 1);
DF_EntityList tasks = df_query_cached_entity_list_with_kind(DF_EntityKind_ConversionTask);
@@ -5155,7 +5155,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
if(can_play || !have_targets || processes.count == 0)
UI_TextAlignment(UI_TextAlign_Center)
UI_Flags((can_play ? 0 : UI_BoxFlag_Disabled))
DF_Palette(DF_PaletteCode_MenuBarPositive)
DF_Palette(DF_PaletteCode_MenuBar)
{
UI_Signal sig = ui_button(df_g_icon_kind_text_table[DF_IconKind_Play]);
os_window_push_custom_title_bar_client_area(ws->os, sig.box->rect);
@@ -5196,7 +5196,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
//- rjf: restart button
if(!can_play && processes.count != 0) UI_TextAlignment(UI_TextAlign_Center)
DF_Palette(DF_PaletteCode_MenuBarPositive)
UI_Palette(ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_TextPositive)))
{
UI_Signal sig = ui_button(df_g_icon_kind_text_table[DF_IconKind_Redo]);
os_window_push_custom_title_bar_client_area(ws->os, sig.box->rect);
@@ -5231,7 +5231,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
//- rjf: pause button
UI_TextAlignment(UI_TextAlign_Center) UI_Flags(can_pause ? 0 : UI_BoxFlag_Disabled)
DF_Palette(DF_PaletteCode_MenuBarNeutral)
UI_Palette(ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_TextNeutral)))
{
UI_Signal sig = ui_button(df_g_icon_kind_text_table[DF_IconKind_Pause]);
os_window_push_custom_title_bar_client_area(ws->os, sig.box->rect);
@@ -5258,7 +5258,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
//- rjf: stop button
UI_TextAlignment(UI_TextAlign_Center) UI_Flags(can_stop ? 0 : UI_BoxFlag_Disabled)
DF_Palette(DF_PaletteCode_MenuBarNegative)
UI_Palette(ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_TextNegative)))
{
UI_Signal sig = {0};
{
@@ -5396,7 +5396,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
ui_spacer(ui_pct(1, 0));
// rjf: loaded user viz
if(do_user_prof) DF_Palette(DF_PaletteCode_SpecialNeutral)
if(do_user_prof) DF_Palette(DF_PaletteCode_NeutralPopButton)
{
ui_set_next_pref_width(ui_children_sum(1));
ui_set_next_child_layout_axis(Axis2_X);
@@ -5433,7 +5433,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
}
// rjf: loaded project viz
if(do_user_prof) DF_Palette(DF_PaletteCode_SpecialNeutral)
if(do_user_prof) DF_Palette(DF_PaletteCode_NeutralPopButton)
{
ui_set_next_pref_width(ui_children_sum(1));
ui_set_next_child_layout_axis(Axis2_X);
@@ -5481,7 +5481,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
max_sig = df_icon_buttonf(DF_IconKind_Window, 0, "##maximize");
}
UI_PrefWidth(ui_px(button_dim, 1.f))
DF_Palette(DF_PaletteCode_SpecialNegative)
DF_Palette(DF_PaletteCode_NegativePopButton)
{
cls_sig = df_icon_buttonf(DF_IconKind_X, 0, "##close");
}
@@ -5513,9 +5513,9 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
{
B32 is_running = df_ctrl_targets_running() && df_ctrl_last_run_frame_idx() < df_frame_index();
CTRL_Event stop_event = df_ctrl_last_stop_event();
UI_Palette *positive_scheme = df_palette_from_code(DF_PaletteCode_SpecialPositive);
UI_Palette *running_scheme = df_palette_from_code(DF_PaletteCode_SpecialNeutral);
UI_Palette *negative_scheme = df_palette_from_code(DF_PaletteCode_SpecialNegative);
UI_Palette *positive_scheme = df_palette_from_code(DF_PaletteCode_PositivePopButton);
UI_Palette *running_scheme = df_palette_from_code(DF_PaletteCode_NeutralPopButton);
UI_Palette *negative_scheme = df_palette_from_code(DF_PaletteCode_NegativePopButton);
UI_Palette *palette = running_scheme;
if(!is_running)
{
@@ -5603,7 +5603,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
UI_Flags(UI_BoxFlag_DrawBackground)
UI_TextAlignment(UI_TextAlign_Center)
UI_CornerRadius(4)
DF_Palette(DF_PaletteCode_SpecialNeutral)
DF_Palette(DF_PaletteCode_NeutralPopButton)
ui_labelf("Currently rebinding \"%S\" hotkey", df_gfx_state->bind_change_cmd_spec->info.display_name);
}
@@ -5813,14 +5813,14 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
ws->query_view_selected = 1;
}
}
UI_PrefWidth(ui_em(5.f, 1.f)) UI_Focus(UI_FocusKind_Off) DF_Palette(DF_PaletteCode_SpecialPositive)
UI_PrefWidth(ui_em(5.f, 1.f)) UI_Focus(UI_FocusKind_Off) DF_Palette(DF_PaletteCode_PositivePopButton)
{
if(ui_clicked(df_icon_buttonf(DF_IconKind_RightArrow, 0, "##complete_query")))
{
query_completed = 1;
}
}
UI_PrefWidth(ui_em(3.f, 1.f)) UI_Focus(UI_FocusKind_Off) DF_Palette(DF_PaletteCode_Default)
UI_PrefWidth(ui_em(3.f, 1.f)) UI_Focus(UI_FocusKind_Off) DF_Palette(DF_PaletteCode_PlainButton)
{
if(ui_clicked(df_icon_buttonf(DF_IconKind_X, 0, "##cancel_query")))
{
@@ -6303,7 +6303,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
future_split_rect.p1.v[axis] += drop_site_major_dim_px;
future_split_rect.p0.v[axis2_flip(axis)] = panel_rect.p0.v[axis2_flip(axis)];
future_split_rect.p1.v[axis2_flip(axis)] = panel_rect.p1.v[axis2_flip(axis)];
UI_Rect(future_split_rect) DF_Palette(DF_PaletteCode_DropSite)
UI_Rect(future_split_rect) DF_Palette(DF_PaletteCode_DropSiteOverlay)
{
ui_build_box_from_key(UI_BoxFlag_DrawBackground, ui_key_zero());
}
@@ -6388,7 +6388,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
future_split_rect.p1.v[split_axis] += drop_site_major_dim_px;
future_split_rect.p0.v[axis2_flip(split_axis)] = child_rect.p0.v[axis2_flip(split_axis)];
future_split_rect.p1.v[axis2_flip(split_axis)] = child_rect.p1.v[axis2_flip(split_axis)];
UI_Rect(future_split_rect) DF_Palette(DF_PaletteCode_DropSite)
UI_Rect(future_split_rect) DF_Palette(DF_PaletteCode_DropSiteOverlay)
{
ui_build_box_from_key(UI_BoxFlag_DrawBackground, ui_key_zero());
}
@@ -6679,10 +6679,10 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
UI_Box *row_or_column = ui_build_box_from_key(0, ui_key_zero()); UI_Parent(row_or_column) UI_Padding(ui_px(padding, 1.f))
{
if(split_side == Side_Min) { ui_set_next_flags(UI_BoxFlag_DrawBackground); }
DF_Palette(DF_PaletteCode_DropSite) ui_build_box_from_key(UI_BoxFlag_DrawBorder, ui_key_zero());
DF_Palette(DF_PaletteCode_DropSiteOverlay) ui_build_box_from_key(UI_BoxFlag_DrawBorder, ui_key_zero());
ui_spacer(ui_px(padding, 1.f));
if(split_side == Side_Max) { ui_set_next_flags(UI_BoxFlag_DrawBackground); }
DF_Palette(DF_PaletteCode_DropSite) ui_build_box_from_key(UI_BoxFlag_DrawBorder, ui_key_zero());
DF_Palette(DF_PaletteCode_DropSiteOverlay) ui_build_box_from_key(UI_BoxFlag_DrawBorder, ui_key_zero());
}
}
}
@@ -6692,7 +6692,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
{
ui_set_next_child_layout_axis(split_axis);
UI_Box *row_or_column = ui_build_box_from_key(0, ui_key_zero());
UI_Parent(row_or_column) UI_Padding(ui_px(padding, 1.f)) DF_Palette(DF_PaletteCode_DropSite)
UI_Parent(row_or_column) UI_Padding(ui_px(padding, 1.f)) DF_Palette(DF_PaletteCode_DropSiteOverlay)
{
ui_build_box_from_key(UI_BoxFlag_DrawBorder|UI_BoxFlag_DrawBackground, ui_key_zero());
}
@@ -6735,7 +6735,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
Vec2F32 panel_center = center_2f32(panel_rect);
future_split_rect.v[side_flip(split_side)].v[split_axis] = panel_center.v[split_axis];
}
UI_Rect(future_split_rect) DF_Palette(DF_PaletteCode_DropSite)
UI_Rect(future_split_rect) DF_Palette(DF_PaletteCode_DropSiteOverlay)
{
ui_build_box_from_key(UI_BoxFlag_DrawBackground, ui_key_zero());
}
@@ -7077,7 +7077,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
ui_spacer(ui_em(0.2f, 1.f));
UI_CornerRadius00(corner_radius)
UI_CornerRadius10(corner_radius)
DF_Palette(DF_PaletteCode_DropSite)
DF_Palette(DF_PaletteCode_DropSiteOverlay)
{
ui_build_box_from_key(UI_BoxFlag_DrawBackground|UI_BoxFlag_DrawBorder, ui_key_zero());
}
@@ -7102,7 +7102,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
UI_Box *tab_column_box = ui_build_box_from_stringf(!is_changing_panel_boundaries*UI_BoxFlag_AnimatePosX, "tab_column_%p", view);
// rjf: build tab container box
UI_Parent(tab_column_box) UI_PrefHeight(ui_px(tab_bar_vheight, 1)) DF_Palette(view_is_selected ? DF_PaletteCode_TabActive : DF_PaletteCode_TabInactive)
UI_Parent(tab_column_box) UI_PrefHeight(ui_px(tab_bar_vheight, 1)) DF_Palette(view_is_selected ? DF_PaletteCode_Tab : DF_PaletteCode_TabInactive)
{
if((!view_is_selected && panel->tab_side == Side_Min) ||
(view_is_selected && panel->tab_side == Side_Max))
@@ -7265,7 +7265,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
UI_RunFlags(F_RunFlag_Smooth)
UI_FlagsAdd(UI_BoxFlag_DrawTextWeak)
UI_HoverCursor(OS_Cursor_HandPoint)
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
{
UI_Box *add_new_box = ui_build_box_from_stringf(UI_BoxFlag_DrawBackground|
UI_BoxFlag_DrawText|
@@ -7336,7 +7336,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
DF_Panel *drag_panel = df_panel_from_handle(df_g_drag_drop_payload.panel);
if(!df_view_is_nil(view) && active_drop_site != 0)
{
DF_Palette(DF_PaletteCode_DropSite) UI_Rect(tab_bar_rect)
DF_Palette(DF_PaletteCode_DropSiteOverlay) UI_Rect(tab_bar_rect)
ui_build_box_from_key(UI_BoxFlag_DrawBackground, ui_key_zero());
}
@@ -7395,7 +7395,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
{
// rjf: vis
{
DF_Palette(DF_PaletteCode_DropSite) UI_Rect(content_rect)
DF_Palette(DF_PaletteCode_DropSiteOverlay) UI_Rect(content_rect)
ui_build_box_from_key(UI_BoxFlag_DrawBackground, ui_key_zero());
}
@@ -7623,13 +7623,13 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
//- rjf: draw background color
{
Vec4F32 bg_color = df_rgba_from_theme_color(DF_ThemeColor_DefaultBackground);
Vec4F32 bg_color = df_rgba_from_theme_color(DF_ThemeColor_BaseBackground);
d_rect(os_client_rect_from_window(ws->os), bg_color, 0, 0, 0);
}
//- rjf: draw window border
{
Vec4F32 color = df_rgba_from_theme_color(DF_ThemeColor_DefaultBorder);
Vec4F32 color = df_rgba_from_theme_color(DF_ThemeColor_BaseBorder);
d_rect(os_client_rect_from_window(ws->os), color, 0, 1.f, 0.5f);
}
@@ -7943,7 +7943,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
// rjf: draw focus overlay
if(b->flags & UI_BoxFlag_Clickable && !(b->flags & UI_BoxFlag_DisableFocusOverlay) && b->focus_hot_t > 0.01f)
{
Vec4F32 color = df_rgba_from_theme_color(DF_ThemeColor_FocusActive);
Vec4F32 color = df_rgba_from_theme_color(DF_ThemeColor_Focus);
color.w *= 0.2f*b->focus_hot_t;
R_Rect2DInst *inst = d_rect(b->rect, color, 0, 0, 1.f);
MemoryCopyArray(inst->corner_radii, b->corner_radii);
@@ -7952,7 +7952,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
// rjf: draw focus border
if(b->flags & UI_BoxFlag_Clickable && !(b->flags & UI_BoxFlag_DisableFocusBorder) && b->focus_active_t > 0.01f)
{
Vec4F32 color = df_rgba_from_theme_color(DF_ThemeColor_FocusActive);
Vec4F32 color = df_rgba_from_theme_color(DF_ThemeColor_Focus);
color.w *= b->focus_active_t;
R_Rect2DInst *inst = d_rect(pad_2f32(b->rect, 1.f), color, 0, 1.f, 1.f);
MemoryCopyArray(inst->corner_radii, b->corner_radii);
@@ -8008,7 +8008,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, DF_CmdList *cmds)
//- rjf: draw border/overlay color to signify error
if(ws->error_t > 0.01f)
{
Vec4F32 color = df_rgba_from_theme_color(DF_ThemeColor_SpecialNegativeBackground);
Vec4F32 color = df_rgba_from_theme_color(DF_ThemeColor_NegativePopButtonBackground);
color.w *= ws->error_t;
Rng2F32 rect = os_client_rect_from_window(ws->os);
d_rect(pad_2f32(rect, 24.f), color, 0, 16.f, 12.f);
@@ -9823,7 +9823,7 @@ df_cmd_binding_button(DF_CmdSpec *spec)
MemoryCopyStruct(palette, ui_top_palette());
if(has_conflicts)
{
palette->colors[UI_ColorCode_Text] = df_rgba_from_theme_color(DF_ThemeColor_DefaultTextNegative);
palette->colors[UI_ColorCode_Text] = df_rgba_from_theme_color(DF_ThemeColor_TextNegative);
}
if(df_gfx_state->bind_change_active && df_gfx_state->bind_change_cmd_spec == spec)
{
@@ -10055,7 +10055,7 @@ df_entity_tooltips(DF_Entity *entity)
String8 explanation = df_stop_explanation_string_icon_from_ctrl_event(scratch.arena, &stop_event, &icon_kind);
if(explanation.size != 0)
{
UI_PrefWidth(ui_children_sum(1)) UI_Row DF_Palette(DF_PaletteCode_DefaultNegative)
UI_PrefWidth(ui_children_sum(1)) UI_Row DF_Palette(DF_PaletteCode_NegativePopButton)
{
UI_PrefWidth(ui_em(1.5f, 1.f))
UI_Font(df_font_from_slot(DF_FontSlot_Icons))
@@ -10113,7 +10113,7 @@ df_entity_tooltips(DF_Entity *entity)
{
UI_Font(df_font_from_slot(DF_FontSlot_Code))UI_PrefWidth(ui_text_dim(10, 1))
{
df_code_label(1.f, 0, df_rgba_from_theme_color(DF_ThemeColor_CodeProcedure), name);
df_code_label(1.f, 0, df_rgba_from_theme_color(DF_ThemeColor_CodeSymbol), name);
}
}
else
@@ -10180,7 +10180,7 @@ df_entity_desc_button(DF_Window *ws, DF_Entity *entity, FuzzyMatchRangeList *nam
DF_Entity *selected_thread = df_entity_from_handle(ctrl_ctx.thread);
if(selected_thread == entity)
{
palette = df_palette_from_code(DF_PaletteCode_SpecialNeutral);
palette = df_palette_from_code(DF_PaletteCode_NeutralPopButton);
}
if(stopped_thread == entity &&
(stop_event.cause == CTRL_EventCause_UserBreakpoint ||
@@ -10188,16 +10188,16 @@ df_entity_desc_button(DF_Window *ws, DF_Entity *entity, FuzzyMatchRangeList *nam
stop_event.cause == CTRL_EventCause_InterruptedByTrap ||
stop_event.cause == CTRL_EventCause_InterruptedByHalt))
{
palette = df_palette_from_code(DF_PaletteCode_SpecialNegative);
palette = df_palette_from_code(DF_PaletteCode_NegativePopButton);
}
}
if(entity->cfg_src == DF_CfgSrc_CommandLine)
{
palette = df_palette_from_code(DF_PaletteCode_SpecialNeutral);
palette = df_palette_from_code(DF_PaletteCode_NeutralPopButton);
}
else if(entity->kind == DF_EntityKind_Target && entity->b32 != 0)
{
palette = df_palette_from_code(DF_PaletteCode_DefaultPositive);
palette = df_palette_from_code(DF_PaletteCode_PositivePopButton);
}
ui_set_next_hover_cursor(OS_Cursor_HandPoint);
ui_set_next_palette(palette);
@@ -10275,7 +10275,7 @@ df_entity_desc_button(DF_Window *ws, DF_Entity *entity, FuzzyMatchRangeList *nam
if(entity->kind == DF_EntityKind_Thread)
UI_FontSize(ui_top_font_size()*0.75f)
UI_Font(df_font_from_slot(DF_FontSlot_Code))
UI_Palette(ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_CodeProcedure)))
UI_Palette(ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_CodeSymbol)))
UI_Flags(UI_BoxFlag_DisableTruncatedHover)
{
CTRL_Unwind unwind = df_query_cached_unwind_from_thread(entity);
@@ -10480,7 +10480,7 @@ internal UI_BOX_CUSTOM_DRAW(df_thread_box_draw_extensions)
if(u->is_frozen)
{
F32 lock_icon_off = ui_top_font_size()*0.2f;
Vec4F32 lock_icon_color = df_rgba_from_theme_color(DF_ThemeColor_DefaultTextNegative);
Vec4F32 lock_icon_color = df_rgba_from_theme_color(DF_ThemeColor_TextNegative);
d_text(df_font_from_slot(DF_FontSlot_Icons),
box->font_size, 0, 0, F_RunFlag_Smooth,
v2f32((box->rect.x0 + box->rect.x1)/2 + lock_icon_off/2,
@@ -10631,7 +10631,7 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
ctx_menu_keys[line_idx] = ui_key_from_stringf(top_container_box->key, "line_ctx_%I64d", line_num);
DF_Palette(DF_PaletteCode_Floating)
UI_CtxMenu(ctx_menu_keys[line_idx])
DF_Palette(DF_PaletteCode_ImplicitContents)
DF_Palette(DF_PaletteCode_ImplicitButton)
UI_PrefWidth(ui_em(37.f, 1.f))
{
DF_TextLineSrc2DasmInfoList *line_src2dasm_list = &params->line_src2dasm[line_idx];
@@ -11756,7 +11756,6 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
UI_Font(params->font)
UI_FontSize(params->font_size)
UI_CornerRadius(0)
DF_Palette(DF_PaletteCode_Code)
{
U64 line_idx = 0;
for(S64 line_num = params->line_num_range.min;
@@ -11832,7 +11831,7 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
if(voff != 0)
{
mapped_special = 1;
new_color_kind = DF_ThemeColor_CodeProcedure;
new_color_kind = DF_ThemeColor_CodeSymbol;
mix_t = selected_thread_module->alive_t;
}
}
@@ -12013,7 +12012,7 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
ui_box_text_position(line_box).x+cursor_off_pixels+cursor_thickness,
line_box->rect.y1+params->font_size*0.25f,
};
d_rect(cursor_rect, ui_top_palette()->colors[UI_ColorCode_Cursor], 1.f, 0, 1.f);
d_rect(cursor_rect, df_rgba_from_theme_color(is_focused ? DF_ThemeColor_Cursor : DF_ThemeColor_CursorInactive), 1.f, 0, 1.f);
}
// rjf: extra rendering for lines with line-info that match the hovered
@@ -13961,8 +13960,8 @@ df_gfx_begin_frame(Arena *arena, DF_CmdList *cmds)
F32 closest_preset_bg_distance = 100000000;
for(DF_ThemePreset p = (DF_ThemePreset)0; p < DF_ThemePreset_COUNT; p = (DF_ThemePreset)(p+1))
{
Vec4F32 cfg_bg = df_gfx_state->cfg_theme_target.colors[DF_ThemeColor_DefaultBackground];
Vec4F32 pre_bg = df_g_theme_preset_colors_table[p][DF_ThemeColor_DefaultBackground];
Vec4F32 cfg_bg = df_gfx_state->cfg_theme_target.colors[DF_ThemeColor_BaseBackground];
Vec4F32 pre_bg = df_g_theme_preset_colors_table[p][DF_ThemeColor_BaseBackground];
Vec4F32 diff = sub_4f32(cfg_bg, pre_bg);
Vec3F32 diff3 = diff.xyz;
F32 distance = length_3f32(diff3);
@@ -14136,77 +14135,57 @@ df_gfx_begin_frame(Arena *arena, DF_CmdList *cmds)
for(EachEnumVal(DF_PaletteCode, code))
{
df_gfx_state->cfg_palettes[code].null = v4f32(1, 0, 1, 1);
df_gfx_state->cfg_palettes[code].cursor = current->colors[DF_ThemeColor_CursorActive];
df_gfx_state->cfg_palettes[code].cursor = current->colors[DF_ThemeColor_Cursor];
df_gfx_state->cfg_palettes[code].selection = current->colors[DF_ThemeColor_Selection];
}
df_gfx_state->cfg_palettes[DF_PaletteCode_Default].background = current->colors[DF_ThemeColor_DefaultBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_Default].text = current->colors[DF_ThemeColor_DefaultText];
df_gfx_state->cfg_palettes[DF_PaletteCode_Default].text_weak = current->colors[DF_ThemeColor_DefaultTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_Default].border = current->colors[DF_ThemeColor_DefaultBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultPositive].background = current->colors[DF_ThemeColor_DefaultBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultPositive].text = current->colors[DF_ThemeColor_DefaultTextPositive];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultPositive].text_weak = current->colors[DF_ThemeColor_DefaultTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultPositive].border = current->colors[DF_ThemeColor_DefaultBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultNegative].background = current->colors[DF_ThemeColor_DefaultBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultNegative].text = current->colors[DF_ThemeColor_DefaultTextNegative];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultNegative].text_weak = current->colors[DF_ThemeColor_DefaultTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultNegative].border = current->colors[DF_ThemeColor_DefaultBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultNeutral].background = current->colors[DF_ThemeColor_DefaultBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultNeutral].text = current->colors[DF_ThemeColor_DefaultTextNeutral];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultNeutral].text_weak = current->colors[DF_ThemeColor_DefaultTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_DefaultNeutral].border = current->colors[DF_ThemeColor_DefaultBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_Floating].background = current->colors[DF_ThemeColor_FloatingBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_Floating].text = current->colors[DF_ThemeColor_FloatingText];
df_gfx_state->cfg_palettes[DF_PaletteCode_Floating].text_weak = current->colors[DF_ThemeColor_FloatingTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_Floating].border = current->colors[DF_ThemeColor_FloatingBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_ImplicitContents].background = v4f32(0, 0, 0, 0);
df_gfx_state->cfg_palettes[DF_PaletteCode_ImplicitContents].text = current->colors[DF_ThemeColor_FloatingText];
df_gfx_state->cfg_palettes[DF_PaletteCode_ImplicitContents].text_weak = current->colors[DF_ThemeColor_FloatingTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_ImplicitContents].border = v4f32(0, 0, 0, 0);
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialPositive].background = current->colors[DF_ThemeColor_SpecialPositiveBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialPositive].text = current->colors[DF_ThemeColor_SpecialPositiveText];
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialPositive].text_weak = current->colors[DF_ThemeColor_SpecialPositiveTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialPositive].border = current->colors[DF_ThemeColor_SpecialPositiveBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialNegative].background = current->colors[DF_ThemeColor_SpecialNegativeBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialNegative].text = current->colors[DF_ThemeColor_SpecialNegativeText];
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialNegative].text_weak = current->colors[DF_ThemeColor_SpecialNegativeTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialNegative].border = current->colors[DF_ThemeColor_SpecialNegativeBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialNeutral].background = current->colors[DF_ThemeColor_SpecialNeutralBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialNeutral].text = current->colors[DF_ThemeColor_SpecialNeutralText];
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialNeutral].text_weak = current->colors[DF_ThemeColor_SpecialNeutralTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_SpecialNeutral].border = current->colors[DF_ThemeColor_SpecialNeutralBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_Base].background = current->colors[DF_ThemeColor_BaseBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_Base].text = current->colors[DF_ThemeColor_Text];
df_gfx_state->cfg_palettes[DF_PaletteCode_Base].text_weak = current->colors[DF_ThemeColor_TextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_Base].border = current->colors[DF_ThemeColor_BaseBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBar].background = current->colors[DF_ThemeColor_MenuBarBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBar].text = current->colors[DF_ThemeColor_MenuBarText];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBar].text_weak = current->colors[DF_ThemeColor_MenuBarTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBar].text = current->colors[DF_ThemeColor_Text];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBar].text_weak = current->colors[DF_ThemeColor_TextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBar].border = current->colors[DF_ThemeColor_MenuBarBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarPositive].background = current->colors[DF_ThemeColor_MenuBarBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarPositive].text = current->colors[DF_ThemeColor_MenuBarTextPositive];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarPositive].text_weak = current->colors[DF_ThemeColor_MenuBarTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarPositive].border = current->colors[DF_ThemeColor_MenuBarBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarNegative].background = current->colors[DF_ThemeColor_MenuBarBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarNegative].text = current->colors[DF_ThemeColor_MenuBarTextNegative];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarNegative].text_weak = current->colors[DF_ThemeColor_MenuBarTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarNegative].border = current->colors[DF_ThemeColor_MenuBarBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarNeutral].background = current->colors[DF_ThemeColor_MenuBarBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarNeutral].text = current->colors[DF_ThemeColor_DefaultTextNeutral];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarNeutral].text_weak = current->colors[DF_ThemeColor_MenuBarTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_MenuBarNeutral].border = current->colors[DF_ThemeColor_MenuBarBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabActive].background = current->colors[DF_ThemeColor_TabActiveBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabActive].text = current->colors[DF_ThemeColor_TabActiveText];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabActive].text_weak = current->colors[DF_ThemeColor_TabActiveTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabActive].border = current->colors[DF_ThemeColor_TabActiveBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabInactive].background = current->colors[DF_ThemeColor_TabInactiveBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabInactive].text = current->colors[DF_ThemeColor_TabInactiveText];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabInactive].text_weak = current->colors[DF_ThemeColor_TabInactiveTextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabInactive].border = current->colors[DF_ThemeColor_TabInactiveBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_Code].background = current->colors[DF_ThemeColor_DefaultBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_Code].text = current->colors[DF_ThemeColor_CodeDefault];
df_gfx_state->cfg_palettes[DF_PaletteCode_Code].text_weak = current->colors[DF_ThemeColor_CodeDefault];
df_gfx_state->cfg_palettes[DF_PaletteCode_Code].border = current->colors[DF_ThemeColor_DefaultBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_DropSite].background = current->colors[DF_ThemeColor_DropSiteOverlay];
df_gfx_state->cfg_palettes[DF_PaletteCode_DropSite].text = current->colors[DF_ThemeColor_DropSiteOverlay];
df_gfx_state->cfg_palettes[DF_PaletteCode_DropSite].text_weak = current->colors[DF_ThemeColor_DropSiteOverlay];
df_gfx_state->cfg_palettes[DF_PaletteCode_DropSite].border = current->colors[DF_ThemeColor_DropSiteOverlay];
df_gfx_state->cfg_palettes[DF_PaletteCode_Floating].background = current->colors[DF_ThemeColor_FloatingBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_Floating].text = current->colors[DF_ThemeColor_Text];
df_gfx_state->cfg_palettes[DF_PaletteCode_Floating].text_weak = current->colors[DF_ThemeColor_TextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_Floating].border = current->colors[DF_ThemeColor_FloatingBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_ImplicitButton].background = current->colors[DF_ThemeColor_ImplicitButtonBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_ImplicitButton].text = current->colors[DF_ThemeColor_Text];
df_gfx_state->cfg_palettes[DF_PaletteCode_ImplicitButton].text_weak = current->colors[DF_ThemeColor_TextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_ImplicitButton].border = current->colors[DF_ThemeColor_ImplicitButtonBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_PlainButton].background = current->colors[DF_ThemeColor_PlainButtonBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_PlainButton].text = current->colors[DF_ThemeColor_Text];
df_gfx_state->cfg_palettes[DF_PaletteCode_PlainButton].text_weak = current->colors[DF_ThemeColor_TextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_PlainButton].border = current->colors[DF_ThemeColor_PlainButtonBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_PositivePopButton].background = current->colors[DF_ThemeColor_PositivePopButtonBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_PositivePopButton].text = current->colors[DF_ThemeColor_Text];
df_gfx_state->cfg_palettes[DF_PaletteCode_PositivePopButton].text_weak = current->colors[DF_ThemeColor_TextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_PositivePopButton].border = current->colors[DF_ThemeColor_PositivePopButtonBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_NegativePopButton].background = current->colors[DF_ThemeColor_NegativePopButtonBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_NegativePopButton].text = current->colors[DF_ThemeColor_Text];
df_gfx_state->cfg_palettes[DF_PaletteCode_NegativePopButton].text_weak = current->colors[DF_ThemeColor_TextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_NegativePopButton].border = current->colors[DF_ThemeColor_NegativePopButtonBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_NeutralPopButton].background = current->colors[DF_ThemeColor_NeutralPopButtonBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_NeutralPopButton].text = current->colors[DF_ThemeColor_Text];
df_gfx_state->cfg_palettes[DF_PaletteCode_NeutralPopButton].text_weak = current->colors[DF_ThemeColor_TextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_NeutralPopButton].border = current->colors[DF_ThemeColor_NeutralPopButtonBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_ScrollBarButton].background = current->colors[DF_ThemeColor_ScrollBarButtonBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_ScrollBarButton].text = current->colors[DF_ThemeColor_Text];
df_gfx_state->cfg_palettes[DF_PaletteCode_ScrollBarButton].text_weak = current->colors[DF_ThemeColor_TextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_ScrollBarButton].border = current->colors[DF_ThemeColor_ScrollBarButtonBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_Tab].background = current->colors[DF_ThemeColor_TabBackground];
df_gfx_state->cfg_palettes[DF_PaletteCode_Tab].text = current->colors[DF_ThemeColor_Text];
df_gfx_state->cfg_palettes[DF_PaletteCode_Tab].text_weak = current->colors[DF_ThemeColor_TextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_Tab].border = current->colors[DF_ThemeColor_TabBorder];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabInactive].background = current->colors[DF_ThemeColor_TabBackgroundInactive];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabInactive].text = current->colors[DF_ThemeColor_Text];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabInactive].text_weak = current->colors[DF_ThemeColor_TextWeak];
df_gfx_state->cfg_palettes[DF_PaletteCode_TabInactive].border = current->colors[DF_ThemeColor_TabBorderInactive];
df_gfx_state->cfg_palettes[DF_PaletteCode_DropSiteOverlay].background = current->colors[DF_ThemeColor_DropSiteOverlay];
df_gfx_state->cfg_palettes[DF_PaletteCode_DropSiteOverlay].text = current->colors[DF_ThemeColor_DropSiteOverlay];
df_gfx_state->cfg_palettes[DF_PaletteCode_DropSiteOverlay].text_weak = current->colors[DF_ThemeColor_DropSiteOverlay];
df_gfx_state->cfg_palettes[DF_PaletteCode_DropSiteOverlay].border = current->colors[DF_ThemeColor_DropSiteOverlay];
}
//- rjf: animate alive-transitions for entities
+10 -15
View File
@@ -376,23 +376,18 @@ DF_FontSlot;
typedef enum DF_PaletteCode
{
DF_PaletteCode_Default,
DF_PaletteCode_DefaultPositive,
DF_PaletteCode_DefaultNegative,
DF_PaletteCode_DefaultNeutral,
DF_PaletteCode_Floating,
DF_PaletteCode_ImplicitContents,
DF_PaletteCode_SpecialPositive,
DF_PaletteCode_SpecialNegative,
DF_PaletteCode_SpecialNeutral,
DF_PaletteCode_Base,
DF_PaletteCode_MenuBar,
DF_PaletteCode_MenuBarPositive,
DF_PaletteCode_MenuBarNegative,
DF_PaletteCode_MenuBarNeutral,
DF_PaletteCode_TabActive,
DF_PaletteCode_Floating,
DF_PaletteCode_ImplicitButton,
DF_PaletteCode_PlainButton,
DF_PaletteCode_PositivePopButton,
DF_PaletteCode_NegativePopButton,
DF_PaletteCode_NeutralPopButton,
DF_PaletteCode_ScrollBarButton,
DF_PaletteCode_Tab,
DF_PaletteCode_TabInactive,
DF_PaletteCode_Code,
DF_PaletteCode_DropSite,
DF_PaletteCode_DropSiteOverlay,
DF_PaletteCode_COUNT
}
DF_PaletteCode;
+42 -53
View File
@@ -374,71 +374,62 @@ DF_ThemeColorTable:
//- rjf: global ui colors
{Selection "Selection" selection 0x99ccff4c 0x99ccff4c 0x99ccff4c 0x99ccff4c 0x99ccff4c 0x99ccff4c 0x99ccff4c 0x99ccff4c 0x99ccff4c }
{DropShadow "Drop Shadow" drop_shadow 0x0000007f 0x0000007f 0x0000007f 0x0000007f 0x0000007f 0x0000007f 0x0000007f 0x0000007f 0x0000007f }
{CursorActive "Cursor" cursor_active 0x8bff00ff 0x66e566e5 0x66e566e5 0x66e566e5 0x66e566e5 0x66e566e5 0x66e566e5 0x66e566e5 0x66e566e5 }
{Cursor "Cursor" cursor 0x8bff00ff 0x66e566e5 0x66e566e5 0x66e566e5 0x66e566e5 0x66e566e5 0x66e566e5 0x66e566e5 0x66e566e5 }
{CursorInactive "Cursor (Inactive)" cursor_inactive 0xb23217ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
{FocusActive "Focus" focus_active 0xfea200ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff }
{FocusInactive "Focus (Inactive)" focus_inactive 0x904334ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
{Focus "Focus" focus 0xfea200ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff }
{Hover "Hover" hover 0x7bffc7ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff 0xb27219ff }
{Highlight0 "Highlight 0" highlight_0 0xfe9603ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
{Highlight1 "Highlight 1" highlight_1 0x7bffc7ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
{DisabledOverlay "Disabled Overlay" disabled_overlay 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f }
{DropSiteOverlay "Drop Site Overlay" drop_site_overlay 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c }
{InactivePanelOverlay "Inactive Panel Overlay" inactive_panel_overlay 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f }
{Text "Text" text 0xbebebeff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
{TextPositive "Text (Positive)" text_positive 0x4dc221ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff }
{TextNegative "Text (Negative)" text_negative 0xc56553ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
{TextNeutral "Text (Neutral)" text_neutral 0x327fb2ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
{TextWeak "Text (Weak)" text_weak 0xa4a4a4fe 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f }
//- rjf: default ui colors
{DefaultText "Default Text" default_text 0xbebebeff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
{DefaultTextPositive "Default Text (Positive)" default_text_positive 0x4dc221ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff }
{DefaultTextNegative "Default Text (Negative)" default_text_negative 0xc56553ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
{DefaultTextNeutral "Default Text (Neutral)" default_text_neutral 0x327fb2ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
{DefaultTextWeak "Default Text (Weak)" default_text_weak 0xa4a4a4fe 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f }
{DefaultBackground "Default Background" default_background 0x1b1b1bfe 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f }
{DefaultBorder "Default Border" default_border 0x3f3f3ffe 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 }
//- rjf: base ui container colors
{BaseBackground "Base Background" base_background 0x1b1b1bfe 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f }
{BaseBackgroundAlt "Base Background (Alternate)" base_background_alt 0x2b2b2bfe 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f }
{BaseBorder "Base Border" base_border 0x3f3f3ffe 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 }
//- rjf: floating ui colors
{FloatingText "Floating Text" floating_text 0xbebebeff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
{FloatingTextPositive "Floating Text (Positive)" floating_text_positive 0x4dc220ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff }
{FloatingTextNegative "Floating Text (Negative)" floating_text_negative 0xc56452ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
{FloatingTextWeak "Floating Text (Weak)" floating_text_weak 0xa4a4a4ff 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f }
{FloatingBackground "Floating Background" floating_background 0x33333333 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f }
{FloatingBorder "Floating Border" floating_border 0x3f3f3ffd 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 }
//- rjf: special button colors
{SpecialPositiveText "Special Positive Text" special_positive_text 0xfefefeff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
{SpecialPositiveTextWeak "Special Positive Text (Weak)" special_positive_text_weak 0xa4a4a4fe 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f }
{SpecialPositiveBackground "Special Positive Background" special_positive_background 0x2d7e3eff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff }
{SpecialPositiveBorder "Special Positive Border" special_positive_border 0x3f3f3ffd 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 }
{SpecialNegativeText "Special Negative Text" special_negative_text 0xfefefeff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
{SpecialNegativeTextWeak "Special Negative Text (Weak)" special_negative_text_weak 0xa4a4a4fd 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f }
{SpecialNegativeBackground "Special Negative Background" special_negative_background 0x803425ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
{SpecialNegativeBorder "Special Negative Border" special_negative_border 0x3f3f3ffd 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 }
{SpecialNeutralText "Special Neutral Text" special_neutral_text 0xfefefeff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0xffffffff }
{SpecialNeutralTextWeak "Special Neutral Text (Weak)" special_neutral_text_weak 0xa4a4a4fd 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f }
{SpecialNeutralBackground "Special Neutral Background" special_neutral_background 0x355b6eff 0x327fb2ff 0x327fb2ff 0x327fb2ff 0x327fb2ff 0x327fb2ff 0x327fb2ff 0x327fb2ff 0x327fb2ff }
{SpecialNeutralBorder "Special Neutral Border" special_neutral_border 0x3f3f3ffd 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 0xffffff33 }
//- rjf: menu bar colors
{MenuBarText "Menu Bar Text" menu_bar_text 0xfefefeff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
{MenuBarTextWeak "Menu Bar Text (Weak)" menu_bar_text_weak 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f }
{MenuBarTextPositive "Menu Bar Text (Positive)" menu_bar_text_positive 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff 0x32b219ff }
{MenuBarTextNegative "Menu Bar Text (Negative)" menu_bar_text_negative 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
//- rjf: menu bar ui container colors
{MenuBarBackground "Menu Bar Background" menu_bar_background 0x3e4c577f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f }
{MenuBarBackgroundAlt "Menu Bar Background (Alternate)" menu_bar_background_alt 0x3e4c577f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f }
{MenuBarBorder "Menu Bar Border" menu_bar_border 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 }
//- rjf: tab colors
{TabActiveText "Tab Text" tab_active_text 0xffffffff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
{TabActiveTextWeak "Tab Text (Weak)" tab_active_text_weak 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f }
{TabActiveBackground "Tab Background" tab_active_background 0x7b4d27fe 0xa87a4c99 0xa87a4c99 0xa87a4c99 0xa87a4c99 0xa87a4c99 0xa87a4c99 0xa87a4c99 0xa87a4c99 }
{TabActiveBorder "Tab Border" tab_active_border 0xb48300fd 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 }
{TabInactiveText "Tab Text (Inactive)" tab_inactive_text 0xa4a4a4fd 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
{TabInactiveTextWeak "Tab Text (Inactive, Weak)" tab_inactive_text_weak 0x808080fd 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f 0xffffff7f }
{TabInactiveBackground "Tab Background (Inactive)" tab_inactive_background 0x3e4c577f 0x42474c7f 0x42474c7f 0x42474c7f 0x42474c7f 0x42474c7f 0x42474c7f 0x42474c7f 0x42474c7f }
{TabInactiveBorder "Tab Border (Inactive)" tab_inactive_border 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 }
//- rjf: floating ui container colors
{FloatingBackground "Floating Background" floating_background 0x33333333 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f }
{FloatingBackgroundAlt "Floating Background (Alternate)" floating_background_alt 0x33333333 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f }
{FloatingBorder "Floating Border" floating_border 0x3f3f3ffd 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 0xffffff19 }
//- rjf: ui element colors
{ImplicitButtonBackground "Implicit Button Background" implicit_button_background 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{ImplicitButtonBorder "Implicit Button Border" implicit_button_border 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{PlainButtonBackground "Plain Button Background" plain_button_background 0x1b1b1bfe 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{PlainButtonBorder "Plain Button Border" plain_button_border 0x3f3f3ffe 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{PositivePopButtonBackground "Positive Pop Button Background" positive_pop_button_background 0x2d7e3eff 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{PositivePopButtonBorder "Positive Pop Button Border" positive_pop_button_border 0x3f3f3ffd 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{NegativePopButtonBackground "Negative Pop Button Background" negative_pop_button_background 0x803425ff 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{NegativePopButtonBorder "Negative Pop Button Border" negative_pop_button_border 0x3f3f3ffd 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{NeutralPopButtonBackground "Neutral Pop Button Background" neutral_pop_button_background 0x355b6eff 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{NeutralPopButtonBorder "Neutral Pop Button Border" neutral_pop_button_border 0x3f3f3ffd 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{ScrollBarButtonBackground "Scroll Bar Button Background" scroll_bar_button_background 0x2b2b2bfe 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{ScrollBarButtonBorder "Scroll Bar Button Border" scroll_bar_button_border 0x3f3f3ffe 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{TabBackground "Tab Background" tab_background 0x7b4d27fe 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{TabBorder "Tab Border" tab_border 0xb48300fd 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{TabBackgroundInactive "Tab Background (Inactive)" tab_background_inactive 0x3e4c577f 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
{TabBorderInactive "Tab Border (Inactive)" tab_border_inactive 0xffffff19 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 }
//- rjf: code ui colors
{CodeBackgroundNegative "Code Background (Negative)" code_background_negative 0x3b1f1ffe 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f 0x3333337f }
{CodeLineNumbersActive "Code Line Numbers" code_line_numbers_active 0xbebebeff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
{CodeLineNumbersInactive "Code Line Numbers (Inactive)" code_line_numbers_inactive 0x7f7f7fff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
//- rjf: code text colors
//- rjf: code colors
{CodeDefault "Code (Default)" code_default 0xbebebeff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
{CodeProcedure "Code (Procedure)" code_procedure 0x6093c2ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff }
{CodeSymbol "Code (Symbol)" code_symbol 0x6093c2ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff 0x7fcc99ff }
{CodeType "Code (Type)" code_type 0xecb31aff 0x66b2e5ff 0x66b2e5ff 0x66b2e5ff 0x66b2e5ff 0x66b2e5ff 0x66b2e5ff 0x66b2e5ff 0x66b2e5ff }
{CodeLocal "Code (Local)" code_local 0xadc9e0ff 0xfe9548ff 0xfe9548ff 0xfe9548ff 0xfe9548ff 0xfe9548ff 0xfe9548ff 0xfe9548ff 0xfe9548ff }
{CodeRegister "Code (Register)" code_register 0xb7afd5ff 0xd45d90ff 0xd45d90ff 0xd45d90ff 0xd45d90ff 0xd45d90ff 0xd45d90ff 0xd45d90ff 0xd45d90ff }
@@ -449,6 +440,8 @@ DF_ThemeColorTable:
{CodeString "Code (String)" code_string 0x89b379ff 0xe5cc66ff 0xe5cc66ff 0xe5cc66ff 0xe5cc66ff 0xe5cc66ff 0xe5cc66ff 0xe5cc66ff 0xe5cc66ff }
{CodeMeta "Code (Meta)" code_meta 0x906f81ff 0xe54c4cff 0xe54c4cff 0xe54c4cff 0xe54c4cff 0xe54c4cff 0xe54c4cff 0xe54c4cff 0xe54c4cff }
{CodeComment "Code (Comment)" code_comment 0x717171ff 0x7f7f7fff 0x7f7f7fff 0x7f7f7fff 0x7f7f7fff 0x7f7f7fff 0x7f7f7fff 0x7f7f7fff 0x7f7f7fff }
{CodeLineNumbers "Code Line Numbers" code_line_numbers 0x7f7f7fff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
{CodeLineNumbersSelected "Code Line Numbers (Selected)" code_line_numbers_selected 0xbebebeff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff 0xe5e5e5ff }
//- rjf: debugging colors
{LineInfoBackground0 "Line Info Background 0" line_info_background_0 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f 0x99503d3f }
@@ -470,10 +463,6 @@ DF_ThemeColorTable:
{ThreadUnwound "Thread (Unwound)" thread_unwound 0xb2ccd8ff 0xb2ccd8ff 0xb2ccd8ff 0xb2ccd8ff 0xb2ccd8ff 0xb2ccd8ff 0xb2ccd8ff 0xb2ccd8ff 0xb2ccd8ff }
{ThreadError "Thread (Error)" thread_error 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
{Breakpoint "Breakpoint" breakpoint 0xa72a12ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff 0xb23219ff }
//- rjf: behavioral colors
{DropSiteOverlay "Drop Site Overlay" drop_site_overlay 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c 0xffffff0c }
{InactivePanelOverlay "Inactive Panel Overlay" inactive_panel_overlay 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f 0x0000003f }
}
@table(old_name new_name)
+1 -1
View File
@@ -1046,7 +1046,7 @@ internal UI_BOX_CUSTOM_DRAW(df_bitmap_view_canvas_box_draw)
Rng2F32 rect_cvs = df_bitmap_view_state__canvas_from_screen_rect(bvs, rect_scrn, rect_scrn);
F32 grid_cell_size_cvs = box->font_size*10.f;
F32 grid_line_thickness_px = Max(2.f, box->font_size*0.1f);
Vec4F32 grid_line_color = df_rgba_from_theme_color(DF_ThemeColor_DefaultTextWeak);
Vec4F32 grid_line_color = df_rgba_from_theme_color(DF_ThemeColor_TextWeak);
for(EachEnumVal(Axis2, axis))
{
for(F32 v = rect_cvs.p0.v[axis] - mod_f32(rect_cvs.p0.v[axis], grid_cell_size_cvs);
+24 -26
View File
@@ -1775,8 +1775,7 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
{
if(row->flags & DF_EvalVizRowFlag_ExprIsSpecial)
{
palette = ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_SpecialNegativeText),
.background = df_rgba_from_theme_color(DF_ThemeColor_SpecialNegativeBackground));
palette = ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_TextNeutral));
}
}
@@ -1932,8 +1931,7 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
{
if(row_is_bad)
{
palette = ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_SpecialNegativeText),
.background = df_rgba_from_theme_color(DF_ThemeColor_SpecialNegativeBackground));
palette = ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_TextNegative));
}
}
@@ -2132,7 +2130,7 @@ DF_VIEW_UI_FUNCTION_DEF(Empty)
UI_TextAlignment(UI_TextAlign_Center)
UI_PrefWidth(ui_em(15.f, 1.f))
UI_CornerRadius(ui_top_font_size()/2.f)
DF_Palette(DF_PaletteCode_SpecialNegative)
DF_Palette(DF_PaletteCode_NegativePopButton)
{
if(ui_clicked(df_icon_buttonf(DF_IconKind_X, 0, "Close Panel")))
{
@@ -2206,7 +2204,7 @@ DF_VIEW_UI_FUNCTION_DEF(GettingStarted)
UI_TextAlignment(UI_TextAlign_Center)
UI_PrefWidth(ui_em(22.f, 1.f))
UI_CornerRadius(ui_top_font_size()/2.f)
DF_Palette(DF_PaletteCode_SpecialNeutral)
DF_Palette(DF_PaletteCode_NeutralPopButton)
if(ui_clicked(df_icon_buttonf(DF_IconKind_Add, 0, "Add Target")))
{
DF_CmdParams params = df_cmd_params_from_view(ws, panel, view);
@@ -2228,7 +2226,7 @@ DF_VIEW_UI_FUNCTION_DEF(GettingStarted)
UI_TextAlignment(UI_TextAlign_Center)
UI_PrefWidth(ui_em(22.f, 1.f))
UI_CornerRadius(ui_top_font_size()/2.f)
DF_Palette(DF_PaletteCode_SpecialNeutral)
DF_Palette(DF_PaletteCode_PositivePopButton)
{
if(ui_clicked(df_icon_buttonf(DF_IconKind_Play, 0, "Launch %S", target_name)))
{
@@ -3384,12 +3382,12 @@ DF_VIEW_UI_FUNCTION_DEF(SymbolLister)
"###procedure_%I64x", item->idx);
UI_Parent(box) UI_PrefWidth(ui_text_dim(10, 1))
{
UI_Box *box = df_code_label(1.f, 0, df_rgba_from_theme_color(DF_ThemeColor_CodeProcedure), name);
UI_Box *box = df_code_label(1.f, 0, df_rgba_from_theme_color(DF_ThemeColor_CodeSymbol), name);
ui_box_equip_fuzzy_match_ranges(box, &item->match_ranges);
if(!tg_key_match(tg_key_zero(), type_key) && graph != 0)
{
String8 type_string = tg_string_from_key(scratch.arena, graph, rdi, type_key);
df_code_label(0.5f, 0, df_rgba_from_theme_color(DF_ThemeColor_DefaultTextWeak), type_string);
df_code_label(0.5f, 0, df_rgba_from_theme_color(DF_ThemeColor_TextWeak), type_string);
}
}
@@ -3408,7 +3406,7 @@ DF_VIEW_UI_FUNCTION_DEF(SymbolLister)
DF_TextLineDasm2SrcInfo dasm2src_info = df_text_line_dasm2src_info_from_dbgi_key_voff(&dbgi_key, binary_voff, 0);
String8 file_path = df_full_path_from_entity(scratch.arena, dasm2src_info.file);
S64 line_num = dasm2src_info.pt.line;
df_code_label(1.f, 0, df_rgba_from_theme_color(DF_ThemeColor_CodeProcedure), name);
df_code_label(1.f, 0, df_rgba_from_theme_color(DF_ThemeColor_CodeSymbol), name);
UI_Font(df_font_from_slot(DF_FontSlot_Main)) UI_FlagsAdd(UI_BoxFlag_DrawTextWeak)
ui_labelf("Procedure #%I64u", item->idx);
if(!df_entity_is_nil(dasm2src_info.file))
@@ -3612,7 +3610,7 @@ DF_VIEW_UI_FUNCTION_DEF(Target)
{
ui_label_multiline(ui_top_font_size()*30.f, str8_lit("By default, the debugger attempts to find a target's entry point with a set of default names, such as:"));
ui_spacer(ui_em(1.5f, 1.f));
UI_Font(df_font_from_slot(DF_FontSlot_Code)) UI_Palette(ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_CodeProcedure)))
UI_Font(df_font_from_slot(DF_FontSlot_Code)) UI_Palette(ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_CodeSymbol)))
{
ui_label(str8_lit("WinMain"));
ui_label(str8_lit("wWinMain"));
@@ -4717,11 +4715,11 @@ DF_VIEW_UI_FUNCTION_DEF(Scheduler)
}
else if(frozen)
{
palette = df_palette_from_code(DF_PaletteCode_SpecialNegative);
palette = df_palette_from_code(DF_PaletteCode_NegativePopButton);
}
else
{
palette = df_palette_from_code(DF_PaletteCode_SpecialPositive);
palette = df_palette_from_code(DF_PaletteCode_PositivePopButton);
}
UI_Signal sig = {0};
UI_Palette(palette) sig = df_icon_buttonf(frozen ? DF_IconKind_Locked : DF_IconKind_Unlocked, 0, "###lock_%p", entity);
@@ -4778,7 +4776,7 @@ DF_VIEW_UI_FUNCTION_DEF(Scheduler)
}
UI_TableCellSized(ui_em(2.25f, 1.f)) UI_FocusHot((row_is_selected && cursor.x == 4) ? UI_FocusKind_On : UI_FocusKind_Off)
{
DF_Palette(DF_PaletteCode_SpecialNegative)
DF_Palette(DF_PaletteCode_NegativePopButton)
if(ui_clicked(df_icon_buttonf(DF_IconKind_X, 0, "###kill")))
{
DF_CmdParams params = df_cmd_params_from_view(ws, panel, view);
@@ -5016,7 +5014,7 @@ DF_VIEW_UI_FUNCTION_DEF(CallStack)
}
else UI_WidthFill
{
D_FancyStringList symbol_name_fstrs = df_fancy_string_list_from_code_string(scratch.arena, 1.f, 0, df_rgba_from_theme_color(DF_ThemeColor_CodeProcedure), symbol_name);
D_FancyStringList symbol_name_fstrs = df_fancy_string_list_from_code_string(scratch.arena, 1.f, 0, df_rgba_from_theme_color(DF_ThemeColor_CodeSymbol), symbol_name);
D_FancyStringList symbol_type_fstrs = df_fancy_string_list_from_code_string(scratch.arena, 0.5f, 0, df_rgba_from_theme_color(DF_ThemeColor_CodeDefault), symbol_type_string);
D_FancyStringList fstrs = {0};
d_fancy_string_list_concat_in_place(&fstrs, &symbol_name_fstrs);
@@ -5332,7 +5330,7 @@ DF_VIEW_UI_FUNCTION_DEF(Modules)
UI_FocusActive((txt_is_selected && mv->txt_editing) ? UI_FocusKind_On : UI_FocusKind_Off)
UI_WidthFill
{
DF_Palette(dbgi_is_valid ? DF_PaletteCode_DefaultPositive : DF_PaletteCode_Default)
UI_Palette(dbgi_is_valid ? ui_top_palette() : ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_TextNegative)))
sig = df_line_editf(DF_LineEditFlag_NoBackground, 0, 0, &mv->txt_cursor, &mv->txt_mark, mv->txt_buffer, sizeof(mv->txt_buffer), &mv->txt_size, 0, dbgi_path, "###dbg_path_%p", entity);
edit_commit = (edit_commit || ui_committed(sig));
}
@@ -5999,7 +5997,7 @@ DF_VIEW_UI_FUNCTION_DEF(Code)
UI_PrefWidth(ui_children_sum(1)) UI_PrefHeight(ui_em(3, 1))
UI_Row UI_Padding(ui_pct(1, 0))
UI_PrefWidth(ui_text_dim(10, 1))
DF_Palette(DF_PaletteCode_DefaultNegative)
UI_Palette(ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_TextNegative)))
{
UI_Font(df_font_from_slot(DF_FontSlot_Icons))
UI_RunFlags(F_RunFlag_Smooth)
@@ -6012,7 +6010,7 @@ DF_VIEW_UI_FUNCTION_DEF(Code)
UI_CornerRadius(ui_top_font_size()/3)
UI_PrefWidth(ui_text_dim(10, 1))
UI_Focus(UI_FocusKind_On)
DF_Palette(DF_PaletteCode_SpecialNeutral)
DF_Palette(DF_PaletteCode_NeutralPopButton)
if(ui_clicked(ui_buttonf("Find alternative...")))
{
DF_CmdParams params = df_cmd_params_from_view(ws, panel, view);
@@ -6554,7 +6552,7 @@ DF_VIEW_UI_FUNCTION_DEF(Code)
if(file_is_out_of_date)
{
UI_Box *box = &ui_g_nil_box;
DF_Palette(DF_PaletteCode_SpecialNegative)
UI_Palette(ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_TextNegative)))
UI_Font(df_font_from_slot(DF_FontSlot_Icons))
UI_RunFlags(F_RunFlag_Smooth)
{
@@ -8489,8 +8487,8 @@ DF_VIEW_UI_FUNCTION_DEF(Memory)
//
D_FancyStringList byte_fancy_strings[256] = {0};
{
Vec4F32 full_color = df_rgba_from_theme_color(DF_ThemeColor_DefaultTextPositive);
Vec4F32 zero_color = df_rgba_from_theme_color(DF_ThemeColor_DefaultTextWeak);
Vec4F32 full_color = df_rgba_from_theme_color(DF_ThemeColor_TextPositive);
Vec4F32 zero_color = df_rgba_from_theme_color(DF_ThemeColor_TextWeak);
for(U64 idx = 0; idx < ArrayCount(byte_fancy_strings); idx += 1)
{
U8 byte = (U8)idx;
@@ -8612,7 +8610,7 @@ DF_VIEW_UI_FUNCTION_DEF(Memory)
Annotation *annotation = push_array(scratch.arena, Annotation, 1);
annotation->name_string = symbol_name.size != 0 ? symbol_name : str8_lit("[external code]");
annotation->kind_string = str8_lit("Call Stack Frame");
annotation->color = symbol_name.size != 0 ? df_rgba_from_theme_color(DF_ThemeColor_CodeProcedure) : df_rgba_from_theme_color(DF_ThemeColor_DefaultTextWeak);
annotation->color = symbol_name.size != 0 ? df_rgba_from_theme_color(DF_ThemeColor_CodeSymbol) : df_rgba_from_theme_color(DF_ThemeColor_TextWeak);
annotation->vaddr_range = frame_vaddr_range;
for(U64 vaddr = frame_vaddr_range_in_viz.min; vaddr < frame_vaddr_range_in_viz.max; vaddr += 1)
{
@@ -8635,7 +8633,7 @@ DF_VIEW_UI_FUNCTION_DEF(Memory)
Annotation *annotation = push_array(scratch.arena, Annotation, 1);
annotation->name_string = df_display_string_from_entity(scratch.arena, thread);
annotation->kind_string = str8_lit("Stack");
annotation->color = thread->flags & DF_EntityFlag_HasColor ? df_rgba_from_entity(thread) : df_rgba_from_theme_color(DF_ThemeColor_DefaultText);
annotation->color = thread->flags & DF_EntityFlag_HasColor ? df_rgba_from_entity(thread) : df_rgba_from_theme_color(DF_ThemeColor_Text);
annotation->vaddr_range = stack_vaddr_range;
for(U64 vaddr = stack_vaddr_range_in_viz.min; vaddr < stack_vaddr_range_in_viz.max; vaddr += 1)
{
@@ -9648,9 +9646,9 @@ DF_VIEW_UI_FUNCTION_DEF(Theme)
preset = (DF_ThemePreset)(preset+1))
{
Vec4F32 *colors = df_g_theme_preset_colors_table[preset];
Vec4F32 bg_color = colors[DF_ThemeColor_DefaultBackground];
Vec4F32 tx_color = colors[DF_ThemeColor_DefaultText];
Vec4F32 bd_color = colors[DF_ThemeColor_DefaultBorder];
Vec4F32 bg_color = colors[DF_ThemeColor_BaseBackground];
Vec4F32 tx_color = colors[DF_ThemeColor_Text];
Vec4F32 bd_color = colors[DF_ThemeColor_BaseBorder];
ui_set_next_palette(ui_build_palette(ui_top_palette(), .text = tx_color,
.border = bd_color,
.background = bg_color));
File diff suppressed because it is too large Load Diff
+47 -54
View File
@@ -47,57 +47,50 @@ typedef enum DF_ThemeColor
DF_ThemeColor_Null,
DF_ThemeColor_Selection,
DF_ThemeColor_DropShadow,
DF_ThemeColor_CursorActive,
DF_ThemeColor_Cursor,
DF_ThemeColor_CursorInactive,
DF_ThemeColor_FocusActive,
DF_ThemeColor_FocusInactive,
DF_ThemeColor_Focus,
DF_ThemeColor_Hover,
DF_ThemeColor_Highlight0,
DF_ThemeColor_Highlight1,
DF_ThemeColor_DisabledOverlay,
DF_ThemeColor_DefaultText,
DF_ThemeColor_DefaultTextPositive,
DF_ThemeColor_DefaultTextNegative,
DF_ThemeColor_DefaultTextNeutral,
DF_ThemeColor_DefaultTextWeak,
DF_ThemeColor_DefaultBackground,
DF_ThemeColor_DefaultBorder,
DF_ThemeColor_FloatingText,
DF_ThemeColor_FloatingTextPositive,
DF_ThemeColor_FloatingTextNegative,
DF_ThemeColor_FloatingTextWeak,
DF_ThemeColor_FloatingBackground,
DF_ThemeColor_FloatingBorder,
DF_ThemeColor_SpecialPositiveText,
DF_ThemeColor_SpecialPositiveTextWeak,
DF_ThemeColor_SpecialPositiveBackground,
DF_ThemeColor_SpecialPositiveBorder,
DF_ThemeColor_SpecialNegativeText,
DF_ThemeColor_SpecialNegativeTextWeak,
DF_ThemeColor_SpecialNegativeBackground,
DF_ThemeColor_SpecialNegativeBorder,
DF_ThemeColor_SpecialNeutralText,
DF_ThemeColor_SpecialNeutralTextWeak,
DF_ThemeColor_SpecialNeutralBackground,
DF_ThemeColor_SpecialNeutralBorder,
DF_ThemeColor_MenuBarText,
DF_ThemeColor_MenuBarTextWeak,
DF_ThemeColor_MenuBarTextPositive,
DF_ThemeColor_MenuBarTextNegative,
DF_ThemeColor_DropSiteOverlay,
DF_ThemeColor_InactivePanelOverlay,
DF_ThemeColor_Text,
DF_ThemeColor_TextPositive,
DF_ThemeColor_TextNegative,
DF_ThemeColor_TextNeutral,
DF_ThemeColor_TextWeak,
DF_ThemeColor_BaseBackground,
DF_ThemeColor_BaseBackgroundAlt,
DF_ThemeColor_BaseBorder,
DF_ThemeColor_MenuBarBackground,
DF_ThemeColor_MenuBarBackgroundAlt,
DF_ThemeColor_MenuBarBorder,
DF_ThemeColor_TabActiveText,
DF_ThemeColor_TabActiveTextWeak,
DF_ThemeColor_TabActiveBackground,
DF_ThemeColor_TabActiveBorder,
DF_ThemeColor_TabInactiveText,
DF_ThemeColor_TabInactiveTextWeak,
DF_ThemeColor_TabInactiveBackground,
DF_ThemeColor_TabInactiveBorder,
DF_ThemeColor_FloatingBackground,
DF_ThemeColor_FloatingBackgroundAlt,
DF_ThemeColor_FloatingBorder,
DF_ThemeColor_ImplicitButtonBackground,
DF_ThemeColor_ImplicitButtonBorder,
DF_ThemeColor_PlainButtonBackground,
DF_ThemeColor_PlainButtonBorder,
DF_ThemeColor_PositivePopButtonBackground,
DF_ThemeColor_PositivePopButtonBorder,
DF_ThemeColor_NegativePopButtonBackground,
DF_ThemeColor_NegativePopButtonBorder,
DF_ThemeColor_NeutralPopButtonBackground,
DF_ThemeColor_NeutralPopButtonBorder,
DF_ThemeColor_ScrollBarButtonBackground,
DF_ThemeColor_ScrollBarButtonBorder,
DF_ThemeColor_TabBackground,
DF_ThemeColor_TabBorder,
DF_ThemeColor_TabBackgroundInactive,
DF_ThemeColor_TabBorderInactive,
DF_ThemeColor_CodeBackgroundNegative,
DF_ThemeColor_CodeLineNumbersActive,
DF_ThemeColor_CodeLineNumbersInactive,
DF_ThemeColor_CodeDefault,
DF_ThemeColor_CodeProcedure,
DF_ThemeColor_CodeSymbol,
DF_ThemeColor_CodeType,
DF_ThemeColor_CodeLocal,
DF_ThemeColor_CodeRegister,
@@ -108,6 +101,8 @@ DF_ThemeColor_CodeNumericAltDigitGroup,
DF_ThemeColor_CodeString,
DF_ThemeColor_CodeMeta,
DF_ThemeColor_CodeComment,
DF_ThemeColor_CodeLineNumbers,
DF_ThemeColor_CodeLineNumbersSelected,
DF_ThemeColor_LineInfoBackground0,
DF_ThemeColor_LineInfoBackground1,
DF_ThemeColor_LineInfoBackground2,
@@ -127,8 +122,6 @@ DF_ThemeColor_Thread7,
DF_ThemeColor_ThreadUnwound,
DF_ThemeColor_ThreadError,
DF_ThemeColor_Breakpoint,
DF_ThemeColor_DropSiteOverlay,
DF_ThemeColor_InactivePanelOverlay,
DF_ThemeColor_COUNT,
} DF_ThemeColor;
@@ -317,18 +310,18 @@ extern String8 df_g_theme_preset_display_string_table[9];
extern String8 df_g_theme_preset_code_string_table[9];
extern String8 df_g_theme_color_version_remap_old_name_table[30];
extern String8 df_g_theme_color_version_remap_new_name_table[30];
extern Vec4F32 df_g_theme_preset_colors__default_dark[85];
extern Vec4F32 df_g_theme_preset_colors__default_light[85];
extern Vec4F32 df_g_theme_preset_colors__vs_dark[85];
extern Vec4F32 df_g_theme_preset_colors__vs_light[85];
extern Vec4F32 df_g_theme_preset_colors__solarized_dark[85];
extern Vec4F32 df_g_theme_preset_colors__solarized_light[85];
extern Vec4F32 df_g_theme_preset_colors__handmade_hero[85];
extern Vec4F32 df_g_theme_preset_colors__four_coder[85];
extern Vec4F32 df_g_theme_preset_colors__far_manager[85];
extern Vec4F32 df_g_theme_preset_colors__default_dark[78];
extern Vec4F32 df_g_theme_preset_colors__default_light[78];
extern Vec4F32 df_g_theme_preset_colors__vs_dark[78];
extern Vec4F32 df_g_theme_preset_colors__vs_light[78];
extern Vec4F32 df_g_theme_preset_colors__solarized_dark[78];
extern Vec4F32 df_g_theme_preset_colors__solarized_light[78];
extern Vec4F32 df_g_theme_preset_colors__handmade_hero[78];
extern Vec4F32 df_g_theme_preset_colors__four_coder[78];
extern Vec4F32 df_g_theme_preset_colors__far_manager[78];
extern Vec4F32* df_g_theme_preset_colors_table[9];
extern String8 df_g_theme_color_display_string_table[85];
extern String8 df_g_theme_color_cfg_string_table[85];
extern String8 df_g_theme_color_display_string_table[78];
extern String8 df_g_theme_color_cfg_string_table[78];
read_only global U8 df_g_icon_font_bytes__data[] =
{
0x00,0x01,0x00,0x00,0x00,0x0f,0x00,0x80,0x00,0x03,0x00,0x70,0x47,0x53,0x55,0x42,0x20,0x8b,0x25,0x7a,0x00,0x00,0x00,0xfc,0x00,0x00,0x00,0x54,0x4f,0x53,0x2f,0x32,0x56,0x44,0x49,0xa0,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x60,0x63,0x6d,0x61,0x70,0x2a,0x09,0xe2,0xc2,0x00,0x00,0x01,0xb0,0x00,0x00,0x05,0xec,0x63,0x76,0x74,0x20,