Commit: d8fa72bfb187f8091aa22e6acc0b00d254b807db
Author: Joshua Leung
Date:   Thu Jan 16 23:56:40 2014 +1300
https://developer.blender.org/rBd8fa72bfb187f8091aa22e6acc0b00d254b807db

Assorted polish fixes for keyframe theme settings patch

* Version patching fixes for theme settings
* Added missing support for NLA (needed for the keyframes drawn in the action 
lines)
* Fix for a lack of contrast between selected and unselected extreme keyframe 
type
  (restoring it back to the pre-patch color scheme)
* Fix for keyframes on protected channels not being drawn with partial opacity

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

M       source/blender/editors/animation/keyframes_draw.c
M       source/blender/editors/interface/resources.c
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 05c390d..fd350ad 100644
--- a/source/blender/editors/animation/keyframes_draw.c
+++ b/source/blender/editors/animation/keyframes_draw.c
@@ -595,42 +595,56 @@ void draw_keyframe_shape(float x, float y, float xscale, 
float hsize, short sel,
        
        /* draw! */
        if (ELEM(mode, KEYFRAME_SHAPE_INSIDE, KEYFRAME_SHAPE_BOTH)) {
-               /* interior - hardcoded colors (for selected and unselected 
only) */
+               float inner_col[4];
+               
+               /* get interior colors from theme (for selected and unselected 
only) */
                switch (key_type) {
-                       case BEZT_KEYTYPE_BREAKDOWN: /* bluish frames for now */
+                       case BEZT_KEYTYPE_BREAKDOWN: /* bluish frames (default 
theme) */
                        {
-                               if (sel)  
UI_ThemeColor(TH_KEYTYPE_BREAKDOWN_SELECT);
-                               else UI_ThemeColor(TH_KEYTYPE_BREAKDOWN);
+                               if (sel)  
UI_GetThemeColor4fv(TH_KEYTYPE_BREAKDOWN_SELECT, inner_col);
+                               else UI_GetThemeColor4fv(TH_KEYTYPE_BREAKDOWN, 
inner_col);
                                break;
                        }
-                       case BEZT_KEYTYPE_EXTREME: /* redish frames for now */
+                       case BEZT_KEYTYPE_EXTREME: /* reddish frames (default 
theme) */
                        {
-                               if (sel) 
UI_ThemeColor(TH_KEYTYPE_EXTREME_SELECT);
-                               else UI_ThemeColor(TH_KEYTYPE_EXTREME);
+                               if (sel) 
UI_GetThemeColor4fv(TH_KEYTYPE_EXTREME_SELECT, inner_col);
+                               else UI_GetThemeColor4fv(TH_KEYTYPE_EXTREME, 
inner_col);
                                break;
                        }
-                       case BEZT_KEYTYPE_JITTER: /* greenish frames for now? */
+                       case BEZT_KEYTYPE_JITTER: /* greenish frames (default 
theme) */
                        {
-                               if (sel) 
UI_ThemeColor(TH_KEYTYPE_JITTER_SELECT);
-                               else UI_ThemeColor(TH_KEYTYPE_JITTER);
+                               if (sel) 
UI_GetThemeColor4fv(TH_KEYTYPE_JITTER_SELECT, inner_col);
+                               else UI_GetThemeColor4fv(TH_KEYTYPE_JITTER, 
inner_col);
                                break;
                        }
-                       case BEZT_KEYTYPE_KEYFRAME: /* traditional yellowish 
frames for now */
+                       case BEZT_KEYTYPE_KEYFRAME: /* traditional yellowish 
frames (default theme) */
                        default:
                        {
-                               if (sel) 
UI_ThemeColor(TH_KEYTYPE_KEYFRAME_SELECT);
-                               else UI_ThemeColor(TH_KEYTYPE_KEYFRAME);
+                               if (sel) 
UI_GetThemeColor4fv(TH_KEYTYPE_KEYFRAME_SELECT, inner_col);
+                               else UI_GetThemeColor4fv(TH_KEYTYPE_KEYFRAME, 
inner_col);
                                break;
                        }
                }
                
+               /* NOTE: we don't use the straight alpha from the theme, or 
else effects such as 
+                * greying out protected/muted channels doesn't work correctly! 
+                */
+               inner_col[3] *= alpha;
+               glColor4fv(inner_col);
+               
+               /* draw the "filled in" interior poly now */
                glCallList(displist2);
        }
        
        if (ELEM(mode, KEYFRAME_SHAPE_FRAME, KEYFRAME_SHAPE_BOTH)) {
+               float border_col[4];
+               
                /* exterior - black frame */
-               if (sel)  UI_ThemeColor4(TH_KEYBORDER_SELECT);
-               else  UI_ThemeColor4(TH_KEYBORDER);
+               if (sel)  UI_GetThemeColor4fv(TH_KEYBORDER_SELECT, border_col);
+               else  UI_GetThemeColor4fv(TH_KEYBORDER, border_col);
+               
+               border_col[3] *= alpha;
+               glColor4fv(border_col);
                
                glCallList(displist1);
        }
diff --git a/source/blender/editors/interface/resources.c 
b/source/blender/editors/interface/resources.c
index 38f1853..e54d4b2 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -915,12 +915,12 @@ void ui_theme_init_default(void)
        
        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_extreme,            232, 179, 
204, 255);
+       rgba_char_args_set(btheme->tact.keytype_extreme_select,     242, 128, 
128, 255);
+       rgba_char_args_set(btheme->tact.keytype_breakdown,          179, 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.keytype_jitter_select,       97, 192,  
66, 255);
        
        rgba_char_args_set(btheme->tact.keyborder,                   0,   0,   
0, 255);
        rgba_char_args_set(btheme->tact.keyborder_select,        0,   0,   0, 
255);
@@ -941,6 +941,9 @@ void ui_theme_init_default(void)
        rgba_char_args_set(btheme->tnla.nla_sound,          43, 61, 61, 255);
        rgba_char_args_set(btheme->tnla.nla_sound_sel,      31, 122, 122, 255);
        
