[Bf-blender-cvs] [0457d74] wiggly-widgets: More minor cleanup

Julian Eisel noreply at git.blender.org
Fri Apr 10 17:09:04 CEST 2015


Commit: 0457d74d86fc0008b6fa11772942828d68ff823f
Author: Julian Eisel
Date:   Thu Apr 9 19:10:42 2015 +0200
Branches: wiggly-widgets
https://developer.blender.org/rB0457d74d86fc0008b6fa11772942828d68ff823f

More minor cleanup

Also tweaked widget colors a bit to make them more appealing ;)

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

M	source/blender/editors/transform/manipulator_widget.c
M	source/blender/windowmanager/WM_api.h
M	source/blender/windowmanager/intern/wm_generic_widgets.c
M	source/blender/windowmanager/intern/wm_widgets.c
M	source/blender/windowmanager/wm.h

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

diff --git a/source/blender/editors/transform/manipulator_widget.c b/source/blender/editors/transform/manipulator_widget.c
index a068653..af26a49 100644
--- a/source/blender/editors/transform/manipulator_widget.c
+++ b/source/blender/editors/transform/manipulator_widget.c
@@ -1711,7 +1711,7 @@ static int manipulator_flags_from_active(const int active)
 	return val;
 }
 
-static void WIDGET_manipulator_draw(wmWidget *UNUSED(widget), const bContext *C)
+static void WIDGET_manipulator_draw(const bContext *C, wmWidget *UNUSED(widget))
 {
 	ScrArea *sa = CTX_wm_area(C);
 	ARegion *ar = CTX_wm_region(C);
@@ -1976,9 +1976,9 @@ static void WIDGETGROUP_manipulator_create(const struct bContext *UNUSED(C), str
 	ManipulatorGroup *manipulator = MEM_callocN(sizeof(ManipulatorGroup), "manipulator_data");
 	wmWidget *widget, *axis;
 
-	float color_green[4] = {0.0f, 1.0f, 0.0f, 1.0f};
-	float color_red[4] = {1.0f, 0.0f, 0.0f, 1.0f};
-	float color_blue[4] = {0.0f, 0.0f, 1.0f, 1.0f};
+	float color_green[4] = {0.25f, 1.0f, 0.25f, 1.0f};
+	float color_red[4] = {1.0f, 0.25f, 0.25f, 1.0f};
+	float color_blue[4] = {0.25f, 0.25f, 1.0f, 1.0f};
 	short i;
 
 	widget = WM_widget_new(WIDGET_manipulator_draw,
@@ -2017,7 +2017,7 @@ static void WIDGETGROUP_manipulator_create(const struct bContext *UNUSED(C), str
 				WIDGET_dial_set_color(axis, color_blue);
 				break;
 		}
-		axis->render_3d_intersection = widget->render_3d_intersection;
+		axis->render_3d_intersection = widget->render_3d_intersection; /* XXX overides arrow/dial intersection */
 	}
 	MAN_ITER_AXES_END
 
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index 5036360..889b046 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -470,9 +470,9 @@ float       WM_event_tablet_data(const struct wmEvent *event, int *pen_flip, flo
 bool        WM_event_is_tablet(const struct wmEvent *event);
 
 /* widget API */
-struct wmWidget *WM_widget_new(void (*draw)(struct wmWidget *, const struct bContext *),
+struct wmWidget *WM_widget_new(void (*draw)(const struct bContext *, struct wmWidget *),
                                void (*render_3d_intersection)(const struct bContext *, struct wmWidget *, int),
-                               int  (*intersect)(struct bContext *C, const struct wmEvent *event, struct wmWidget *customdata),
+                               int  (*intersect)(struct bContext *, const struct wmEvent *, struct wmWidget *),
                                int  (*handler)(struct bContext *, const struct wmEvent *, struct wmWidget *));
 
 void WM_widget_property(struct wmWidget *, int slot, struct PointerRNA *ptr, const char *propname);
diff --git a/source/blender/windowmanager/intern/wm_generic_widgets.c b/source/blender/windowmanager/intern/wm_generic_widgets.c
index 366f88b..7851445 100644
--- a/source/blender/windowmanager/intern/wm_generic_widgets.c
+++ b/source/blender/windowmanager/intern/wm_generic_widgets.c
@@ -248,7 +248,7 @@ static void widget_arrow_render_3d_intersect(const struct bContext *UNUSED(C), s
 	arrow_draw_intern((ArrowWidget *)widget, true, false);
 }
 
-static void widget_arrow_draw(struct wmWidget *widget, const struct bContext *UNUSED(C))
+static void widget_arrow_draw(const struct bContext *UNUSED(C), struct wmWidget *widget)
 {
 	arrow_draw_intern((ArrowWidget *)widget, false, (widget->flag & WM_WIDGET_HIGHLIGHT) != 0);
 }
@@ -544,7 +544,7 @@ static void widget_dial_render_3d_intersect(const struct bContext *C, struct wmW
 	}
 }
 
-static void widget_dial_draw(struct wmWidget *widget, const struct bContext *C)
+static void widget_dial_draw(const struct bContext *C, struct wmWidget *widget)
 {
 	DialWidget *dial = (DialWidget *)widget;
 	ARegion *ar = CTX_wm_region(C);
@@ -718,9 +718,11 @@ static void rect_transform_draw_interaction(int highlighted, float half_w, float
 	glLineWidth(1.0);
 	glColor3f(1.0, 1.0, 1.0);
 	glDrawArrays(GL_LINE_STRIP, 0, 3);
+
+	(void)elems;
 }
 
-static void widget_rect_transform_draw(struct wmWidget *widget, const struct bContext *UNUSED(C))
+static void widget_rect_transform_draw(const struct bContext *UNUSED(C), struct wmWidget *widget)
 {
 	RectTransformWidget *cage = (RectTransformWidget *)widget;
 	rctf r;
@@ -1062,7 +1064,7 @@ typedef struct FacemapWidget {
 } FacemapWidget;
 
 
-static void widget_facemap_draw(struct wmWidget *widget, const struct bContext *C)
+static void widget_facemap_draw(const struct bContext *C, struct wmWidget *widget)
 {
 	FacemapWidget *fmap_widget = (FacemapWidget *)widget;
 	glPushMatrix();
@@ -1074,7 +1076,7 @@ static void widget_facemap_draw(struct wmWidget *widget, const struct bContext *
 static void widget_facemap_render_3d_intersect(const struct bContext *C, struct wmWidget *widget, int selectionbase)
 {
 	GPU_select_load_id(selectionbase);
-	widget_facemap_draw(widget, C);
+	widget_facemap_draw(C, widget);
 }
 
 
diff --git a/source/blender/windowmanager/intern/wm_widgets.c b/source/blender/windowmanager/intern/wm_widgets.c
index 72a5a94b..53bc544 100644
--- a/source/blender/windowmanager/intern/wm_widgets.c
+++ b/source/blender/windowmanager/intern/wm_widgets.c
@@ -157,7 +157,7 @@ struct wmWidgetGroupType *WM_widgetgrouptype_new(
 	return wgrouptype;
 }
 
-wmWidget *WM_widget_new(void (*draw)(struct wmWidget *customdata, const struct bContext *C),
+wmWidget *WM_widget_new(void (*draw)(const struct bContext *C, struct wmWidget *customdata),
                         void (*render_3d_intersection)(const struct bContext *C, struct wmWidget *customdata, int selectionbase),
                         int  (*intersect)(struct bContext *C, const struct wmEvent *event, struct wmWidget *widget),
                         int  (*handler)(struct bContext *C, const struct wmEvent *event, struct wmWidget *widget))
@@ -366,7 +366,7 @@ void WM_widgets_draw(const bContext *C, wmWidgetMap *wmap, bool in_scene)
 	if (widget && in_scene == ((widget->flag & WM_WIDGET_SCENE_DEPTH)!= 0)) {
 		/* notice that we don't update the widgetgroup, widget is now on its own, it should have all
 		 * relevant data to update itself */
-		widget->draw(widget, C);
+		widget->draw(C, widget);
 	}
 	else if (wmap->widgetgroups.first) {
 		wmWidgetGroup *wgroup;
@@ -379,7 +379,7 @@ void WM_widgets_draw(const bContext *C, wmWidgetMap *wmap, bool in_scene)
 					    (!(widget->flag & WM_WIDGET_DRAW_HOVER) || (widget->flag & WM_WIDGET_HIGHLIGHT)) &&
 					    ((widget->flag & WM_WIDGET_SCENE_DEPTH) != 0) == in_scene)
 					{
-						widget->draw(widget, C);
+						widget->draw(C, widget);
 					}
 				}
 			}
diff --git a/source/blender/windowmanager/wm.h b/source/blender/windowmanager/wm.h
index 21a4de3..fc1e56e 100644
--- a/source/blender/windowmanager/wm.h
+++ b/source/blender/windowmanager/wm.h
@@ -56,7 +56,7 @@ typedef struct wmWidget {
 	char idname[64];
 
 	/* draw widget */
-	void (*draw)(struct wmWidget *widget, const struct bContext *C);
+	void (*draw)(const struct bContext *C, struct wmWidget *widget);
 	/* determine if the mouse intersects with the widget. The calculation should be done in the callback itself */
 	int  (*intersect)(struct bContext *C, const struct wmEvent *event, struct wmWidget *widget);




More information about the Bf-blender-cvs mailing list