Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2014-01-16 14:56:40 +0400
committerJoshua Leung <aligorith@gmail.com>2014-01-17 05:53:02 +0400
commitd8fa72bfb187f8091aa22e6acc0b00d254b807db (patch)
treefd0335b0315ffb41a60a78a2e01798618f85772c /source/blender/editors
parent5e5b0cee4fc364eade49798baa9e312e9211799b (diff)
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
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/animation/keyframes_draw.c44
-rw-r--r--source/blender/editors/interface/resources.c42
2 files changed, 63 insertions, 23 deletions
diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c
index 05c390d1462..fd350ada15c 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 38f185304e8..e54d4b277b0 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! */