[Bf-blender-cvs] [050bc3f] wiggly-widgets: More API reorganization

Antony Riakiotakis noreply at git.blender.org
Wed Oct 15 19:50:43 CEST 2014


Commit: 050bc3f3c4f3885f316c587d248886fffab3247d
Author: Antony Riakiotakis
Date:   Wed Oct 15 19:42:49 2014 +0200
Branches: wiggly-widgets
https://developer.blender.org/rB050bc3f3c4f3885f316c587d248886fffab3247d

More API reorganization

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

M	source/blender/editors/include/UI_interface.h
D	source/blender/editors/interface/3d_widgets/arrow_widget.c
D	source/blender/editors/interface/3d_widgets/dial_widget.c
D	source/blender/editors/interface/3d_widgets/ui_widget_library.h
M	source/blender/editors/interface/CMakeLists.txt
D	source/blender/editors/interface/interface_generic_widgets.c
M	source/blender/editors/object/object_lamp.c
M	source/blender/editors/space_view3d/space_view3d.c
M	source/blender/editors/transform/transform_manipulator.c
A	source/blender/windowmanager/3d_widgets/arrow_widget.c
A	source/blender/windowmanager/3d_widgets/dial_widget.c
A	source/blender/windowmanager/3d_widgets/ui_widget_library.h
M	source/blender/windowmanager/CMakeLists.txt
M	source/blender/windowmanager/WM_api.h
M	source/blender/windowmanager/WM_types.h
A	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/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index 4ca7a1d..0f631d4 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -998,24 +998,4 @@ void UI_butstore_unregister(uiButStore *bs_handle, uiBut **but_p);
 
 int uiFloatPrecisionCalc(int prec, double value);
 
-/* ui_generic_widgets.c */
-
-enum {
-	UI_ARROW_STYLE_NORMAL = 0,
-	UI_ARROW_STYLE_NO_AXIS = 1,
-};
-
-enum {
-	UI_DIAL_STYLE_RING = 0,
-	UI_DIAL_STYLE_RING_CLIPPED = 1,
-};
-
-struct wmWidget *WIDGET_arrow_new(int style, int (*handler)(struct bContext *C, const struct wmEvent *event, struct wmWidget *widget));
-void WIDGET_arrow_set_color(struct wmWidget *widget, float color[4]);
-void WIDGET_arrow_set_direction(struct wmWidget *widget, float direction[3]);
-
-struct wmWidget *WIDGET_dial_new(int style, int (*handler)(struct bContext *C, const struct wmEvent *event, struct wmWidget *widget));
-void WIDGET_dial_set_color(struct wmWidget *widget, float color[4]);
-void WIDGET_dial_set_direction(struct wmWidget *widget, float direction[3]);
-
 #endif  /* __UI_INTERFACE_H__ */
diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt
index 3257f1a..b921d17 100644
--- a/source/blender/editors/interface/CMakeLists.txt
+++ b/source/blender/editors/interface/CMakeLists.txt
@@ -52,16 +52,11 @@ set(SRC
 	interface_templates.c
 	interface_utils.c
 	interface_widgets.c
-	interface_generic_widgets.c
 	resources.c
 	view2d.c
 	view2d_ops.c
 
-	3d_widgets/arrow_widget.c
-	3d_widgets/dial_widget.c
-
 	interface_intern.h
-	3d_widgets/ui_widget_library.h
 )
 
 if(WITH_INTERNATIONAL)
diff --git a/source/blender/editors/object/object_lamp.c b/source/blender/editors/object/object_lamp.c
index 3cfc8fc..56adb87 100644
--- a/source/blender/editors/object/object_lamp.c
+++ b/source/blender/editors/object/object_lamp.c
@@ -191,7 +191,7 @@ void WIDGETGROUP_lamp_update(struct wmWidgetGroup *wgroup, const struct bContext
 	wmWidget *lamp = WM_widgetgroup_widgets(wgroup)->first;
 	float dir[3];
 
-	copy_v3_v3(lamp->origin, ob->obmat[3]);
+	WM_widget_set_origin(lamp, ob->obmat[3]);
 	negate_v3_v3(dir, ob->obmat[2]);
 	WIDGET_arrow_set_direction(lamp, dir);
 }
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index a435293..a896e9f 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -713,35 +713,31 @@ static void view3d_widgets(void)
 	
 	WM_widget_register(wgroup_manipulator, widget);
 
-	manipulator->translate_x = WIDGET_arrow_new(0, WIDGET_manipulator_handler_trans);
+	manipulator->translate_x = WIDGET_arrow_new(0, WIDGET_manipulator_handler_trans, NULL);
 	WIDGET_arrow_set_color(manipulator->translate_x, color_red);
 	WM_widget_register(wgroup_manipulator, manipulator->translate_x);
 
