diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c index 7b84ad0d8db..9ff3a5528cf 100644 --- a/release/datafiles/userdef/userdef_default_theme.c +++ b/release/datafiles/userdef/userdef_default_theme.c @@ -793,6 +793,7 @@ const bTheme U_theme_default = { .path_keyframe_after = RGBA(0xc4c4ffff), .gp_vertex_size = 1, .metadatatext = RGBA(0xffffffff), + .track_selected = RGBA(0xe7f7e74d), }, .space_topbar = { .back = RGBA(0x18181800), diff --git a/scripts/presets/interface_theme/Blender_Light.xml b/scripts/presets/interface_theme/Blender_Light.xml index 9f684b5cd5e..62ef8da7e24 100644 --- a/scripts/presets/interface_theme/Blender_Light.xml +++ b/scripts/presets/interface_theme/Blender_Light.xml @@ -1033,7 +1033,7 @@ strips_selected="#ff8c00" metadatabg="#000000" metadatatext="#ffffff" - preview_range="#a14d0066" + track_selected="#e7f7e74d" > common.curves.handle_vertex_size = U_theme_default.common.curves.handle_vertex_size; } + if (!USER_VERSION_ATLEAST(500, 68)) { + FROM_DEFAULT_V4_UCHAR(space_clip.track_selected); + } + /** * Always bump subversion in BKE_blender_version.h when adding versioning * code here, and wrap it inside a USER_VERSION_ATLEAST check. diff --git a/source/blender/editors/include/UI_resources.hh b/source/blender/editors/include/UI_resources.hh index 4c40eb76859..3d05798fc9c 100644 --- a/source/blender/editors/include/UI_resources.hh +++ b/source/blender/editors/include/UI_resources.hh @@ -159,6 +159,7 @@ enum ThemeColorID { TH_STRIP, TH_STRIP_SELECT, + TH_TRACK_SELECT, TH_KEYTYPE_KEYFRAME, /* KEYTYPES */ TH_KEYTYPE_KEYFRAME_SELECT, diff --git a/source/blender/editors/interface/resources.cc b/source/blender/editors/interface/resources.cc index f0e1eef8d17..206b9be4d04 100644 --- a/source/blender/editors/interface/resources.cc +++ b/source/blender/editors/interface/resources.cc @@ -489,6 +489,9 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid) case TH_STRIP_SELECT: cp = ts->strip_select; break; + case TH_TRACK_SELECT: + cp = ts->track_selected; + break; case TH_KEYTYPE_KEYFRAME: cp = ts->keytype_keyframe; break; diff --git a/source/blender/editors/space_clip/clip_dopesheet_draw.cc b/source/blender/editors/space_clip/clip_dopesheet_draw.cc index c27bd5ce4ee..f60094f0354 100644 --- a/source/blender/editors/space_clip/clip_dopesheet_draw.cc +++ b/source/blender/editors/space_clip/clip_dopesheet_draw.cc @@ -38,7 +38,7 @@ #include "clip_intern.hh" /* own include */ static void track_channel_color(MovieTrackingTrack *track, - const float default_color[3], + bool default_color, float color[3]) { if (track->flag & TRACK_CUSTOMCOLOR) { @@ -49,7 +49,7 @@ static void track_channel_color(MovieTrackingTrack *track, } else { if (default_color) { - copy_v3_v3(color, default_color); + UI_GetThemeColor4fv(TH_TRACK_SELECT, color); } else { UI_GetThemeColor3fv(TH_HEADER, color); @@ -150,9 +150,8 @@ void clip_draw_dopesheet_main(SpaceClip *sc, ARegion *region, Scene *scene) /* selection background */ if (sel) { float color[4] = {0.0f, 0.0f, 0.0f, 0.3f}; - float default_color[4] = {0.8f, 0.93f, 0.8f, 0.3f}; - track_channel_color(track, default_color, color); + track_channel_color(track, true, color); immUniformColor4fv(color); immRectf(pos_id, @@ -330,7 +329,7 @@ void clip_draw_dopesheet_channels(const bContext *C, ARegion *region) { MovieTrackingTrack *track = channel->track; float color[3]; - track_channel_color(track, nullptr, color); + track_channel_color(track, false, color); immUniformColor3fv(color); immRectf(pos, diff --git a/source/blender/makesdna/DNA_theme_types.h b/source/blender/makesdna/DNA_theme_types.h index f4d13c8c653..a9ed439ed8f 100644 --- a/source/blender/makesdna/DNA_theme_types.h +++ b/source/blender/makesdna/DNA_theme_types.h @@ -319,7 +319,6 @@ typedef struct ThemeSpace { unsigned char time_keyframe[4], time_gp_keyframe[4]; unsigned char freestyle_edge_mark[4], freestyle_face_mark[4]; unsigned char time_scrub_background[4]; - char _pad10[4]; unsigned char nurb_uline[4], nurb_vline[4]; unsigned char act_spline[4], nurb_sel_uline[4], nurb_sel_vline[4]; @@ -453,6 +452,9 @@ typedef struct ThemeSpace { unsigned char metadatabg[4]; unsigned char metadatatext[4]; + /** For Movie Clip Editor. */ + unsigned char track_selected[4]; + } ThemeSpace; /* Viewport Background Gradient Types. */ diff --git a/source/blender/makesrna/intern/rna_userdef.cc b/source/blender/makesrna/intern/rna_userdef.cc index caeba6cd9c9..80094f1ec39 100644 --- a/source/blender/makesrna/intern/rna_userdef.cc +++ b/source/blender/makesrna/intern/rna_userdef.cc @@ -4275,6 +4275,12 @@ static void rna_def_userdef_theme_space_clip(BlenderRNA *brna) RNA_def_property_array(prop, 3); RNA_def_property_ui_text(prop, "Metadata Text", ""); RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + + prop = RNA_def_property(srna, "track_selected", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_float_sdna(prop, nullptr, "track_selected"); + RNA_def_property_array(prop, 4); + RNA_def_property_ui_text(prop, "Selected Tracks", ""); + RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); } static void rna_def_userdef_theme_space_topbar(BlenderRNA *brna)