[Bf-blender-cvs] [5e5b0ce] master: T37579: Theme settings for Keyframe Colours

Jose Molina Garcia noreply at git.blender.org
Fri Jan 17 02:55:06 CET 2014


Commit: 5e5b0cee4fc364eade49798baa9e312e9211799b
Author: Jose Molina Garcia
Date:   Tue Jan 7 22:45:40 2014 +1300
https://developer.blender.org/rB5e5b0cee4fc364eade49798baa9e312e9211799b

T37579: Theme settings for Keyframe Colours

This patch makes it possible to customise the colours used for the different
keyframe types (Keyframe, Breakdown, Extreme, Jitter) and the border colours
(normal and selected).

Reviewed by: Joshua Leung

===================================================================

M	source/blender/editors/animation/keyframes_draw.c
M	source/blender/editors/include/UI_resources.h
M	source/blender/editors/interface/resources.c
M	source/blender/makesdna/DNA_userdef_types.h
M	source/blender/makesrna/intern/rna_userdef.c

===================================================================

diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c
index db51e3c..05c390d 100644
--- a/source/blender/editors/animation/keyframes_draw.c
+++ b/source/blender/editors/animation/keyframes_draw.c
@@ -599,27 +599,27 @@ void draw_keyframe_shape(float x, float y, float xscale, float hsize, short sel,
 		switch (key_type) {
 			case BEZT_KEYTYPE_BREAKDOWN: /* bluish frames for now */
 			{
-				if (sel) glColor4f(0.33f, 0.75f, 0.93f, alpha);
-				else glColor4f(0.70f, 0.86f, 0.91f, alpha);
+				if (sel)  UI_ThemeColor(TH_KEYTYPE_BREAKDOWN_SELECT);
+				else UI_ThemeColor(TH_KEYTYPE_BREAKDOWN);
 				break;
 			}
 			case BEZT_KEYTYPE_EXTREME: /* redish frames for now */
 			{
-				if (sel) glColor4f(0.95f, 0.5f, 0.5f, alpha);
-				else glColor4f(0.91f, 0.70f, 0.80f, alpha);
+				if (sel) UI_ThemeColor(TH_KEYTYPE_EXTREME_SELECT);
+				else UI_ThemeColor(TH_KEYTYPE_EXTREME);
 				break;
 			}
 			case BEZT_KEYTYPE_JITTER: /* greenish frames for now? */
 			{
-				if (sel) glColor4f(0.38f, 0.75f, 0.26f, alpha);
-				else glColor4f(0.58f, 0.90f, 0.46f, alpha);
+				if (sel) UI_ThemeColor(TH_KEYTYPE_JITTER_SELECT);
+				else UI_ThemeColor(TH_KEYTYPE_JITTER);
 				break;
 			}
 			case BEZT_KEYTYPE_KEYFRAME: /* traditional yellowish frames for now */
 			default:
 			{
-				if (sel) UI_ThemeColorShadeAlpha(TH_STRIP_SELECT, 50, -255 * (1.0f - alpha));
-				else glColor4f(0.91f, 0.91f, 0.91f, alpha);
+				if (sel) UI_ThemeColor(TH_KEYTYPE_KEYFRAME_SELECT);
+				else UI_ThemeColor(TH_KEYTYPE_KEYFRAME);
 				break;
 			}
 		}
@@ -629,7 +629,8 @@ void draw_keyframe_shape(float x, float y, float xscale, float hsize, short sel,
 	
 	if (ELEM(mode, KEYFRAME_SHAPE_FRAME, KEYFRAME_SHAPE_BOTH)) {
 		/* exterior - black frame */
-		glColor4f(0.0f, 0.0f, 0.0f, alpha);
+		if (sel)  UI_ThemeColor4(TH_KEYBORDER_SELECT);
+		else  UI_ThemeColor4(TH_KEYBORDER);
 		
 		glCallList(displist1);
 	}
diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h
index 0773b86..23498dc 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -138,6 +138,18 @@ enum {
 	TH_STRIP,
 	TH_STRIP_SELECT,
 	
+	TH_KEYTYPE_KEYFRAME, /* KEYTYPES */
+	TH_KEYTYPE_KEYFRAME_SELECT,
+	TH_KEYTYPE_EXTREME,
+	TH_KEYTYPE_EXTREME_SELECT,
+	TH_KEYTYPE_BREAKDOWN,
+	TH_KEYTYPE_BREAKDOWN_SELECT,
+	TH_KEYTYPE_JITTER,
+	TH_KEYTYPE_JITTER_SELECT,
+	
+	TH_KEYBORDER,
+	TH_KEYBORDER_SELECT,
+	
 	TH_LAMP,
 	TH_SPEAKER,
 	TH_CAMERA,
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index d4b23d5..38f1853 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -331,6 +331,26 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
 					cp = ts->strip; break;
 				case TH_STRIP_SELECT:
 					cp = ts->strip_select; break;
+				case TH_KEYTYPE_KEYFRAME:
+					cp = ts->keytype_keyframe; break;
+				case TH_KEYTYPE_KEYFRAME_SELECT:
+					cp = ts->keytype_keyframe_select; break;
+				case TH_KEYTYPE_EXTREME:
+					cp = ts->keytype_extreme; break;
+				case TH_KEYTYPE_EXTREME_SELECT:
+					cp = ts->keytype_extreme_select; break;
+				case TH_KEYTYPE_BREAKDOWN:
+					cp = ts->keytype_breakdown; break;
+				case TH_KEYTYPE_BREAKDOWN_SELECT:
+					cp = ts->keytype_breakdown_select; break;
+				case TH_KEYTYPE_JITTER:
+					cp = ts->keytype_jitter; break;
+				case TH_KEYTYPE_JITTER_SELECT:
+					cp = ts->keytype_jitter_select; break;
+				case TH_KEYBORDER:
+					cp = ts->keyborder; break;
+				case TH_KEYBORDER_SELECT:
+					cp = ts->keyborder_select; break;
 				case TH_CFRAME:
 					cp = ts->cframe; break;
 				case TH_NURB_ULINE:
@@ -893,6 +913,18 @@ void ui_theme_init_default(void)
 	
 	rgba_char_args_set(btheme->tact.anim_active,    204, 112, 26, 102);
 	
+	rgba_char_args_set(btheme->tact.keytype_keyframe,           232, 232, 232, 255);
+	rgba_char_args_set(btheme->tact.keytype_keyframe_select,    255, 190,  50, 255);
+	rgba_char_args_set(btheme->tact.keytype_extreme,            237, 178, 204, 255);
+	rgba_char_args_set(btheme->tact.keytype_extreme_select,     242, 127, 127, 255);
+	rgba_char_args_set(btheme->tact.keytype_breakdown,          178, 219, 232, 255);
+	rgba_char_args_set(btheme->tact.keytype_breakdown_select,    84, 191, 237, 255);
+	rgba_char_args_set(btheme->tact.keytype_jitter,             148, 229, 117, 255);
+	rgba_char_args_set(btheme->tact.keytype_jitter_select,       97, 191, 066, 255);
+	
+	rgba_char_args_set(btheme->tact.keyborder,	             0,   0,   0, 255);
+	rgba_char_args_set(btheme->tact.keyborder_select,        0,   0,   0, 255);
+	
 	/* space nla */
 	btheme->tnla = btheme->tact;
 	
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 77b21a5..8f0adc7 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -249,6 +249,9 @@ typedef struct ThemeSpace {
 	char handle_sel_free[4], handle_sel_auto[4], handle_sel_vect[4], handle_sel_align[4], handle_sel_auto_clamped[4];
 	
 	char ds_channel[4], ds_subchannel[4]; /* dopesheet */
+	char keytype_keyframe[4], keytype_extreme[4], keytype_breakdown[4], keytype_jitter[4]; /* keytypes */
+	char keytype_keyframe_select[4], keytype_extreme_select[4], keytype_breakdown_select[4], keytype_jitter_select[4]; /* keytypes */
+	char keyborder[4],keyborder_select[4];
 	
 	char console_output[4], console_input[4], console_info[4], console_error[4];
 	char console_cursor[4], console_select[4], pad1[4];
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index 7b5c269..50b4a2e 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -2460,6 +2460,66 @@ static void rna_def_userdef_theme_space_action(BlenderRNA *brna)
 	RNA_def_property_ui_text(prop, "Dope Sheet Sub-Channel", "");
 	RNA_def_property_update(prop, 0, "rna_userdef_update");
 	
+	prop = RNA_def_property(srna, "keyframe", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "keytype_keyframe");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Keyframe", "Color of Keyframe");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+	
+	prop = RNA_def_property(srna, "keyframe_selected", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "keytype_keyframe_select");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Keyframe Selected", "Color of Keyframe Selected");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+	
+	prop = RNA_def_property(srna, "keyframe_extreme", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "keytype_extreme");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Extreme Keyframe", "Color of Extreme Keyframe");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+	
+	prop = RNA_def_property(srna, "keyframe_extreme_selected", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "keytype_extreme_select");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Extreme Keyframe Selected", "Color of Extreme Keyframe selected");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+	
+	prop = RNA_def_property(srna, "keyframe_breakdown", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "keytype_breakdown");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Breakdown Keyframe", "Color of Breakdown keyframe");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+	
+	prop = RNA_def_property(srna, "keyframe_breakdown_selected", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "keytype_breakdown_select");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Breakdown Keyframe Selected", "Color of Breakdown Keyframe selected");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+	
+	prop = RNA_def_property(srna, "keyframe_jitter", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "keytype_jitter");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Jitter Keyframe", "Color of Jitter Keyframe");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+	
+	prop = RNA_def_property(srna, "keyframe_jitter_selected", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "keytype_jitter_select");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Jitter Keyframe Selected", "Color of Jitter Keyframe selected");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+	
+	prop = RNA_def_property(srna, "keyframe_border", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "keyborder");
+	RNA_def_property_array(prop, 4);
+	RNA_def_property_ui_text(prop, "Keyframe Border", "Color of Keyframe border");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+	
+	prop = RNA_def_property(srna, "keyframe_border_selected", PROP_FLOAT, PROP_COLOR_GAMMA);
+	RNA_def_property_float_sdna(prop, NULL, "keyborder_select");
+	RNA_def_property_array(prop, 4);
+	RNA_def_property_ui_text(prop, "Keyframe Border Selected", "Color of Key Border Selected");
+	RNA_def_property_update(prop, 0, "rna_userdef_update");
+	
 	prop = RNA_def_property(srna, "summary", PROP_FLOAT, PROP_COLOR_GAMMA);
 	RNA_def_property_float_sdna(prop, NULL, "anim_active");
 	RNA_def_property_array(prop, 4);




More information about the Bf-blender-cvs mailing list