Index: release/scripts/startup/bl_ui/space_userpref.py =================================================================== --- release/scripts/startup/bl_ui/space_userpref.py (revision 44982) +++ release/scripts/startup/bl_ui/space_userpref.py (working copy) @@ -627,6 +627,10 @@ ui = theme.user_interface.wcol_menu_back col.label(text="Menu Back:") ui_items_general(col, ui) + + ui = theme.user_interface.wcol_tooltip + col.label(text="Tooltip:") + ui_items_general(col, ui) ui = theme.user_interface.wcol_menu_item col.label(text="Menu Item:") Index: source/blender/makesdna/DNA_userdef_types.h =================================================================== --- source/blender/makesdna/DNA_userdef_types.h (revision 44982) +++ source/blender/makesdna/DNA_userdef_types.h (working copy) @@ -151,7 +151,7 @@ uiWidgetColors wcol_regular, wcol_tool, wcol_text; uiWidgetColors wcol_radio, wcol_option, wcol_toggle; uiWidgetColors wcol_num, wcol_numslider; - uiWidgetColors wcol_menu, wcol_pulldown, wcol_menu_back, wcol_menu_item; + uiWidgetColors wcol_menu, wcol_pulldown, wcol_menu_back, wcol_menu_item, wcol_tooltip; uiWidgetColors wcol_box, wcol_scroll, wcol_progress, wcol_list_item; uiWidgetStateColors wcol_state; Index: source/blender/makesrna/intern/rna_userdef.c =================================================================== --- source/blender/makesrna/intern/rna_userdef.c (revision 44982) +++ source/blender/makesrna/intern/rna_userdef.c (working copy) @@ -698,6 +698,11 @@ RNA_def_property_flag(prop, PROP_NEVER_NULL); RNA_def_property_ui_text(prop, "Menu Backdrop Colors", ""); RNA_def_property_update(prop, 0, "rna_userdef_update"); + + prop = RNA_def_property(srna, "wcol_tooltip", PROP_POINTER, PROP_NONE); + RNA_def_property_flag(prop, PROP_NEVER_NULL); + RNA_def_property_ui_text(prop, "Tooltip Colors", ""); + RNA_def_property_update(prop, 0, "rna_userdef_update"); prop = RNA_def_property(srna, "wcol_menu_item", PROP_POINTER, PROP_NONE); RNA_def_property_flag(prop, PROP_NEVER_NULL); Index: source/blender/editors/interface/resources.c =================================================================== --- source/blender/editors/interface/resources.c (revision 44982) +++ source/blender/editors/interface/resources.c (working copy) @@ -1739,6 +1739,7 @@ if (bmain->versionfile < 262 || (bmain->versionfile == 262 && bmain->subversionfile < 2)) { bTheme *btheme; for(btheme= U.themes.first; btheme; btheme= btheme->next) { + SETCOL(btheme->tui.wcol_tooltip.inner, 25, 25, 25, 230); if (btheme->tui.wcol_menu_item.item[3] == 255) SETCOL(btheme->tui.wcol_menu_item.item, 172, 172, 172, 128); } Index: source/blender/editors/interface/interface_intern.h =================================================================== --- source/blender/editors/interface/interface_intern.h (revision 44982) +++ source/blender/editors/interface/interface_intern.h (working copy) @@ -68,6 +68,7 @@ UI_WTYPE_NUMBER, UI_WTYPE_SLIDER, UI_WTYPE_EXEC, + UI_WTYPE_TOOLTIP, /* strings */ UI_WTYPE_NAME, @@ -84,6 +85,7 @@ UI_WTYPE_PULLDOWN, UI_WTYPE_MENU_ITEM, UI_WTYPE_MENU_BACK, + /* specials */ UI_WTYPE_ICON, @@ -465,6 +467,7 @@ void ui_draw_anti_tria(float x1, float y1, float x2, float y2, float x3, float y3); void ui_draw_anti_roundbox(int mode, float minx, float miny, float maxx, float maxy, float rad); void ui_draw_menu_back(struct uiStyle *style, uiBlock *block, rcti *rect); +void ui_draw_tooltip(uiStyle *UNUSED(style), uiBlock *block, rcti *rect); void ui_draw_search_back(struct uiStyle *style, uiBlock *block, rcti *rect); int ui_link_bezier_points(rcti *rect, float coord_array[][2], int resol); void ui_draw_link_bezier(rcti *rect); Index: source/blender/editors/interface/interface_regions.c =================================================================== --- source/blender/editors/interface/interface_regions.c (revision 44982) +++ source/blender/editors/interface/interface_regions.c (working copy) @@ -325,7 +325,7 @@ rcti bbox= data->bbox; int a; - ui_draw_menu_back(UI_GetStyle(), NULL, &data->bbox); + ui_draw_tooltip(UI_GetStyle(), NULL, &data->bbox); /* draw text */ uiStyleFontSet(&data->fstyle); Index: source/blender/editors/interface/interface_widgets.c =================================================================== --- source/blender/editors/interface/interface_widgets.c (revision 44982) +++ source/blender/editors/interface/interface_widgets.c (working copy) @@ -1390,6 +1390,19 @@ 25, -20 }; +/* tooltip colour */ +static struct uiWidgetColors wcol_tooltip= { + {0, 0, 0, 255}, + {25, 25, 25, 230}, + {45, 45, 45, 230}, + {100, 100, 100, 255}, + + {160, 160, 160, 255}, + {255, 255, 255, 255}, + + 0, + 25, -20 +}; static struct uiWidgetColors wcol_radio= { {0, 0, 0, 255}, @@ -1524,6 +1537,7 @@ tui->wcol_menu= wcol_menu; tui->wcol_pulldown= wcol_pulldown; tui->wcol_menu_back= wcol_menu_back; + tui->wcol_tooltip = wcol_tooltip; tui->wcol_menu_item= wcol_menu_item; tui->wcol_box= wcol_box; tui->wcol_scroll= wcol_scroll; @@ -2838,6 +2852,11 @@ wt.wcol_theme= &btheme->tui.wcol_tool; wt.draw= widget_roundbut; break; + + case UI_WTYPE_TOOLTIP: + wt.wcol_theme= &btheme->tui.wcol_tooltip; + wt.draw= widget_menu_back; + break; /* strings */ @@ -3207,6 +3226,14 @@ } } +void ui_draw_tooltip(uiStyle *UNUSED(style), uiBlock *block, rcti *rect) +{ + uiWidgetType *wt= widget_type(UI_WTYPE_TOOLTIP); + wt->state(wt, 0); + /*wt->draw ends up using same function to draw the tooltip as menu_back*/ + wt->draw(&wt->wcol, rect, 0, 0); +} + void ui_draw_search_back(uiStyle *UNUSED(style), uiBlock *block, rcti *rect) { uiWidgetType *wt= widget_type(UI_WTYPE_BOX);