diff options
-rw-r--r-- | source/blender/editors/animation/keyframes_draw.c | 19 | ||||
-rw-r--r-- | source/blender/editors/include/UI_resources.h | 12 | ||||
-rw-r--r-- | source/blender/editors/interface/resources.c | 32 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_userdef_types.h | 3 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_userdef.c | 60 |
5 files changed, 117 insertions, 9 deletions
diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c index db51e3c2398..05c390d1462 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 0773b86aaab..23498dcf4aa 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 d4b23d5aaa6..38f185304e8 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 77b21a514b7..8f0adc7d39e 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 7b5c269ff0d..50b4a2efada 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); |