[Bf-blender-cvs] [e07e541] temp-menu_shadow_theme_color: Use menu shadow alpha for node shadow as well

julianeisel noreply at git.blender.org
Fri Jan 9 00:08:23 CET 2015


Commit: e07e541ca5f98483e2546d3b628f118a381f2097
Author: julianeisel
Date:   Fri Jan 9 00:06:31 2015 +0100
Branches: temp-menu_shadow_theme_color
https://developer.blender.org/rBe07e541ca5f98483e2546d3b628f118a381f2097

Use menu shadow alpha for node shadow as well

One value to rule them all!

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

M	source/blender/editors/interface/interface_draw.c
M	source/blender/editors/interface/interface_intern.h
M	source/blender/editors/space_node/drawnode.c
M	source/blender/editors/space_node/node_draw.c
M	source/blender/editors/space_node/node_intern.h

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

diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c
index 33b05fb..db4d666 100644
--- a/source/blender/editors/interface/interface_draw.c
+++ b/source/blender/editors/interface/interface_draw.c
@@ -1736,15 +1736,13 @@ void UI_draw_box_shadow(unsigned char alpha, float minx, float miny, float maxx,
 }
 
 
-void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, float alpha, int UNUSED(select))
+void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, int UNUSED(select))
 {
-
-	unsigned char scolor[3];
+	bTheme *btheme = UI_GetTheme();
 	int i;
 	float rad;
 	float a;
-	float dalpha = alpha * 2.0f / 255.0f, calpha;
-	
+	float dalpha = (btheme->tui.menu_shadow[3] * 4.0f) / 255.0f, calpha;
 	glEnable(GL_BLEND);
 	
 	if (radius > (BLI_rctf_size_y(rct) - 10.0f) / 2.0f)
@@ -1763,12 +1761,9 @@ void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, float alpha
 		a = i * aspect;
 	}
 
-	UI_GetThemeColor3ubv(TH_MENU_SHADOW, scolor);
 	calpha = dalpha;
 	for (; i--; a -= aspect) {
-		/* alpha ranges from 2 to 20 or so, use colors from menu shadow theme */
-		glColor4ub(scolor[0], scolor[1], scolor[2], (calpha * 255.0f));
-		//glColor4ub(255, 0, 0, (calpha * 255.0f));
+		glColor4ub(UNPACK3(btheme->tui.menu_shadow), calpha);
 		calpha += dalpha;
 		
 		UI_draw_roundbox_gl_mode(GL_POLYGON, rct->xmin - a, rct->ymin - a, rct->xmax + a, rct->ymax - 10.0f + a, rad + a);
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index 7a217e5..db5a528 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -591,7 +591,7 @@ extern int ui_handler_panel_region(struct bContext *C, const struct wmEvent *eve
 extern void ui_draw_aligned_panel(struct uiStyle *style, uiBlock *block, const rcti *rect, const bool show_pin);
 
 /* interface_draw.c */
-extern void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, float alpha, int select);
+extern void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, int select);
 
 void ui_draw_gradient(const rcti *rect, const float hsv[3], const int type, const float alpha);
 
diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c
index d03f980..d96964e 100644
--- a/source/blender/editors/space_node/drawnode.c
+++ b/source/blender/editors/space_node/drawnode.c
@@ -418,7 +418,6 @@ static void node_draw_frame(const bContext *C, ARegion *ar, SpaceNode *snode,
 	rctf *rct = &node->totr;
 	int color_id = node_get_colorid(node);
 	unsigned char color[4];
-	float alpha;
 	
 	/* skip if out of view */
 	if (BLI_rctf_isect(&node->totr, &ar->v2d.cur, NULL) == false) {
@@ -428,14 +427,13 @@ static void node_draw_frame(const bContext *C, ARegion *ar, SpaceNode *snode,
 	}
 
 	UI_GetThemeColor4ubv(TH_NODE_FRAME, color);
-	alpha = (float)(color[3]) / 255.0f;
 	
 	/* shadow */
-	node_draw_shadow(snode, node, BASIS_RAD, alpha);
+	node_draw_shadow(snode, node, BASIS_RAD);
 	
 	/* body */
 	if (node->flag & NODE_CUSTOM_COLOR)
-		glColor4f(node->color[0], node->color[1], node->color[2], alpha);
+		glColor4f(node->color[0], node->color[1], node->color[2], (float)(color[3]) / 255.0f);
 	else
 		UI_ThemeColor4(TH_NODE_FRAME);
 	glEnable(GL_BLEND);
diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c
index 127e2d3..67eedd3 100644
--- a/source/blender/editors/space_node/node_draw.c
+++ b/source/blender/editors/space_node/node_draw.c
@@ -72,7 +72,7 @@
 #endif
 
 /* XXX interface.h */
-extern void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, float alpha, int select);
+extern void ui_draw_dropshadow(const rctf *rct, float radius, float aspect, int select);
 
 float ED_node_grid_size(void)
 {
@@ -743,13 +743,13 @@ static void node_toggle_button_cb(struct bContext *C, void *node_argv, void *op_
 	WM_operator_name_call(C, opname, WM_OP_INVOKE_DEFAULT, NULL);
 }
 
-void node_draw_shadow(SpaceNode *snode, bNode *node, float radius, float alpha)
+void node_draw_shadow(SpaceNode *snode, bNode *node, float radius)
 {
 	rctf *rct = &node->totr;
 	
 	UI_draw_roundbox_corner_set(UI_CNR_ALL);
 	if (node->parent == NULL)
-		ui_draw_dropshadow(rct, radius, snode->aspect, alpha, node->flag & SELECT);
+		ui_draw_dropshadow(rct, radius, snode->aspect, node->flag & SELECT);
 	else {
 		const float margin = 3.0f;
 		
@@ -785,7 +785,7 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
 	}
 	
 	/* shadow */
-	node_draw_shadow(snode, node, BASIS_RAD, 1.0f);
+	node_draw_shadow(snode, node, BASIS_RAD);
 	
 	/* header uses color from backdrop, but we make it opaqie */
 	if (color_id == TH_NODE) {
@@ -960,7 +960,7 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b
 	char showname[128]; /* 128 is used below */
 	
 	/* shadow */
-	node_draw_shadow(snode, node, hiddenrad, 1.0f);
+	node_draw_shadow(snode, node, hiddenrad);
 
 	/* body */
 	UI_ThemeColor(color_id);
diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h
index 27c3ab8..29e9973 100644
--- a/source/blender/editors/space_node/node_intern.h
+++ b/source/blender/editors/space_node/node_intern.h
@@ -73,7 +73,7 @@ int node_get_colorid(struct bNode *node);
 void node_socket_circle_draw(const struct bContext *C, struct bNodeTree *ntree, struct bNode *node,
                              struct bNodeSocket *sock, float size, int highlight);
 int node_get_resize_cursor(int directions);
-void node_draw_shadow(struct SpaceNode *snode, struct bNode *node, float radius, float alpha);
+void node_draw_shadow(struct SpaceNode *snode, struct bNode *node, float radius);
 void node_draw_default(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode,
                        struct bNodeTree *ntree, struct bNode *node, bNodeInstanceKey key);
 void node_update_default(const struct bContext *C, struct bNodeTree *ntree, struct bNode *node);




More information about the Bf-blender-cvs mailing list