[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55087] trunk/blender/source/blender/ editors/interface: avoid calling glGetFloatv() twice when UI_RB_ALPHA is enabled with uiRoundBox()

Campbell Barton ideasman42 at gmail.com
Thu Mar 7 07:46:50 CET 2013


Revision: 55087
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55087
Author:   campbellbarton
Date:     2013-03-07 06:46:50 +0000 (Thu, 07 Mar 2013)
Log Message:
-----------
avoid calling glGetFloatv() twice when UI_RB_ALPHA is enabled with uiRoundBox()

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_draw.c
    trunk/blender/source/blender/editors/interface/interface_intern.h
    trunk/blender/source/blender/editors/interface/interface_widgets.c

Modified: trunk/blender/source/blender/editors/interface/interface_draw.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_draw.c	2013-03-07 02:44:55 UTC (rev 55086)
+++ trunk/blender/source/blender/editors/interface/interface_draw.c	2013-03-07 06:46:50 UTC (rev 55087)
@@ -381,16 +381,7 @@
 /* (old, used in outliner) plain antialiased filled box */
 void uiRoundBox(float minx, float miny, float maxx, float maxy, float rad)
 {
-	float color[4];
-	
-	if (roundboxtype & UI_RB_ALPHA) {
-		glGetFloatv(GL_CURRENT_COLOR, color);
-		color[3] = 0.5;
-		glColor4fv(color);
-		glEnable(GL_BLEND);
-	}
-	
-	ui_draw_anti_roundbox(GL_POLYGON, minx, miny, maxx, maxy, rad);
+	ui_draw_anti_roundbox(GL_POLYGON, minx, miny, maxx, maxy, rad, roundboxtype & UI_RB_ALPHA);
 }
 
 

Modified: trunk/blender/source/blender/editors/interface/interface_intern.h
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_intern.h	2013-03-07 02:44:55 UTC (rev 55086)
+++ trunk/blender/source/blender/editors/interface/interface_intern.h	2013-03-07 06:46:50 UTC (rev 55087)
@@ -522,7 +522,7 @@
 
 /* interface_widgets.c */
 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_anti_roundbox(int mode, float minx, float miny, float maxx, float maxy, float rad, bool use_alpha);
 void ui_draw_menu_back(struct uiStyle *style, uiBlock *block, rcti *rect);
 uiWidgetColors *ui_tooltip_get_theme(void);
 void ui_draw_tooltip_background(uiStyle *UNUSED(style), uiBlock * block, rcti * rect);

Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_widgets.c	2013-03-07 02:44:55 UTC (rev 55086)
+++ trunk/blender/source/blender/editors/interface/interface_widgets.c	2013-03-07 06:46:50 UTC (rev 55087)
@@ -218,13 +218,16 @@
 	glDisable(GL_BLEND);
 }
 
-void ui_draw_anti_roundbox(int mode, float minx, float miny, float maxx, float maxy, float rad)
+void ui_draw_anti_roundbox(int mode, float minx, float miny, float maxx, float maxy, float rad, bool use_alpha)
 {
 	float color[4];
 	int j;
 	
 	glEnable(GL_BLEND);
 	glGetFloatv(GL_CURRENT_COLOR, color);
+	if (use_alpha) {
+		color[3] = 0.5f;
+	}
 	color[3] *= 0.125f;
 	glColor4fv(color);
 	




More information about the Bf-blender-cvs mailing list