UI: Make selected track color in Movie Clip Editor themeable
Selected tracks in the Movie Clip Editor's Dope Sheet used hard-coded color. Added a new theme property for them, and previously hard-coded color is now just a default. Pull Request: https://projects.blender.org/blender/blender/pulls/144265
This commit is contained in:
committed by
Nika Kutsniashvili
parent
fa61e3b9b8
commit
ea47231a7b
@@ -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),
|
||||
|
||||
@@ -1033,7 +1033,7 @@
|
||||
strips_selected="#ff8c00"
|
||||
metadatabg="#000000"
|
||||
metadatatext="#ffffff"
|
||||
preview_range="#a14d0066"
|
||||
track_selected="#e7f7e74d"
|
||||
>
|
||||
<space>
|
||||
<ThemeSpaceGeneric
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
/* Blender file format version. */
|
||||
#define BLENDER_FILE_VERSION BLENDER_VERSION
|
||||
#define BLENDER_FILE_SUBVERSION 67
|
||||
#define BLENDER_FILE_SUBVERSION 68
|
||||
|
||||
/* Minimum Blender version that supports reading file written with the current
|
||||
* version. Older Blender versions will test this and cancel loading the file, showing a warning to
|
||||
|
||||
@@ -394,6 +394,10 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
|
||||
btheme->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.
|
||||
|
||||
@@ -159,6 +159,7 @@ enum ThemeColorID {
|
||||
|
||||
TH_STRIP,
|
||||
TH_STRIP_SELECT,
|
||||
TH_TRACK_SELECT,
|
||||
|
||||
TH_KEYTYPE_KEYFRAME, /* KEYTYPES */
|
||||
TH_KEYTYPE_KEYFRAME_SELECT,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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. */
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user