UI: Theme: Scrubbing/Markers shared region

Continues and depends on #145609, part of #140360 project.

Previously, all 5 animation/video editors had different properties
for Scrubbing/Markers region. This PR adds new Region panel for it,
so that all editors can share one color.

Text color in this region was coming from regular editor text color.
To differentiate between editors (as is the pattern already with other editors),
and allow more modular themeability of regions, new Text color is added
for that region as well.

Video in PR

Pull Request: https://projects.blender.org/blender/blender/pulls/146113
This commit is contained in:
Nika Kutsniashvili
2025-09-12 16:25:56 +02:00
committed by Nika Kutsniashvili
parent f729e639f4
commit 250384dd57
12 changed files with 82 additions and 69 deletions

View File

@@ -287,17 +287,21 @@ const bTheme U_theme_default = {
.text = RGBA(0xb8b8b8ff), .text = RGBA(0xb8b8b8ff),
.text_selected = RGBA(0xffaf23ff), .text_selected = RGBA(0xffaf23ff),
}, },
.scrubbing = {
.back = RGBA(0x161616ff),
.text = RGBA(0xc3c3c3ff),
.time_marker = RGBA(0xffffff4d),
.time_marker_selected = RGBA(0xffffffb3),
},
.sidebars = { .sidebars = {
.back = RGBA(0x30303000), .back = RGBA(0x30303000),
.tab_back = RGBA(0x18181800), .tab_back = RGBA(0x18181800),
} },
}, },
.common = { .common = {
.anim = { .anim = {
.playhead = RGBA(0x4772b3ff), .playhead = RGBA(0x4772b3ff),
.preview_range = RGBA(0xa14d0066), .preview_range = RGBA(0xa14d0066),
.time_marker = RGBA(0xffffff4d),
.time_marker_selected = RGBA(0xffffffb3),
.channels = RGBA(0x194e8080), .channels = RGBA(0x194e8080),
.channels_sub = RGBA(0x0f2c4d80), .channels_sub = RGBA(0x0f2c4d80),
.channel_group = RGBA(0x1a332d37), .channel_group = RGBA(0x1a332d37),
@@ -448,7 +452,6 @@ const bTheme U_theme_default = {
.vertex = RGBA(0x000000ff), .vertex = RGBA(0x000000ff),
.vertex_select = RGBA(0xff8500ff), .vertex_select = RGBA(0xff8500ff),
.vertex_active = RGBA(0xffffffff), .vertex_active = RGBA(0xffffffff),
.time_scrub_background = RGBA(0x161616ff),
.vertex_size = 6, .vertex_size = 6,
.outline_width = 1, .outline_width = 1,
.facedot_size = 4, .facedot_size = 4,
@@ -486,7 +489,6 @@ const bTheme U_theme_default = {
.header_text_hi = RGBA(0xffffffff), .header_text_hi = RGBA(0xffffffff),
.shade1 = RGBA(0xc0c0c000), .shade1 = RGBA(0xc0c0c000),
.grid = RGBA(0x161616ff), .grid = RGBA(0x161616ff),
.time_scrub_background = RGBA(0x1d1d1dff),
.ds_ipoline = RGBA(0x94e575cc), .ds_ipoline = RGBA(0x94e575cc),
.keyborder = RGBA(0x000000ff), .keyborder = RGBA(0x000000ff),
.keyborder_select = RGBA(0x000000ff), .keyborder_select = RGBA(0x000000ff),
@@ -509,7 +511,6 @@ const bTheme U_theme_default = {
.grid = RGBA(0x2a2a2aff), .grid = RGBA(0x2a2a2aff),
.strip = RGBA(0x0d0d0d80), .strip = RGBA(0x0d0d0d80),
.strip_select = RGBA(0xff8c00ff), .strip_select = RGBA(0xff8c00ff),
.time_scrub_background = RGBA(0x161616ff),
.keyborder = RGBA(0x000000ff), .keyborder = RGBA(0x000000ff),
.keyborder_select = RGBA(0x000000ff), .keyborder_select = RGBA(0x000000ff),
.vertex_size = 3, .vertex_size = 3,
@@ -540,7 +541,6 @@ const bTheme U_theme_default = {
.bone_pose = RGBA(0x50c8ff50), .bone_pose = RGBA(0x50c8ff50),
.before_current_frame = RGBA(0xf22e23ff), .before_current_frame = RGBA(0xf22e23ff),
.after_current_frame = RGBA(0x78f244ff), .after_current_frame = RGBA(0x78f244ff),
.time_scrub_background = RGBA(0x121212ff),
.keyborder = RGBA(0x000000ff), .keyborder = RGBA(0x000000ff),
.keyborder_select = RGBA(0x000000ff), .keyborder_select = RGBA(0x000000ff),
.vertex_size = 3, .vertex_size = 3,
@@ -728,7 +728,6 @@ const bTheme U_theme_default = {
.header_text = RGBA(0xeeeeeeff), .header_text = RGBA(0xeeeeeeff),
.header_text_hi = RGBA(0xffffffff), .header_text_hi = RGBA(0xffffffff),
.grid = RGBA(0x181818ff), .grid = RGBA(0x181818ff),
.time_scrub_background = RGBA(0x181818ff),
.vertex_size = 3, .vertex_size = 3,
.outline_width = 1, .outline_width = 1,
.facedot_size = 4, .facedot_size = 4,

View File

@@ -400,6 +400,15 @@
> >
</ThemeRegionsChannels> </ThemeRegionsChannels>
</channels> </channels>
<scrubbing>
<ThemeRegionsScrubbing
back="#808080E6"
text="#272727"
time_marker="#00000060"
time_marker_selected="#ffffff60"
>
</ThemeRegionsScrubbing>
</scrubbing>
<sidebars> <sidebars>
<ThemeRegionsSidebars <ThemeRegionsSidebars
back="#b3b3b300" back="#b3b3b300"
@@ -415,8 +424,6 @@
<ThemeCommonAnim <ThemeCommonAnim
playhead="#5680c2" playhead="#5680c2"
preview_range="#a14d0066" preview_range="#a14d0066"
time_marker="#00000060"
time_marker_selected="#ffffff60"
channels="#2e639924" channels="#2e639924"
channels_sub="#7aa4cc24" channels_sub="#7aa4cc24"
channel_group="#278c0e37" channel_group="#278c0e37"
@@ -552,7 +559,6 @@
<graph_editor> <graph_editor>
<ThemeGraphEditor <ThemeGraphEditor
grid="#5e5e5e" grid="#5e5e5e"
time_scrub_background="#808080e6"
vertex="#000000" vertex="#000000"
vertex_select="#ff8500" vertex_select="#ff8500"
vertex_active="#ffffff" vertex_active="#ffffff"
@@ -608,7 +614,6 @@
tweak_duplicate="#d90000" tweak_duplicate="#d90000"
keyframe_border="#000000ff" keyframe_border="#000000ff"
keyframe_border_selected="#000000ff" keyframe_border_selected="#000000ff"
time_scrub_background="#808080e6"
> >
<space> <space>
<ThemeSpaceGeneric <ThemeSpaceGeneric
@@ -627,7 +632,6 @@
<dopesheet_editor> <dopesheet_editor>
<ThemeDopeSheet <ThemeDopeSheet
grid="#4d4d4d" grid="#4d4d4d"
time_scrub_background="#808080e6"
keyframe_border="#000000ff" keyframe_border="#000000ff"
keyframe_border_selected="#000000ff" keyframe_border_selected="#000000ff"
keyframe_scale_factor="1" keyframe_scale_factor="1"
@@ -707,7 +711,6 @@
text_strip="#824c8f" text_strip="#824c8f"
active_strip="#ffffff" active_strip="#ffffff"
selected_strip="#ff6a00" selected_strip="#ff6a00"
time_scrub_background="#292929e6"
preview_back="#000000" preview_back="#000000"
metadatabg="#000000" metadatabg="#000000"
metadatatext="#ffffff" metadatatext="#ffffff"
@@ -928,7 +931,6 @@
path_after="#0000ff" path_after="#0000ff"
path_keyframe_before="#ffc4c4" path_keyframe_before="#ffc4c4"
path_keyframe_after="#c4c4ff" path_keyframe_after="#c4c4ff"
time_scrub_background="#292929e6"
metadatabg="#000000" metadatabg="#000000"
metadatatext="#ffffff" metadatatext="#ffffff"
> >

View File

@@ -985,6 +985,7 @@ class USERPREF_MT_interface_theme_presets(Menu):
"ThemeRegions", "ThemeRegions",
"ThemeRegionsAssetShelf", "ThemeRegionsAssetShelf",
"ThemeRegionsChannels", "ThemeRegionsChannels",
"ThemeRegionsScrubbing",
"ThemeRegionsSidebars", "ThemeRegionsSidebars",
"ThemeSequenceEditor", "ThemeSequenceEditor",
"ThemeSpaceGeneric", "ThemeSpaceGeneric",

View File

@@ -27,7 +27,7 @@
/* Blender file format version. */ /* Blender file format version. */
#define BLENDER_FILE_VERSION BLENDER_VERSION #define BLENDER_FILE_VERSION BLENDER_VERSION
#define BLENDER_FILE_SUBVERSION 79 #define BLENDER_FILE_SUBVERSION 80
/* Minimum Blender version that supports reading file written with the current /* 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 * version. Older Blender versions will test this and cancel loading the file, showing a warning to

View File

@@ -302,8 +302,6 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
if (!USER_VERSION_ATLEAST(500, 56)) { if (!USER_VERSION_ATLEAST(500, 56)) {
FROM_DEFAULT_V4_UCHAR(common.anim.playhead); FROM_DEFAULT_V4_UCHAR(common.anim.playhead);
FROM_DEFAULT_V4_UCHAR(common.anim.time_marker);
FROM_DEFAULT_V4_UCHAR(common.anim.time_marker_selected);
FROM_DEFAULT_V4_UCHAR(common.anim.channel_group); FROM_DEFAULT_V4_UCHAR(common.anim.channel_group);
FROM_DEFAULT_V4_UCHAR(common.anim.channel_group_active); FROM_DEFAULT_V4_UCHAR(common.anim.channel_group_active);
} }
@@ -362,6 +360,13 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
FROM_DEFAULT_V4_UCHAR(common.anim.channel_selected); FROM_DEFAULT_V4_UCHAR(common.anim.channel_selected);
} }
if (!USER_VERSION_ATLEAST(500, 80)) {
FROM_DEFAULT_V4_UCHAR(regions.scrubbing.back);
FROM_DEFAULT_V4_UCHAR(regions.scrubbing.text);
FROM_DEFAULT_V4_UCHAR(regions.scrubbing.time_marker);
FROM_DEFAULT_V4_UCHAR(regions.scrubbing.time_marker_selected);
}
/** /**
* Always bump subversion in BKE_blender_version.h when adding versioning * Always bump subversion in BKE_blender_version.h when adding versioning
* code here, and wrap it inside a USER_VERSION_ATLEAST check. * code here, and wrap it inside a USER_VERSION_ATLEAST check.

View File

@@ -401,11 +401,11 @@ void debug_markers_print_list(ListBase *markers)
static void marker_color_get(const TimeMarker *marker, uchar *r_text_color, uchar *r_line_color) static void marker_color_get(const TimeMarker *marker, uchar *r_text_color, uchar *r_line_color)
{ {
if (marker->flag & SELECT) { if (marker->flag & SELECT) {
UI_GetThemeColor4ubv(TH_TEXT_HI, r_text_color); UI_GetThemeColor4ubv(TH_TIME_MARKER_LINE_SELECTED, r_text_color);
UI_GetThemeColor4ubv(TH_TIME_MARKER_LINE_SELECTED, r_line_color); UI_GetThemeColor4ubv(TH_TIME_MARKER_LINE_SELECTED, r_line_color);
} }
else { else {
UI_GetThemeColor4ubv(TH_TEXT, r_text_color); UI_GetThemeColor4ubv(TH_TIME_MARKER_LINE, r_text_color);
UI_GetThemeColor4ubv(TH_TIME_MARKER_LINE, r_line_color); UI_GetThemeColor4ubv(TH_TIME_MARKER_LINE, r_line_color);
} }
} }
@@ -502,7 +502,7 @@ static void draw_marker(const uiFontStyle *fstyle,
UI_GetThemeColor4ubv(TH_TIME_MARKER_LINE_SELECTED, marker_color); UI_GetThemeColor4ubv(TH_TIME_MARKER_LINE_SELECTED, marker_color);
} }
else { else {
UI_GetThemeColor4ubv(TH_TEXT, marker_color); UI_GetThemeColor4ubv(TH_TIME_MARKER_LINE, marker_color);
} }
UI_icon_draw_ex(xpos - (0.5f * UI_ICON_SIZE) - (0.5f * U.pixelsize), UI_icon_draw_ex(xpos - (0.5f * UI_ICON_SIZE) - (0.5f * U.pixelsize),

View File

@@ -211,11 +211,11 @@ void ED_time_scrub_draw(const ARegion *region,
numbers_rect.ymin = get_centered_text_y(&scrub_region_rect) - 4 * UI_SCALE_FAC; numbers_rect.ymin = get_centered_text_y(&scrub_region_rect) - 4 * UI_SCALE_FAC;
if (discrete_frames) { if (discrete_frames) {
UI_view2d_draw_scale_x__discrete_frames_or_seconds( UI_view2d_draw_scale_x__discrete_frames_or_seconds(
region, v2d, &numbers_rect, scene, display_seconds, TH_TEXT); region, v2d, &numbers_rect, scene, display_seconds, TH_TIME_SCRUB_TEXT);
} }
else { else {
UI_view2d_draw_scale_x__frames_or_seconds( UI_view2d_draw_scale_x__frames_or_seconds(
region, v2d, &numbers_rect, scene, display_seconds, TH_TEXT); region, v2d, &numbers_rect, scene, display_seconds, TH_TIME_SCRUB_TEXT);
} }
GPU_matrix_pop_projection(); GPU_matrix_pop_projection();

View File

@@ -118,6 +118,7 @@ enum ThemeColorID {
TH_FRAME_BEFORE, TH_FRAME_BEFORE,
TH_FRAME_AFTER, TH_FRAME_AFTER,
TH_TIME_SCRUB_BACKGROUND, TH_TIME_SCRUB_BACKGROUND,
TH_TIME_SCRUB_TEXT,
TH_TIME_MARKER_LINE, TH_TIME_MARKER_LINE,
TH_TIME_MARKER_LINE_SELECTED, TH_TIME_MARKER_LINE_SELECTED,
TH_TIME_GP_KEYFRAME, TH_TIME_GP_KEYFRAME,

View File

@@ -323,13 +323,16 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
cp = ts->grid; cp = ts->grid;
break; break;
case TH_TIME_SCRUB_BACKGROUND: case TH_TIME_SCRUB_BACKGROUND:
cp = ts->time_scrub_background; cp = btheme->regions.scrubbing.back;
break;
case TH_TIME_SCRUB_TEXT:
cp = btheme->regions.scrubbing.text;
break; break;
case TH_TIME_MARKER_LINE: case TH_TIME_MARKER_LINE:
cp = btheme->common.anim.time_marker; cp = btheme->regions.scrubbing.time_marker;
break; break;
case TH_TIME_MARKER_LINE_SELECTED: case TH_TIME_MARKER_LINE_SELECTED:
cp = btheme->common.anim.time_marker_selected; cp = btheme->regions.scrubbing.time_marker_selected;
break; break;
case TH_VIEW_OVERLAY: case TH_VIEW_OVERLAY:
cp = ts->view_overlay; cp = ts->view_overlay;

View File

@@ -118,6 +118,12 @@ typedef struct ThemeRegionsChannels {
char _pad0[4]; char _pad0[4];
} ThemeRegionsChannels; } ThemeRegionsChannels;
typedef struct ThemeRegionsScrubbing {
unsigned char back[4];
unsigned char text[4];
unsigned char time_marker[4], time_marker_selected[4];
} ThemeRegionsScrubbing;
typedef struct ThemeRegionsSidebars { typedef struct ThemeRegionsSidebars {
unsigned char back[4]; unsigned char back[4];
unsigned char tab_back[4]; unsigned char tab_back[4];
@@ -126,6 +132,7 @@ typedef struct ThemeRegionsSidebars {
typedef struct ThemeRegions { typedef struct ThemeRegions {
ThemeRegionsAssetShelf asset_shelf; ThemeRegionsAssetShelf asset_shelf;
ThemeRegionsChannels channels; ThemeRegionsChannels channels;
ThemeRegionsScrubbing scrubbing;
ThemeRegionsSidebars sidebars; ThemeRegionsSidebars sidebars;
} ThemeRegions; } ThemeRegions;
@@ -133,8 +140,6 @@ typedef struct ThemeCommonAnim {
unsigned char playhead[4]; unsigned char playhead[4];
unsigned char preview_range[4]; unsigned char preview_range[4];
unsigned char time_marker[4], time_marker_selected[4];
unsigned char channels[4], channels_sub[4]; unsigned char channels[4], channels_sub[4];
unsigned char channel_group[4], channel_group_active[4]; unsigned char channel_group[4], channel_group_active[4];
unsigned char channel[4], channel_selected[4]; unsigned char channel[4], channel_selected[4];
@@ -301,8 +306,6 @@ typedef struct ThemeSpace {
char _pad2[4]; char _pad2[4];
/* button/tool regions */ /* button/tool regions */
unsigned char _pad3[4];
unsigned char shade1[4]; unsigned char shade1[4];
unsigned char shade2[4]; unsigned char shade2[4];
@@ -332,7 +335,6 @@ typedef struct ThemeSpace {
unsigned char before_current_frame[4], after_current_frame[4]; unsigned char before_current_frame[4], after_current_frame[4];
unsigned char time_gp_keyframe[4]; unsigned char time_gp_keyframe[4];
unsigned char freestyle_edge_mark[4], freestyle_face_mark[4]; unsigned char freestyle_edge_mark[4], freestyle_face_mark[4];
unsigned char time_scrub_background[4];
unsigned char nurb_uline[4], nurb_vline[4]; unsigned char nurb_uline[4], nurb_vline[4];
unsigned char act_spline[4], nurb_sel_uline[4], nurb_sel_vline[4]; unsigned char act_spline[4], nurb_sel_uline[4], nurb_sel_vline[4];
@@ -380,7 +382,7 @@ typedef struct ThemeSpace {
float keyframe_scale_fac; float keyframe_scale_fac;
unsigned char editmesh_active[4]; unsigned char editmesh_active[4];
char _pad6[1]; char _pad3[1];
unsigned char clipping_border_3d[4]; unsigned char clipping_border_3d[4];

View File

@@ -230,7 +230,6 @@ DNA_STRUCT_RENAME_MEMBER(SurfaceDeformModifierData, numverts, bind_verts_num)
DNA_STRUCT_RENAME_MEMBER(Text, name, filepath) DNA_STRUCT_RENAME_MEMBER(Text, name, filepath)
DNA_STRUCT_RENAME_MEMBER(TextVars, align_y, align_y_legacy) DNA_STRUCT_RENAME_MEMBER(TextVars, align_y, align_y_legacy)
DNA_STRUCT_RENAME_MEMBER(TextVars, text, text_legacy) DNA_STRUCT_RENAME_MEMBER(TextVars, text, text_legacy)
DNA_STRUCT_RENAME_MEMBER(ThemeSpace, scrubbing_background, time_scrub_background)
DNA_STRUCT_RENAME_MEMBER(ThemeSpace, show_back_grad, background_type) DNA_STRUCT_RENAME_MEMBER(ThemeSpace, show_back_grad, background_type)
DNA_STRUCT_RENAME_MEMBER(UVProjectModifierData, num_projectors, projectors_num) DNA_STRUCT_RENAME_MEMBER(UVProjectModifierData, num_projectors, projectors_num)
DNA_STRUCT_RENAME_MEMBER(UnifiedPaintSettings, unprojected_radius, unprojected_size) DNA_STRUCT_RENAME_MEMBER(UnifiedPaintSettings, unprojected_radius, unprojected_size)

View File

@@ -2195,6 +2195,37 @@ static void rna_def_userdef_theme_regions_channels(BlenderRNA *brna)
RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
} }
/* Scrubbing / Markers region */
static void rna_def_userdef_theme_regions_scrubbing(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
srna = RNA_def_struct(brna, "ThemeRegionsScrubbing", nullptr);
RNA_def_struct_ui_text(srna, "Scrubbing & Markers Region Settings", "");
prop = RNA_def_property(srna, "back", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 4);
RNA_def_property_ui_text(prop, "Background", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "text", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Timestamp", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
/* Marker properties */
prop = RNA_def_property(srna, "time_marker", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 4);
RNA_def_property_ui_text(prop, "Marker", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "time_marker_selected", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 4);
RNA_def_property_ui_text(prop, "Marker Selected", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
}
/* Sidebar & Toolbar region */ /* Sidebar & Toolbar region */
static void rna_def_userdef_theme_regions_sidebars(BlenderRNA *brna) static void rna_def_userdef_theme_regions_sidebars(BlenderRNA *brna)
{ {
@@ -2222,6 +2253,7 @@ static void rna_def_userdef_theme_regions(BlenderRNA *brna)
rna_def_userdef_theme_regions_channels(brna); rna_def_userdef_theme_regions_channels(brna);
rna_def_userdef_theme_regions_asset_shelf(brna); rna_def_userdef_theme_regions_asset_shelf(brna);
rna_def_userdef_theme_regions_scrubbing(brna);
rna_def_userdef_theme_regions_sidebars(brna); rna_def_userdef_theme_regions_sidebars(brna);
srna = RNA_def_struct(brna, "ThemeRegions", nullptr); srna = RNA_def_struct(brna, "ThemeRegions", nullptr);
@@ -2239,6 +2271,11 @@ static void rna_def_userdef_theme_regions(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Channels", ""); RNA_def_property_ui_text(prop, "Channels", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "scrubbing", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_ui_text(prop, "Scrubbing / Markers", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "sidebars", PROP_POINTER, PROP_NONE); prop = RNA_def_property(srna, "sidebars", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL); RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_ui_text(prop, "Toolbar / Sidebar", ""); RNA_def_property_ui_text(prop, "Toolbar / Sidebar", "");
@@ -2266,17 +2303,6 @@ static void rna_def_userdef_theme_common_anim(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Preview Range", "Color of preview range overlay"); RNA_def_property_ui_text(prop, "Preview Range", "Color of preview range overlay");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
/* Marker properties */
prop = RNA_def_property(srna, "time_marker", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 4);
RNA_def_property_ui_text(prop, "Marker Line", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "time_marker_selected", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 4);
RNA_def_property_ui_text(prop, "Marker Line Selected", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
/* Channel properties */ /* Channel properties */
prop = RNA_def_property(srna, "channels", PROP_FLOAT, PROP_COLOR_GAMMA); prop = RNA_def_property(srna, "channels", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 4); RNA_def_property_array(prop, 4);
@@ -3042,11 +3068,6 @@ static void rna_def_userdef_theme_space_graph(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Grid", ""); RNA_def_property_ui_text(prop, "Grid", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "time_scrub_background", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 4);
RNA_def_property_ui_text(prop, "Scrubbing/Markers Region", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
rna_def_userdef_theme_spaces_vertex(srna, true, false); rna_def_userdef_theme_spaces_vertex(srna, true, false);
} }
@@ -3762,11 +3783,6 @@ static void rna_def_userdef_theme_space_seq(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Selected Strips", ""); RNA_def_property_ui_text(prop, "Selected Strips", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "time_scrub_background", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 4);
RNA_def_property_ui_text(prop, "Scrubbing/Markers Region", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "keyframe_border", PROP_FLOAT, PROP_COLOR_GAMMA); prop = RNA_def_property(srna, "keyframe_border", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_float_sdna(prop, nullptr, "keyborder"); RNA_def_property_float_sdna(prop, nullptr, "keyborder");
RNA_def_property_array(prop, 4); RNA_def_property_array(prop, 4);
@@ -3833,11 +3849,6 @@ static void rna_def_userdef_theme_space_action(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Grid", ""); RNA_def_property_ui_text(prop, "Grid", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "time_scrub_background", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 4);
RNA_def_property_ui_text(prop, "Scrubbing/Markers Region", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "keyframe_border", PROP_FLOAT, PROP_COLOR_GAMMA); prop = RNA_def_property(srna, "keyframe_border", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_float_sdna(prop, nullptr, "keyborder"); RNA_def_property_float_sdna(prop, nullptr, "keyborder");
RNA_def_property_array(prop, 4); RNA_def_property_array(prop, 4);
@@ -3987,11 +3998,6 @@ static void rna_def_userdef_theme_space_nla(BlenderRNA *brna)
RNA_def_property_array(prop, 4); RNA_def_property_array(prop, 4);
RNA_def_property_ui_text(prop, "Keyframe Border Selected", "Color of selected keyframe border"); RNA_def_property_ui_text(prop, "Keyframe Border Selected", "Color of selected keyframe border");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "time_scrub_background", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 4);
RNA_def_property_ui_text(prop, "Scrubbing/Markers Region", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
} }
static void rna_def_userdef_theme_colorset(BlenderRNA *brna) static void rna_def_userdef_theme_colorset(BlenderRNA *brna)
@@ -4140,11 +4146,6 @@ static void rna_def_userdef_theme_space_clip(BlenderRNA *brna)
prop, "Path Keyframe After", "Color of keyframes on a path after current frame"); prop, "Path Keyframe After", "Color of keyframes on a path after current frame");
RNA_def_property_update(prop, 0, "rna_userdef_update"); RNA_def_property_update(prop, 0, "rna_userdef_update");
prop = RNA_def_property(srna, "time_scrub_background", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_array(prop, 4);
RNA_def_property_ui_text(prop, "Scrubbing/Markers Region", "");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
prop = RNA_def_property(srna, "metadatabg", PROP_FLOAT, PROP_COLOR_GAMMA); prop = RNA_def_property(srna, "metadatabg", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_float_sdna(prop, nullptr, "metadatabg"); RNA_def_property_float_sdna(prop, nullptr, "metadatabg");
RNA_def_property_array(prop, 3); RNA_def_property_array(prop, 3);