[Bf-blender-cvs] [73310f2] temp-ui-widget-refactor: Add widget type for search menu back

Julian Eisel noreply at git.blender.org
Mon Aug 3 01:02:42 CEST 2015


Commit: 73310f25fee601508920be000f0a44e721d50dd0
Author: Julian Eisel
Date:   Mon Aug 3 01:02:05 2015 +0200
Branches: temp-ui-widget-refactor
https://developer.blender.org/rB73310f25fee601508920be000f0a44e721d50dd0

Add widget type for search menu back

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

M	source/blender/editors/interface/interface_widgets.c
M	source/blender/editors/interface/widgets/widgets.c
M	source/blender/editors/interface/widgets/widgets.h
M	source/blender/editors/interface/widgets/widgets_draw/drawstyle_classic.c

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

diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index c96ecda..9c4efd0 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -1316,11 +1316,7 @@ void ui_draw_tooltip_background(uiStyle *UNUSED(style), uiBlock *UNUSED(block),
 
 void ui_draw_search_back(uiStyle *UNUSED(style), uiBlock *block, rcti *rect)
 {
-	uiWidgetType *wt = WidgetTypeInit(UI_WTYPE_BOX);
-	
-	glEnable(GL_BLEND);
-	widget_drawbase_softshadow(rect, UI_CNR_ALL, 0.25f * U.widget_unit);
-	glDisable(GL_BLEND);
+	uiWidgetType *wt = WidgetTypeInit(UI_WTYPE_SEARCH_BACK);
 
 	if (block)
 		WidgetDraw(wt, NULL, NULL, rect, block->flag, UI_CNR_ALL, 0, NULL, false);
diff --git a/source/blender/editors/interface/widgets/widgets.c b/source/blender/editors/interface/widgets/widgets.c
index 0cb8cbd..2ac8460 100644
--- a/source/blender/editors/interface/widgets/widgets.c
+++ b/source/blender/editors/interface/widgets/widgets.c
@@ -221,6 +221,11 @@ uiWidgetType *WidgetTypeInit(const uiWidgetTypeEnum type)
 			wt.draw_type = draw_style->scroll_inner;
 			break;
 
+		case UI_WTYPE_SEARCH_BACK:
+			wt.wcol_theme = &btheme->tui.wcol_box;
+			wt.draw_type = draw_style->search_back;
+			break;
+
 		case UI_WTYPE_SEPARATOR:
 			wt.wcol_theme = &btheme->tui.wcol_menu_item;
 			wt.draw_type = draw_style->separator;
diff --git a/source/blender/editors/interface/widgets/widgets.h b/source/blender/editors/interface/widgets/widgets.h
index b4ddcaa..b035426 100644
--- a/source/blender/editors/interface/widgets/widgets.h
+++ b/source/blender/editors/interface/widgets/widgets.h
@@ -71,6 +71,7 @@ typedef enum {
 	UI_WTYPE_MENU_ITEM_PREVIEW,
 	UI_WTYPE_MENU_ITEM_RADIAL,
 	UI_WTYPE_MENU_BACK,
+	UI_WTYPE_SEARCH_BACK,
 
 	/* specials */
 	UI_WTYPE_ICON,
@@ -151,6 +152,7 @@ typedef struct uiWidgetDrawStyle {
 	                 *rgb_picker,
 	                 *scroll_back,
 	                 *scroll_inner,
+	                 *search_back,
 	                 *separator,
 	                 *slider,
 	                 *swatch,
diff --git a/source/blender/editors/interface/widgets/widgets_draw/drawstyle_classic.c b/source/blender/editors/interface/widgets/widgets_draw/drawstyle_classic.c
index 498b70a..46ad848 100644
--- a/source/blender/editors/interface/widgets/widgets_draw/drawstyle_classic.c
+++ b/source/blender/editors/interface/widgets/widgets_draw/drawstyle_classic.c
@@ -859,6 +859,22 @@ static void widget_scroll_inner(uiWidgetColors *wcol, rcti *rect, int state, int
 	}
 }
 
+static void widget_search_back(uiWidgetColors *wcol, rcti *rect, int UNUSED(state), int roundboxalign)
+{
+	uiWidgetDrawBase wtb;
+	const float rad = 0.25f * U.widget_unit;
+
+	widget_drawbase_init(&wtb);
+
+	glEnable(GL_BLEND);
+	widget_drawbase_softshadow(rect, roundboxalign, rad);
+	glDisable(GL_BLEND);
+
+	widget_drawbase_roundboxedges_set(&wtb, roundboxalign, rect, rad);
+
+	widget_drawbase_draw(&wtb, wcol);
+}
+
 /* separator, for menus etc */
 static void widget_separator(uiWidgetColors *wcol, rcti *rect, int UNUSED(state), int UNUSED(roundboxalign))
 {
@@ -1384,7 +1400,7 @@ uiWidgetDrawType drawtype_classic_menu_back = {
 	/* state */  widget_state_nothing,
 	/* draw */   widget_menu_back,
 	/* custom */ NULL,
-	/* text */   widget_draw_text_icon,
+	/* text */   NULL,
 };
 
 uiWidgetDrawType drawtype_classic_menu_icon_radio = {
@@ -1499,6 +1515,13 @@ uiWidgetDrawType drawtype_classic_scroll_inner = {
 	/* text */   NULL,
 };
 
+uiWidgetDrawType drawtype_classic_search_back = {
+	/* state */  widget_state_nothing,
+	/* draw */   widget_search_back,
+	/* custom */ NULL,
+	/* text */   NULL,
+};
+
 uiWidgetDrawType drawtype_classic_separator = {
 	/* state */  widget_state_nothing,
 	/* draw */   widget_separator,
@@ -1577,6 +1600,7 @@ uiWidgetDrawStyle WidgetStyle_Classic = {
 	/* rgb_picker */        NULL, /* not used (yet?) */
 	/* scroll_back */       &drawtype_classic_scroll_back,
 	/* scroll_inner */      &drawtype_classic_scroll_inner,
+	/* search_back */       &drawtype_classic_search_back,
 	/* separator */         &drawtype_classic_separator,
 	/* slider */            &drawtype_classic_numslider,
 	/* swatch */            &drawtype_classic_swatch,




More information about the Bf-blender-cvs mailing list