[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23214] trunk/blender/source/blender/ editors/interface/interface_widgets.c: UI widget adjustments.

William Reynish william at reynish.com
Mon Sep 14 13:42:32 CEST 2009


Revision: 23214
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23214
Author:   billrey
Date:     2009-09-14 13:42:31 +0200 (Mon, 14 Sep 2009)

Log Message:
-----------
UI widget adjustments.

I've been looking at some ways to make some of the widgets appear slightly cleaner and simpler in the UI. Here I've simplified the number field arrow indicator, and the scroll bar zoom widget.

http://www.reynish.com/files/blender25/ui_widgets_arrows.png

Approved by Matt Ebb too ;)

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	2009-09-14 11:25:33 UTC (rev 23213)
+++ trunk/blender/source/blender/editors/interface/interface_widgets.c	2009-09-14 11:42:31 UTC (rev 23214)
@@ -129,17 +129,21 @@
 {0.219306 , -0.238501},  {-0.393286 , -0.110949}, {-0.024699 , 0.013908}, 
 {0.343805 , 0.147431}, {-0.272855 , 0.269918}, {0.095909 , 0.388710}};
 
-static float num_tria_vert[19][2]= {
+static float num_tria_vert[3][2]= { 
+{-0.352077, 0.532607}, {-0.352077, -0.549313}, {0.330000, -0.008353}};
+
+static int num_tria_face[1][3]= {
+{0, 1, 2}};
+
+static float scroll_circle_vert[16][2]= {
 {0.382684, 0.923879}, {0.000001, 1.000000}, {-0.382683, 0.923880}, {-0.707107, 0.707107},
 {-0.923879, 0.382684}, {-1.000000, 0.000000}, {-0.923880, -0.382684}, {-0.707107, -0.707107},
 {-0.382683, -0.923880}, {0.000000, -1.000000}, {0.382684, -0.923880}, {0.707107, -0.707107},
-{0.923880, -0.382684}, {1.000000, -0.000000}, {0.923880, 0.382683}, {0.707107, 0.707107}, 
-{-0.352077, 0.532607}, {-0.352077, -0.549313}, {0.729843, -0.008353}};
+{0.923880, -0.382684}, {1.000000, -0.000000}, {0.923880, 0.382683}, {0.707107, 0.707107}};
 
-static int num_tria_face[19][3]= {
-{13, 14, 18}, {17, 5, 6}, {12, 13, 18}, {17, 6, 7}, {15, 18, 14}, {16, 4, 5}, {16, 5, 17}, {18, 11, 12}, 
-{18, 17, 10}, {18, 10, 11}, {17, 9, 10}, {15, 0, 18}, {18, 0, 16}, {3, 4, 16}, {8, 9, 17}, {8, 17, 7}, 
-{2, 3, 16}, {1, 2, 16}, {16, 0, 1}};
+static int scroll_circle_face[14][3]= {
+{0, 1, 2}, {2, 0, 3}, {3, 0, 15}, {3, 15, 4}, {4, 15, 14}, {4, 14, 5}, {5, 14, 13}, {5, 13, 6}, 
+{6, 13, 12}, {6, 12, 7}, {7, 12, 11}, {7, 11, 8}, {8, 11, 10}, {8, 10, 9}};
 
 static float menu_tria_vert[6][2]= {
 {-0.41, 0.16}, {0.41, 0.16}, {0, 0.82}, 
@@ -451,15 +455,50 @@
 		i2=0; i1= 1;
 	}	
 	
-	for(a=0; a<19; a++) {
+	for(a=0; a<3; a++) {
 		tria->vec[a][0]= sizex*num_tria_vert[a][i1] + centx;
 		tria->vec[a][1]= sizey*num_tria_vert[a][i2] + centy;
 	}
 	
-	tria->tot= 19;
+	tria->tot= 3;
 	tria->index= num_tria_face;
 }
 
+static void widget_scroll_circle(uiWidgetTrias *tria, rcti *rect, float triasize, char where)
+{
+	float centx, centy, sizex, sizey, minsize;
+	int a, i1=0, i2=1;
+	
+	minsize= MIN2(rect->xmax-rect->xmin, rect->ymax-rect->ymin);
+	
+	/* center position and size */
+	centx= (float)rect->xmin + 0.5f*minsize;
+	centy= (float)rect->ymin + 0.5f*minsize;
+	sizex= sizey= -0.5f*triasize*minsize;
+
+	if(where=='r') {
+		centx= (float)rect->xmax - 0.5f*minsize;
+		sizex= -sizex;
+	}	
+	else if(where=='t') {
+		centy= (float)rect->ymax - 0.5f*minsize;
+		sizey= -sizey;
+		i2=0; i1= 1;
+	}	
+	else if(where=='b') {
+		sizex= -sizex;
+		i2=0; i1= 1;
+	}	
+	
+	for(a=0; a<16; a++) {
+		tria->vec[a][0]= sizex*scroll_circle_vert[a][i1] + centx;
+		tria->vec[a][1]= sizey*scroll_circle_vert[a][i2] + centy;
+	}
+	
+	tria->tot= 16;
+	tria->index= scroll_circle_face;
+}
+
 static void widget_trias_draw(uiWidgetTrias *tria)
 {
 	int a;
@@ -1736,12 +1775,12 @@
 			wcol->item[3]= 255;
 			
 			if(horizontal) {
-				widget_num_tria(&wtb.tria1, slider, 0.6f, 'l');
-				widget_num_tria(&wtb.tria2, slider, 0.6f, 'r');
+				widget_scroll_circle(&wtb.tria1, slider, 0.6f, 'l');
+				widget_scroll_circle(&wtb.tria2, slider, 0.6f, 'r');
 			}
 			else {
-				widget_num_tria(&wtb.tria1, slider, 0.6f, 'b');
-				widget_num_tria(&wtb.tria2, slider, 0.6f, 't');
+				widget_scroll_circle(&wtb.tria1, slider, 0.6f, 'b');
+				widget_scroll_circle(&wtb.tria2, slider, 0.6f, 't');
 			}
 		}
 		widgetbase_draw(&wtb, wcol);





More information about the Bf-blender-cvs mailing list