diff options
author | Sv. Lockal <lockalsash@gmail.com> | 2013-12-17 22:02:42 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-12-17 22:03:30 +0400 |
commit | f034e69f0c3d247c5fb9343bceb7c8a249e43c90 (patch) | |
tree | bae129c9b99bc4a5d3b9fa7bb20578ef7252b89f /source/blender/editors | |
parent | c5d7ea091fa5a291b270565e456612df1e37b50c (diff) |
UI: Theme Colors for Info space
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/include/UI_resources.h | 13 | ||||
-rw-r--r-- | source/blender/editors/interface/resources.c | 58 | ||||
-rw-r--r-- | source/blender/editors/space_info/info_draw.c | 63 |
3 files changed, 96 insertions, 38 deletions
diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h index af0df0e0643..0773b86aaab 100644 --- a/source/blender/editors/include/UI_resources.h +++ b/source/blender/editors/include/UI_resources.h @@ -248,7 +248,18 @@ enum { TH_LOW_GRAD, TH_HIGH_GRAD, - TH_SHOW_BACK_GRAD + TH_SHOW_BACK_GRAD, + + TH_INFO_SELECTED, + TH_INFO_SELECTED_TEXT, + TH_INFO_ERROR, + TH_INFO_ERROR_TEXT, + TH_INFO_WARNING, + TH_INFO_WARNING_TEXT, + TH_INFO_INFO, + TH_INFO_INFO_TEXT, + TH_INFO_DEBUG, + TH_INFO_DEBUG_TEXT }; /* XXX WARNING: previous is saved in file, so do not change order! */ diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index 42b17fad406..e9d53320d24 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -580,6 +580,37 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo cp = btheme->tui.yaxis; break; case TH_AXIS_Z: cp = btheme->tui.zaxis; break; + + case TH_INFO_SELECTED: + cp = ts->info_selected; + break; + case TH_INFO_SELECTED_TEXT: + cp = ts->info_selected_text; + break; + case TH_INFO_ERROR: + cp = ts->info_error; + break; + case TH_INFO_ERROR_TEXT: + cp = ts->info_error_text; + break; + case TH_INFO_WARNING: + cp = ts->info_warning; + break; + case TH_INFO_WARNING_TEXT: + cp = ts->info_warning_text; + break; + case TH_INFO_INFO: + cp = ts->info_info; + break; + case TH_INFO_INFO_TEXT: + cp = ts->info_info_text; + break; + case TH_INFO_DEBUG: + cp = ts->info_debug; + break; + case TH_INFO_DEBUG_TEXT: + cp = ts->info_debug_text; + break; } } } @@ -974,6 +1005,16 @@ void ui_theme_init_default(void) /* space info */ btheme->tinfo = btheme->tv3d; rgba_char_args_set_fl(btheme->tinfo.back, 0.45, 0.45, 0.45, 1.0); + rgba_char_args_set(btheme->tinfo.info_selected, 96, 128, 255, 255); + rgba_char_args_set(btheme->tinfo.info_selected_text, 255, 255, 255, 255); + rgba_char_args_set(btheme->tinfo.info_error, 220, 0, 0, 255); + rgba_char_args_set(btheme->tinfo.info_error_text, 0, 0, 0, 255); + rgba_char_args_set(btheme->tinfo.info_warning, 220, 128, 96, 255); + rgba_char_args_set(btheme->tinfo.info_warning_text, 0, 0, 0, 255); + rgba_char_args_set(btheme->tinfo.info_info, 0, 170, 0, 255); + rgba_char_args_set(btheme->tinfo.info_info_text, 0, 0, 0, 255); + rgba_char_args_set(btheme->tinfo.info_debug, 196, 196, 196, 255); + rgba_char_args_set(btheme->tinfo.info_debug_text, 0, 0, 0, 255); /* space user preferences */ btheme->tuserpref = btheme->tv3d; @@ -2279,7 +2320,22 @@ void init_userdef_do_versions(void) rgba_char_args_test_set(btheme->tnode.nodeclass_pattern, r, g, b, 255); rgba_char_args_test_set(btheme->tnode.nodeclass_layout, r, g, b, 255); } - + } + + if (U.versionfile < 269 || (U.versionfile == 269 && U.subversionfile < 8)) { + bTheme *btheme; + for (btheme = U.themes.first; btheme; btheme = btheme->next) { + rgba_char_args_test_set(btheme->tinfo.info_selected, 96, 128, 255, 255); + rgba_char_args_test_set(btheme->tinfo.info_selected_text, 255, 255, 255, 255); + rgba_char_args_test_set(btheme->tinfo.info_error, 220, 0, 0, 255); + rgba_char_args_test_set(btheme->tinfo.info_error_text, 0, 0, 0, 255); + rgba_char_args_test_set(btheme->tinfo.info_warning, 220, 128, 96, 255); + rgba_char_args_test_set(btheme->tinfo.info_warning_text, 0, 0, 0, 255); + rgba_char_args_test_set(btheme->tinfo.info_info, 0, 170, 0, 255); + rgba_char_args_test_set(btheme->tinfo.info_info_text, 0, 0, 0, 255); + rgba_char_args_test_set(btheme->tinfo.info_debug, 196, 196, 196, 255); + rgba_char_args_test_set(btheme->tinfo.info_debug_text, 0, 0, 0, 255); + } } if (U.versionfile < 270) { diff --git a/source/blender/editors/space_info/info_draw.c b/source/blender/editors/space_info/info_draw.c index a748c303b5d..6647a8ee946 100644 --- a/source/blender/editors/space_info/info_draw.c +++ b/source/blender/editors/space_info/info_draw.c @@ -67,45 +67,36 @@ static void info_report_color(unsigned char *fg, unsigned char *bg, Report *report, const short do_tint) { + int bg_id = TH_BACK, fg_id = TH_TEXT; + int shade = do_tint ? 0 : -6; + if (report->flag & SELECT) { - fg[0] = 255; fg[1] = 255; fg[2] = 255; - if (do_tint) { - bg[0] = 96; bg[1] = 128; bg[2] = 255; - } - else { - bg[0] = 90; bg[1] = 122; bg[2] = 249; - } + bg_id = TH_INFO_SELECTED; + fg_id = TH_INFO_SELECTED_TEXT; + } + else if (report->type & RPT_ERROR_ALL) { + bg_id = TH_INFO_ERROR; + fg_id = TH_INFO_ERROR_TEXT; + } + else if (report->type & RPT_WARNING_ALL) { + bg_id = TH_INFO_WARNING; + fg_id = TH_INFO_WARNING_TEXT; + } + else if (report->type & RPT_INFO_ALL) { + bg_id = TH_INFO_INFO; + fg_id = TH_INFO_INFO_TEXT; + } + else if (report->type & RPT_DEBUG_ALL) { + bg_id = TH_INFO_DEBUG; + fg_id = TH_INFO_DEBUG_TEXT; } else { - fg[0] = 0; fg[1] = 0; fg[2] = 0; - - if (report->type & RPT_ERROR_ALL) { - if (do_tint) { bg[0] = 220; bg[1] = 0; bg[2] = 0; } - else { bg[0] = 214; bg[1] = 0; bg[2] = 0; } - } - else if (report->type & RPT_WARNING_ALL) { - if (do_tint) { bg[0] = 220; bg[1] = 128; bg[2] = 96; } - else { bg[0] = 214; bg[1] = 122; bg[2] = 90; } - } -#if 0 // XXX: this looks like the selected color, so don't use this - else if (report->type & RPT_OPERATOR_ALL) { - if (do_tint) { bg[0] = 96; bg[1] = 128; bg[2] = 255; } - else { bg[0] = 90; bg[1] = 122; bg[2] = 249; } - } -#endif - else if (report->type & RPT_INFO_ALL) { - if (do_tint) { bg[0] = 0; bg[1] = 170; bg[2] = 0; } - else { bg[0] = 0; bg[1] = 164; bg[2] = 0; } - } - else if (report->type & RPT_DEBUG_ALL) { - if (do_tint) { bg[0] = 196; bg[1] = 196; bg[2] = 196; } - else { bg[0] = 190; bg[1] = 190; bg[2] = 190; } - } - else { - if (do_tint) { bg[0] = 120; bg[1] = 120; bg[2] = 120; } - else { bg[0] = 114; bg[1] = 114; bg[2] = 114; } - } + bg_id = TH_BACK; + fg_id = TH_TEXT; } + + UI_GetThemeColorShade3ubv(bg_id, shade, bg); + UI_GetThemeColor3ubv(fg_id, fg); } /* reports! */ @@ -148,7 +139,7 @@ static int report_textview_begin(TextViewContext *tvc) /* iterator */ tvc->iter = reports->list.last; - glClearColor(120.0 / 255.0, 120.0 / 255.0, 120.0 / 255.0, 1.0); + UI_ThemeClearColor(TH_BACK); glClear(GL_COLOR_BUFFER_BIT); #ifdef USE_INFO_NEWLINE |