-	manipulator->translate_y = WIDGET_arrow_new(0, WIDGET_manipulator_handler_trans);
-	manipulator->translate_y->customdata = SET_INT_IN_POINTER(1);
+	manipulator->translate_y = WIDGET_arrow_new(0, WIDGET_manipulator_handler_trans, SET_INT_IN_POINTER(1));
 	WIDGET_arrow_set_color(manipulator->translate_y, color_green);
 	WM_widget_register(wgroup_manipulator, manipulator->translate_y);
 
-	manipulator->translate_z = WIDGET_arrow_new(0, WIDGET_manipulator_handler_trans);
-	manipulator->translate_z->customdata = SET_INT_IN_POINTER(2);
+	manipulator->translate_z = WIDGET_arrow_new(0, WIDGET_manipulator_handler_trans, SET_INT_IN_POINTER(2));
 	WIDGET_arrow_set_color(manipulator->translate_z, color_blue);
 	WM_widget_register(wgroup_manipulator, manipulator->translate_z);
 
-	manipulator->rotate_x = WIDGET_dial_new(UI_DIAL_STYLE_RING_CLIPPED, WIDGET_manipulator_handler_rot);
+	manipulator->rotate_x = WIDGET_dial_new(UI_DIAL_STYLE_RING_CLIPPED, WIDGET_manipulator_handler_rot, NULL);
 	WIDGET_dial_set_color(manipulator->rotate_x, color_red);
 	WM_widget_register(wgroup_manipulator, manipulator->rotate_x);
 
-	manipulator->rotate_y = WIDGET_dial_new(UI_DIAL_STYLE_RING_CLIPPED, WIDGET_manipulator_handler_rot);
-	manipulator->rotate_y->customdata = SET_INT_IN_POINTER(1);
+	manipulator->rotate_y = WIDGET_dial_new(UI_DIAL_STYLE_RING_CLIPPED, WIDGET_manipulator_handler_rot, SET_INT_IN_POINTER(1));
 	WIDGET_dial_set_color(manipulator->rotate_y, color_green);
 	WM_widget_register(wgroup_manipulator, manipulator->rotate_y);
 
-	manipulator->rotate_z = WIDGET_dial_new(UI_DIAL_STYLE_RING_CLIPPED, WIDGET_manipulator_handler_rot);
-	manipulator->rotate_z->customdata = SET_INT_IN_POINTER(2);
+	manipulator->rotate_z = WIDGET_dial_new(UI_DIAL_STYLE_RING_CLIPPED, WIDGET_manipulator_handler_rot, SET_INT_IN_POINTER(2));
 	WIDGET_dial_set_color(manipulator->rotate_z, color_blue);
 	WM_widget_register(wgroup_manipulator, manipulator->rotate_z);
 