+       rgba_char_args_set(btheme->tnla.keyborder,                   0,   0,   
0, 255);
+       rgba_char_args_set(btheme->tnla.keyborder_select,        0,   0,   0, 
255);
+       
        /* space file */
        /* to have something initialized */
        btheme->tfile = btheme->tv3d;
@@ -2343,12 +2346,35 @@ void init_userdef_do_versions(void)
                        rgba_char_args_test_set(btheme->tinfo.info_debug_text, 
0, 0, 0, 255);
                }
        }
-
+       
        if (U.versionfile < 269 || (U.versionfile == 269 && U.subversionfile < 
9)) {
+               bTheme *btheme;
+               
                U.tw_size = U.tw_size * 5.0f;
-       }
-
-       if (U.versionfile < 270) {
+               
+               /* Action Editor (and NLA Editor) - Keyframe Colors */
+               for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+                       /* Action Editor ................. */
+                       /* key types */
+                       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,        
    232, 179, 204, 255);
+                       rgba_char_args_set(btheme->tact.keytype_extreme_select, 
    242, 128, 128, 255);
+                       rgba_char_args_set(btheme->tact.keytype_breakdown,      
    179, 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, 192,  66, 255);
+                       
+                       /* key border */
+                       rgba_char_args_set(btheme->tact.keyborder,              
     0,   0,   0, 255);
+                       rgba_char_args_set(btheme->tact.keyborder_select,       
 0,   0,   0, 255);
+                       
+                       /* NLA ............................ */
+                       /* key border */
+                       rgba_char_args_set(btheme->tnla.keyborder,              
     0,   0,   0, 255);
+                       rgba_char_args_set(btheme->tnla.keyborder_select,       
 0,   0,   0, 255);
+               }
+               
                /* grease pencil - new layer color */
                if (U.gpencil_new_layer_col[3] < 0.1f) {
                        /* defaults to black, but must at least be visible! */
diff --git a/source/blender/makesrna/intern/rna_userdef.c 
b/source/blender/makesrna/intern/rna_userdef.c
index 50b4a2e..9b8f99a 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -2469,55 +2469,55 @@ static void 
rna_def_userdef_theme_space_action(BlenderRNA *brna)
        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_ui_text(prop, "Keyframe Selected", "Color of selected 
keyframe");
        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_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_ui_text(prop, "Extreme Keyframe Selected", "Color of 
selected extreme keyframe");
        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_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_ui_text(prop, "Breakdown Keyframe Selected", "Color of 
selected breakdown keyframe");
        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_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_ui_text(prop, "Jitter Keyframe Selected", "Color of 
selected jitter keyframe");
        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");


@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to