[Bf-blender-cvs] [edd0522e8f6] blender2.8: UI: HUD now follows region theming

Campbell Barton noreply at git.blender.org
Wed Jun 13 09:50:44 CEST 2018


Commit: edd0522e8f6b33a086db8ceba507c8a081d08f73
Author: Campbell Barton
Date:   Wed Jun 13 09:50:02 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBedd0522e8f6b33a086db8ceba507c8a081d08f73

UI: HUD now follows region theming

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

M	source/blender/editors/interface/interface_intern.h
M	source/blender/editors/interface/interface_region_hud.c
M	source/blender/editors/interface/interface_widgets.c

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

diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index 90a7ae954a4..1013f39faba 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -758,7 +758,11 @@ void ui_draw_popover_back(ARegion *ar, struct uiStyle *style, uiBlock *block, rc
 void ui_draw_pie_center(uiBlock *block);
 uiWidgetColors *ui_tooltip_get_theme(void);
 
-void ui_draw_widget_back(uiWidgetTypeEnum type, bool use_shadow, const rcti *rect);
+void ui_draw_widget_back_color(
+        uiWidgetTypeEnum type, bool use_shadow, const rcti *rect,
+        const float color[4]);
+void ui_draw_widget_back(
+        uiWidgetTypeEnum type, bool use_shadow, const rcti *rect);
 void ui_draw_tooltip_background(uiStyle *UNUSED(style), uiBlock *block, rcti *rect);
 
 extern void ui_draw_but(const struct bContext *C, ARegion *ar, struct uiStyle *style, uiBut *but, rcti *rect);
diff --git a/source/blender/editors/interface/interface_region_hud.c b/source/blender/editors/interface/interface_region_hud.c
index 58fca616a22..b4c721bdaac 100644
--- a/source/blender/editors/interface/interface_region_hud.c
+++ b/source/blender/editors/interface/interface_region_hud.c
@@ -174,7 +174,12 @@ static void hud_region_draw(const bContext *C, ARegion *ar)
 	glClear(GL_COLOR_BUFFER_BIT);
 
 	if ((ar->flag & RGN_FLAG_HIDDEN) == 0) {
-		ui_draw_widget_back(UI_WTYPE_BOX, false, &(rcti){.xmax = ar->winx, .ymax = ar->winy});
+		float color[4];
+		UI_GetThemeColor4fv(TH_BUTBACK, color);
+		if ((U.uiflag2 & USER_REGION_OVERLAP) == 0) {
+			color[3] = 1.0f;
+		}
+		ui_draw_widget_back_color(UI_WTYPE_BOX, false, &(rcti){.xmax = ar->winx, .ymax = ar->winy}, color);
 		ED_region_panels_draw(C, ar);
 	}
 }
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index fa099003010..c39e2f8a771 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -4919,7 +4919,9 @@ uiWidgetColors *ui_tooltip_get_theme(void)
 /**
  * Generic drawing for background.
  */
-void ui_draw_widget_back(uiWidgetTypeEnum type, bool use_shadow, const rcti *rect)
+void ui_draw_widget_back_color(
+        uiWidgetTypeEnum type, bool use_shadow, const rcti *rect,
+        const float color[4])
 {
 	uiWidgetType *wt = widget_type(type);
 
@@ -4931,8 +4933,15 @@ void ui_draw_widget_back(uiWidgetTypeEnum type, bool use_shadow, const rcti *rec
 
 	rcti rect_copy = *rect;
 	wt->state(wt, 0);
+	if (color) {
+		rgba_float_to_uchar((unsigned char *)wt->wcol.inner, color);
+	}
 	wt->draw(&wt->wcol, &rect_copy, 0, UI_CNR_ALL);
 }
+void ui_draw_widget_back(uiWidgetTypeEnum type, bool use_shadow, const rcti *rect)
+{
+	ui_draw_widget_back_color(type, use_shadow, rect, NULL);
+}
 
 void ui_draw_tooltip_background(uiStyle *UNUSED(style), uiBlock *UNUSED(block), rcti *rect)
 {



More information about the Bf-blender-cvs mailing list