From 1067112c11176807609eabeea71c64fbd2a93e27 Mon Sep 17 00:00:00 2001 From: Nika Kutsniashvili Date: Mon, 29 Sep 2025 12:27:16 +0200 Subject: [PATCH] UI: Theme: Remove "Active Spline" theme property In 3D Viewport theme settings there is "Active Spline" property, which behaves weirdly. Color of that property is multiplied to color of curve handles. Even though it says active, it's multiplied in selected and unselected states, for all curves all the time. That doesn't make much sense, has no real value, and ends up only causing confusion. Having this property on anything but pure black means that whatever colors you choose for curve handles in Preferences isn't actually what you're getting them. If color is set to high-saturation color it completely washes away all colors and makes it difficult to differentiate between handle types. I think there is no reason for this property to exist, so this PR just removes that property. Pull Request: https://projects.blender.org/blender/blender/pulls/145360 --- release/datafiles/userdef/userdef_default_theme.c | 1 - scripts/presets/interface_theme/Blender_Light.xml | 1 - source/blender/draw/engines/overlay/overlay_instance.cc | 1 - .../blender/draw/engines/overlay/overlay_shader_shared.hh | 1 - .../overlay/shaders/overlay_edit_curve_handle_vert.glsl | 4 ++-- .../overlay/shaders/overlay_edit_curves_handle_vert.glsl | 4 ++-- source/blender/editors/include/UI_resources.hh | 2 -- source/blender/editors/interface/resources.cc | 3 --- source/blender/makesdna/DNA_theme_types.h | 3 ++- source/blender/makesrna/intern/rna_userdef.cc | 6 ------ 10 files changed, 6 insertions(+), 20 deletions(-) diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c index 310136182ce..e15c3fa3575 100644 --- a/release/datafiles/userdef/userdef_default_theme.c +++ b/release/datafiles/userdef/userdef_default_theme.c @@ -413,7 +413,6 @@ const bTheme U_theme_default = { .time_gp_keyframe = RGBA(0x7a9b14ff), .nurb_uline = RGBA(0x909000ff), .nurb_vline = RGBA(0x803060ff), - .act_spline = RGBA(0xdb2512ff), .nurb_sel_uline = RGBA(0xf0ff40ff), .nurb_sel_vline = RGBA(0xf090a0ff), .vertex_size = 3, diff --git a/scripts/presets/interface_theme/Blender_Light.xml b/scripts/presets/interface_theme/Blender_Light.xml index aebf6c3e4e0..fa4ae9b08dc 100644 --- a/scripts/presets/interface_theme/Blender_Light.xml +++ b/scripts/presets/interface_theme/Blender_Light.xml @@ -506,7 +506,6 @@ nurb_vline="#803060" nurb_sel_uline="#f0ff40" nurb_sel_vline="#f090a0" - act_spline="#db2512" extra_edge_len="#ff6149" extra_edge_angle="#cccc00" extra_face_angle="#b3b3ff" diff --git a/source/blender/draw/engines/overlay/overlay_instance.cc b/source/blender/draw/engines/overlay/overlay_instance.cc index 107cc9cbba5..15936017030 100644 --- a/source/blender/draw/engines/overlay/overlay_instance.cc +++ b/source/blender/draw/engines/overlay/overlay_instance.cc @@ -342,7 +342,6 @@ void Resources::update_theme_settings(const DRWContext *ctx, const State &state) UI_GetThemeColor4fv(TH_NURB_VLINE, gb.colors.nurb_vline); UI_GetThemeColor4fv(TH_NURB_SEL_ULINE, gb.colors.nurb_sel_uline); UI_GetThemeColor4fv(TH_NURB_SEL_VLINE, gb.colors.nurb_sel_vline); - UI_GetThemeColor4fv(TH_ACTIVE_SPLINE, gb.colors.active_spline); UI_GetThemeColor4fv(TH_CFRAME, gb.colors.current_frame); UI_GetThemeColor4fv(TH_FRAME_BEFORE, gb.colors.before_frame); diff --git a/source/blender/draw/engines/overlay/overlay_shader_shared.hh b/source/blender/draw/engines/overlay/overlay_shader_shared.hh index efa4d6ed4a8..d23542d4e55 100644 --- a/source/blender/draw/engines/overlay/overlay_shader_shared.hh +++ b/source/blender/draw/engines/overlay/overlay_shader_shared.hh @@ -234,7 +234,6 @@ struct ThemeColors { float4 nurb_vline; float4 nurb_sel_uline; float4 nurb_sel_vline; - float4 active_spline; float4 bone_pose; float4 bone_pose_active; diff --git a/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_vert.glsl b/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_vert.glsl index ccff5b3321a..85c84f93904 100644 --- a/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_vert.glsl +++ b/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_vert.glsl @@ -159,7 +159,7 @@ void geometry_main(VertOut geom_in[2], } /* Minimize active color bleeding on inner_color. */ - float4 active_color = mix(theme.colors.active_spline, inner_color, 0.25f); + float4 active_color = mix(float4(0.0, 0.0, 0.0, 1.0), inner_color, 0.25f); float4 outer_color = (is_active_nurb != 0u) ? active_color : float4(inner_color.rgb, 0.0f); float2 v1_2 = (v2.xy / v2.w - v1.xy / v1.w); @@ -172,7 +172,7 @@ void geometry_main(VertOut geom_in[2], offset.x = 0.0f; } - float4 border_color = float4(theme.colors.active_spline.rgb, 0.0f); + float4 border_color = float4(0.0, 0.0, 0.0, 0.0); /* Draw the transparent border (AA). */ if (is_active_nurb != 0u) { offset *= 0.75f; /* Don't make the active "halo" appear very thick. */ diff --git a/source/blender/draw/engines/overlay/shaders/overlay_edit_curves_handle_vert.glsl b/source/blender/draw/engines/overlay/shaders/overlay_edit_curves_handle_vert.glsl index 9a0daa79544..115cacd057b 100644 --- a/source/blender/draw/engines/overlay/shaders/overlay_edit_curves_handle_vert.glsl +++ b/source/blender/draw/engines/overlay/shaders/overlay_edit_curves_handle_vert.glsl @@ -162,7 +162,7 @@ void geometry_main(VertOut geom_in[2], } /* Minimize active color bleeding on inner_color. */ - float4 active_color = mix(theme.colors.active_spline, inner_color, 0.25f); + float4 active_color = mix(float4(0.0, 0.0, 0.0, 1.0), inner_color, 0.25f); float4 outer_color = is_active ? active_color : float4(inner_color.rgb, 0.0f); float2 v1_2 = (v2.xy / v2.w - v1.xy / v1.w); @@ -178,7 +178,7 @@ void geometry_main(VertOut geom_in[2], offset.x = 0.0f; } - float4 border_color = float4(theme.colors.active_spline.rgb, 0.0f); + float4 border_color = float4(0.0, 0.0, 0.0, 0.0); /* Draw the transparent border (AA). */ if (is_active) { offset *= 0.75f; /* Don't make the active "halo" appear very thick. */ diff --git a/source/blender/editors/include/UI_resources.hh b/source/blender/editors/include/UI_resources.hh index 643c0af2f85..31711ecf73d 100644 --- a/source/blender/editors/include/UI_resources.hh +++ b/source/blender/editors/include/UI_resources.hh @@ -137,8 +137,6 @@ enum ThemeColorID { TH_HANDLE_SEL_ALIGN, TH_HANDLE_SEL_AUTOCLAMP, - TH_ACTIVE_SPLINE, - TH_SYNTAX_B, TH_SYNTAX_V, TH_SYNTAX_R, diff --git a/source/blender/editors/interface/resources.cc b/source/blender/editors/interface/resources.cc index ade6b0888ed..ac9aa9a73a4 100644 --- a/source/blender/editors/interface/resources.cc +++ b/source/blender/editors/interface/resources.cc @@ -565,9 +565,6 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid) case TH_NURB_SEL_VLINE: cp = ts->nurb_sel_vline; break; - case TH_ACTIVE_SPLINE: - cp = ts->act_spline; - break; case TH_HANDLE_FREE: cp = btheme->common.curves.handle_free; diff --git a/source/blender/makesdna/DNA_theme_types.h b/source/blender/makesdna/DNA_theme_types.h index 08bb47b05bb..5a9cd31c986 100644 --- a/source/blender/makesdna/DNA_theme_types.h +++ b/source/blender/makesdna/DNA_theme_types.h @@ -335,7 +335,8 @@ typedef struct ThemeSpace { unsigned char bevel[4], seam[4], sharp[4], crease[4], freestyle[4]; unsigned char nurb_uline[4], nurb_vline[4]; - unsigned char act_spline[4], nurb_sel_uline[4], nurb_sel_vline[4]; + unsigned char nurb_sel_uline[4], nurb_sel_vline[4]; + char _pad5[4]; /** Dope-sheet. */ unsigned char ds_ipoline[4]; diff --git a/source/blender/makesrna/intern/rna_userdef.cc b/source/blender/makesrna/intern/rna_userdef.cc index 6611fc5df3d..f5fe86e4d24 100644 --- a/source/blender/makesrna/intern/rna_userdef.cc +++ b/source/blender/makesrna/intern/rna_userdef.cc @@ -2990,12 +2990,6 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna) RNA_def_property_ui_text(prop, "NURBS Active V Lines", ""); RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - prop = RNA_def_property(srna, "act_spline", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_float_sdna(prop, nullptr, "act_spline"); - RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Active Spline", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - /* Armature Object specific. */ prop = RNA_def_property(srna, "bone_pose", PROP_FLOAT, PROP_COLOR_GAMMA);