@@ -1152,7 +1152,7 @@ rd_title_fstrs_from_cfg(Arena *arena, RD_Cfg *cfg, Vec4F32 secondary_color, F32
11521152 Vec4F32 rgba = rd_rgba_from_cfg(cfg);
11531153 if(rgba.w == 0)
11541154 {
1155- rgba = ui_top_palette()->text ;
1155+ rgba = rd_rgba_from_theme_color(RD_ThemeColor_Text) ;
11561156 }
11571157 RD_IconKind icon_kind = rd_icon_kind_from_code_name(cfg->string);
11581158 B32 is_from_command_line = 0;
@@ -2522,7 +2522,11 @@ rd_commit_eval_value_string(E_Eval dst_eval, String8 string, B32 string_needs_un
25222522 E_Eval src_eval_value = e_value_eval_from_eval(src_eval);
25232523 E_TypeKind src_eval_value_type_kind = e_type_kind_from_key(src_eval_value.type_key);
25242524 if(direct_type_kind == E_TypeKind_Char8 ||
2525+ direct_type_kind == E_TypeKind_Char16 ||
2526+ direct_type_kind == E_TypeKind_Char32 ||
25252527 direct_type_kind == E_TypeKind_UChar8 ||
2528+ direct_type_kind == E_TypeKind_UChar16 ||
2529+ direct_type_kind == E_TypeKind_UChar32 ||
25262530 e_type_kind_is_integer(direct_type_kind))
25272531 {
25282532 B32 is_quoted = 0;
@@ -2551,6 +2555,26 @@ rd_commit_eval_value_string(E_Eval dst_eval, String8 string, B32 string_needs_un
25512555 {
25522556 commit_at_ptr_dest = 1;
25532557 }
2558+ switch(direct_type_kind)
2559+ {
2560+ default:{}break;
2561+ case E_TypeKind_S16:
2562+ case E_TypeKind_U16:
2563+ case E_TypeKind_Char16:
2564+ case E_TypeKind_UChar16:
2565+ {
2566+ String16 data16 = str16_from_8(scratch.arena, commit_data);
2567+ commit_data = str8((U8 *)data16.str, data16.size*sizeof(U16));
2568+ }break;
2569+ case E_TypeKind_Char32:
2570+ case E_TypeKind_UChar32:
2571+ case E_TypeKind_S32:
2572+ case E_TypeKind_U32:
2573+ {
2574+ String32 data32 = str32_from_8(scratch.arena, commit_data);
2575+ commit_data = str8((U8 *)data32.str, data32.size*sizeof(U32));
2576+ }break;
2577+ }
25542578 }
25552579 else if(type_kind == E_TypeKind_Ptr &&
25562580 (e_type_kind_is_pointer_or_ref(src_eval_value_type_kind) ||
@@ -7821,6 +7845,19 @@ rd_window_frame(void)
78217845 MemoryCopyArray(inst->corner_radii, box->corner_radii);
78227846 }
78237847
7848+ // rjf: soft circle around mouse
7849+ if(ui_key_match(ui_hot_key(), box->key))
7850+ {
7851+ DR_ClipScope(box->rect)
7852+ {
7853+ Vec2F32 center = ui_mouse();
7854+ F32 radius = box->font_size*12.f;
7855+ Vec4F32 color = rd_rgba_from_theme_color(RD_ThemeColor_Hover);
7856+ color.w *= 0.1f*t;
7857+ dr_rect(pad_2f32(r2f32p(center.x, center.y, center.x, center.y), radius), color, radius, 0, radius/3.f);
7858+ }
7859+ }
7860+
78247861 // rjf: slight emboss fadeoff
78257862 if(0)
78267863 {
@@ -14068,6 +14105,7 @@ Z(getting_started)
1406814105#undef Z
1406914106
1407014107 //- rjf: find all the fixed tabs, and all text viewers
14108+ B32 any_fixed_tabs_found = 0;
1407114109 RD_CfgList texts = {0};
1407214110 for(RD_PanelNode *panel = panel_tree.root;
1407314111 panel != &rd_nil_panel_node;
@@ -14093,6 +14131,7 @@ Z(getting_started)
1409314131 if(need_unhook)
1409414132 {
1409514133 rd_cfg_unhook(panel->cfg, tab);
14134+ any_fixed_tabs_found = 1;
1409614135 }
1409714136 }
1409814137 }
@@ -14103,7 +14142,7 @@ Z(getting_started)
1410314142 //- rjf: allocate any missing tabs
1410414143#define X(name) if(name == &rd_nil_cfg) {name = rd_cfg_alloc(); rd_cfg_equip_string(name, str8_lit("watch")); RD_Cfg *expr_cfg = rd_cfg_new(name, str8_lit("expression")); rd_cfg_new(expr_cfg, str8_lit("query:" #name));}
1410514144#define Y(name, rule, expr) if(name == &rd_nil_cfg) {name = rd_cfg_alloc(); rd_cfg_equip_string(name, str8_lit(#rule)); RD_Cfg *expr_cfg = rd_cfg_new(name, str8_lit("expression")); rd_cfg_new(expr_cfg, str8_lit(expr));}
14106- #define Z(name) if(name == &rd_nil_cfg) {name = rd_cfg_alloc(); rd_cfg_equip_string(name, str8_lit(#name));}
14145+ #define Z(name) if(name == &rd_nil_cfg && !any_fixed_tabs_found ) {name = rd_cfg_alloc(); rd_cfg_equip_string(name, str8_lit(#name));}
1410714146 FixedTab_XList
1410814147#undef X
1410914148#undef Y
0 commit comments