[Bf-blender-cvs] [c3e466a] wiggly-widgets: New, thinner drawing for circle widgets as well

Julian Eisel noreply at git.blender.org
Tue Aug 18 01:04:39 CEST 2015


Commit: c3e466a08257b29d297b7531eb9d2531995dc282
Author: Julian Eisel
Date:   Tue Aug 18 01:03:12 2015 +0200
Branches: wiggly-widgets
https://developer.blender.org/rBc3e466a08257b29d297b7531eb9d2531995dc282

New, thinner drawing for circle widgets as well

Also minor cleanup

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

M	source/blender/windowmanager/intern/wm_generic_widgets.c

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

diff --git a/source/blender/windowmanager/intern/wm_generic_widgets.c b/source/blender/windowmanager/intern/wm_generic_widgets.c
index 8c57fe4..8f3d186 100644
--- a/source/blender/windowmanager/intern/wm_generic_widgets.c
+++ b/source/blender/windowmanager/intern/wm_generic_widgets.c
@@ -76,6 +76,8 @@
 
 /* to use custom arrows exported to arrow_widget.c */
 //#define WIDGET_USE_CUSTOM_ARROWS
+/* to use custom dials exported to arrow_widget.c */
+//#define WIDGET_USE_CUSTOM_DIAS
 
 
 float highlight_col[] = {1.0f, 1.0f, 0.45f, 1.0f};
@@ -93,7 +95,9 @@ typedef struct WidgetDrawInfo {
 #ifdef WIDGET_USE_CUSTOM_ARROWS
 WidgetDrawInfo arraw_head_draw_info = {0};
 #endif
+#ifdef WIDGET_USE_CUSTOM_DIAS
 WidgetDrawInfo dial_draw_info = {0};
+#endif
 
 static void widget_draw_intern(WidgetDrawInfo *info, bool select)
 {
@@ -180,11 +184,7 @@ static void widget_arrow_get_final_pos(struct wmWidget *widget, float pos[3])
 	add_v3_v3(pos, arrow->widget.origin);
 }
 
-#ifdef WIDGET_USE_CUSTOM_ARROWS
 static void arrow_draw_geom(ArrowWidget *arrow, bool select)
-#else
-static void arrow_draw_geom(ArrowWidget *arrow, bool UNUSED(select))
-#endif
 {
 	glEnable(GL_MULTISAMPLE_ARB);
 
@@ -204,22 +204,23 @@ static void arrow_draw_geom(ArrowWidget *arrow, bool UNUSED(select))
 #ifdef WIDGET_USE_CUSTOM_ARROWS
 		widget_draw_intern(&arraw_head_draw_info, select);
 #else
-		GLUquadricObj *qobj;
-		float len = 0.3f;
-		float width = 0.05f;
+		GLUquadricObj *qobj = gluNewQuadric();
+		const float len = 0.3f;
+		const float width = 0.05f;
 
 		glBegin(GL_LINES);
 		glVertex3f(0.0, 0.0, 0.0);
 		glVertex3f(0.0, 0.0, 1.0);
 		glEnd();
 
-		qobj = gluNewQuadric();
 		gluQuadricDrawStyle(qobj, GLU_FILL);
 		glTranslatef(0.0, 0.0, 1.0);
 		gluCylinder(qobj, width, 0.0, len, 8, 1);
 		gluQuadricOrientation(qobj, GLU_INSIDE);
 		gluDisk(qobj, 0.0, width, 8, 1);
 		gluQuadricOrientation(qobj, GLU_OUTSIDE);
+
+		(void)select;
 #endif
 	}
 
@@ -557,7 +558,20 @@ static void dial_draw_intern(DialWidget *dial, bool select, bool highlight, floa
 		glColor4fv(dial->color);
 
 	glEnable(GL_MULTISAMPLE_ARB);
+	{
+#ifdef WIDGET_USE_CUSTOM_DIAS
 	widget_draw_intern(&dial_draw_info, select);
+#else
+	GLUquadricObj *qobj = gluNewQuadric();
+	const float width = 1.0f;
+	const int resol = 32;
+
+	gluQuadricDrawStyle(qobj, GLU_SILHOUETTE);
+	gluDisk(qobj, 0.0, width, resol, 1);
+
+	(void)select;
+#endif
+	}
 	glDisable(GL_MULTISAMPLE_ARB);
 
 	glPopMatrix();
@@ -614,6 +628,7 @@ wmWidget *WIDGET_dial_new(struct wmWidgetGroup *wgroup, const char *name, int st
 	float dir_default[3] = {0.0f, 0.0f, 1.0f};
 	DialWidget *dial;
 
+#ifdef WIDGET_USE_CUSTOM_DIAS
 	if (!dial_draw_info.init) {
 		dial_draw_info.nverts = _WIDGET_nverts_dial,
 		dial_draw_info.ntris = _WIDGET_ntris_dial,
@@ -622,6 +637,7 @@ wmWidget *WIDGET_dial_new(struct wmWidgetGroup *wgroup, const char *name, int st
 		dial_draw_info.indices = _WIDGET_indices_dial,
 		dial_draw_info.init = true;
 	}
+#endif
 
 	dial = MEM_callocN(sizeof(ArrowWidget), name);




More information about the Bf-blender-cvs mailing list