[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53868] trunk/blender/source/blender/ editors/interface/interface_widgets.c: draw active+disabled menu-items, helps for keyboard navigation.
Campbell Barton
ideasman42 at gmail.com
Thu Jan 17 02:48:43 CET 2013
Revision: 53868
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53868
Author: campbellbarton
Date: 2013-01-17 01:48:42 +0000 (Thu, 17 Jan 2013)
Log Message:
-----------
draw active+disabled menu-items, helps for keyboard navigation.
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_widgets.c
Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_widgets.c 2013-01-17 01:03:56 UTC (rev 53867)
+++ trunk/blender/source/blender/editors/interface/interface_widgets.c 2013-01-17 01:48:42 UTC (rev 53868)
@@ -1794,11 +1794,19 @@
{
wt->wcol = *(wt->wcol_theme);
- if (state & (UI_BUT_DISABLED | UI_BUT_INACTIVE)) {
- wt->wcol.text[0] = 0.5f * (wt->wcol.text[0] + wt->wcol.text_sel[0]);
- wt->wcol.text[1] = 0.5f * (wt->wcol.text[1] + wt->wcol.text_sel[1]);
- wt->wcol.text[2] = 0.5f * (wt->wcol.text[2] + wt->wcol.text_sel[2]);
+ /* active and disabled (not so common) */
+ if ((state & UI_BUT_DISABLED) && (state & UI_ACTIVE)) {
+ widget_state_blend(wt->wcol.text, wt->wcol.text_sel, 0.5f);
+ /* draw the backdrop at low alpha, helps navigating with keys
+ * when inactive items are active */
+ copy_v4_v4_char(wt->wcol.inner, wt->wcol.inner_sel);
+ wt->wcol.inner[3] = 64;
}
+ /* regular disabled */
+ else if (state & (UI_BUT_DISABLED | UI_BUT_INACTIVE)) {
+ widget_state_blend(wt->wcol.text, wt->wcol.text_sel, 0.5f);
+ }
+ /* regular active */
else if (state & UI_ACTIVE) {
copy_v4_v4_char(wt->wcol.inner, wt->wcol.inner_sel);
copy_v3_v3_char(wt->wcol.text, wt->wcol.text_sel);
@@ -3443,7 +3451,7 @@
uiWidgetType *wt = widget_type(UI_WTYPE_MENU_ITEM);
rcti _rect = *rect;
char *cpoin;
-
+
wt->state(wt, state);
wt->draw(&wt->wcol, rect, 0, 0);
More information about the Bf-blender-cvs
mailing list