-	widget = WIDGET_arrow_new(0, WIDGET_lamp_handler);
+	widget = WIDGET_arrow_new(0, WIDGET_lamp_handler, NULL);
 	WM_widget_register(wgroup_light,  widget);
 	WIDGET_arrow_set_color(widget, color_lamp);
 
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c
index d7314ff..d2e437d 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -1705,13 +1705,13 @@ void WIDGETGROUP_manipulator_update(struct wmWidgetGroup *wgroup, const struct b
 	
 	totsel = calc_manipulator_stats(C);
 	if (totsel == 0) {
-		manipulator->translate_x->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->translate_y->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->translate_z->flag |= WM_WIDGET_SKIP_DRAW;
+		WM_widget_set_draw(manipulator->translate_x, false);
+		WM_widget_set_draw(manipulator->translate_y, false);
+		WM_widget_set_draw(manipulator->translate_z, false);
 
-		manipulator->rotate_x->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->rotate_y->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->rotate_z->flag |= WM_WIDGET_SKIP_DRAW;
+		WM_widget_set_draw(manipulator->rotate_x, false);
+		WM_widget_set_draw(manipulator->rotate_y, false);
+		WM_widget_set_draw(manipulator->rotate_z, false);
 		return;
 	}
 	v3d->twflag |= V3D_DRAW_MANIPULATOR;
@@ -1746,13 +1746,13 @@ void WIDGETGROUP_manipulator_update(struct wmWidgetGroup *wgroup, const struct b
 	/* when looking through a selected camera, the manipulator can be at the
 	 * exact same position as the view, skip so we don't break selection */
 	if (fabsf(mat4_to_scale(rv3d->twmat)) < 1e-7f) {
-		manipulator->translate_x->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->translate_y->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->translate_z->flag |= WM_WIDGET_SKIP_DRAW;
+		WM_widget_set_draw(manipulator->translate_x, false);
+		WM_widget_set_draw(manipulator->translate_y, false);
+		WM_widget_set_draw(manipulator->translate_z, false);
 
-		manipulator->rotate_x->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->rotate_y->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->rotate_z->flag |= WM_WIDGET_SKIP_DRAW;
+		WM_widget_set_draw(manipulator->rotate_x, false);
+		WM_widget_set_draw(manipulator->rotate_y, false);
+		WM_widget_set_draw(manipulator->rotate_z, false);
 
 		return;
 	}
@@ -1762,45 +1762,45 @@ void WIDGETGROUP_manipulator_update(struct wmWidgetGroup *wgroup, const struct b
 
 	if (v3d->twtype & V3D_MANIP_TRANSLATE) {
 		/* should be added according to the order of axis */
-		copy_v3_v3(manipulator->translate_x->origin, rv3d->twmat[3]);
+		WM_widget_set_origin(manipulator->translate_x, rv3d->twmat[3]);
 		WIDGET_arrow_set_direction(manipulator->translate_x, rv3d->twmat[0]);
 		
-		copy_v3_v3(manipulator->translate_y->origin, rv3d->twmat[3]);
+		WM_widget_set_origin(manipulator->translate_y, rv3d->twmat[3]);
 		WIDGET_arrow_set_direction(manipulator->translate_y, rv3d->twmat[1]);
 
-		copy_v3_v3(manipulator->translate_z->origin, rv3d->twmat[3]);
+		WM_widget_set_origin(manipulator->translate_z, rv3d->twmat[3]);
 		WIDGET_arrow_set_direction(manipulator->translate_z, rv3d->twmat[2]);
 
-		manipulator->translate_x->flag &= ~WM_WIDGET_SKIP_DRAW;
-		manipulator->translate_y->flag &= ~WM_WIDGET_SKIP_DRAW;
-		manipulator->translate_z->flag &= ~WM_WIDGET_SKIP_DRAW;
+		WM_widget_set_draw(manipulator->translate_x, true);
+		WM_widget_set_draw(manipulator->translate_y, true);
+		WM_widget_set_draw(manipulator->translate_z, true);
 	}
 	else {
-		manipulator->translate_x->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->translate_y->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->translate_z->flag |= WM_WIDGET_SKIP_DRAW;
+		WM_widget_set_draw(manipulator->translate_x, false);
+		WM_widget_set_draw(manipulator->translate_y, false);
+		WM_widget_set_draw(manipulator->translate_z, false);
 	}
 
 	if (v3d->twtype & V3D_MANIP_ROTATE) {
 		/* should be added according to the order of axis */
 
-		copy_v3_v3(manipulator->rotate_x->origin, rv3d->twmat[3]);
+		WM_widget_set_origin(manipulator->rotate_x, rv3d->twmat[3]);
 		WIDGET_dial_set_direction(manipulator->rotate_x, rv3d->twmat[0]);
 
-		copy_v3_v3(manipulator->rotate_y->origin, rv3d->twmat[3]);
+		WM_widget_set_origin(manipulator->rotate_y, rv3d->twmat[3]);
 		WIDGET_dial_set_direction(manipulator->rotate_y, rv3d->twmat[1]);
 
-		copy_v3_v3(manipulator->rotate_z->origin, rv3d->twmat[3]);
+		WM_widget_set_origin(manipulator->rotate_z, rv3d->twmat[3]);
 		WIDGET_dial_set_direction(manipulator->rotate_z, rv3d->twmat[2]);
 
-		manipulator->rotate_x->flag &= ~WM_WIDGET_SKIP_DRAW;
-		manipulator->rotate_y->flag &= ~WM_WIDGET_SKIP_DRAW;
-		manipulator->rotate_z->flag &= ~WM_WIDGET_SKIP_DRAW;
+		WM_widget_set_draw(manipulator->rotate_x, true);
+		WM_widget_set_draw(manipulator->rotate_y, true);
+		WM_widget_set_draw(manipulator->rotate_z, true);
 	}
 	else {
-		manipulator->rotate_x->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->rotate_y->flag |= WM_WIDGET_SKIP_DRAW;
-		manipulator->rotate_z->flag |= WM_WIDGET_SKIP_DRAW;
+		WM_widget_set_draw(manipulator->rotate_x, false);
+		WM_widget_set_draw(manipulator->rotate_y, false);
+		WM_widget_set_draw(manipulator->rotate_z, false);
 	}
 }
 
@@ -1975,7 +1975,7 @@ int WIDGET_manipulator_handl

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list