[Bf-blender-cvs] [421beeb6e42] custom-manipulators: WM: add box preset and expose colors

Campbell Barton noreply at git.blender.org
Wed Jun 7 14:01:56 CEST 2017


Commit: 421beeb6e42d71e0d5dc95c68f2c3a5a9c590526
Author: Campbell Barton
Date:   Wed Jun 7 21:25:16 2017 +1000
Branches: custom-manipulators
https://developer.blender.org/rB421beeb6e42d71e0d5dc95c68f2c3a5a9c590526

WM: add box preset and expose colors

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

M	build_files/cmake/macros.cmake
M	source/blender/editors/space_view3d/view3d_widgets.c
M	source/blender/editors/transform/transform_manipulator.c
M	source/blender/editors/transform/transform_manipulator2d.c
M	source/blender/makesrna/intern/rna_internal.h
M	source/blender/makesrna/intern/rna_wm.c
M	source/blender/makesrna/intern/rna_wm_api.c
M	source/blender/windowmanager/CMakeLists.txt
M	source/blender/windowmanager/manipulators/WM_manipulator_api.h
A	source/blender/windowmanager/manipulators/intern/manipulator_library/manipulator_library_presets.c
M	source/blender/windowmanager/manipulators/intern/wm_manipulator.c
M	source/blender/windowmanager/manipulators/intern/wm_manipulator_intern.h

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

diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index e327425949c..e984391aa9e 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -611,6 +611,7 @@ function(SETUP_BLENDER_SORTED_LIBS)
 		bf_physics
 		bf_nodes
 		bf_rna
+		bf_windowmanager # FIXME, needed because of bad-level calls.
 		bf_python
 		bf_imbuf
 		bf_blenlib
diff --git a/source/blender/editors/space_view3d/view3d_widgets.c b/source/blender/editors/space_view3d/view3d_widgets.c
index 1fb0f0701cc..076dfc4c1d4 100644
--- a/source/blender/editors/space_view3d/view3d_widgets.c
+++ b/source/blender/editors/space_view3d/view3d_widgets.c
@@ -85,7 +85,8 @@ static void WIDGETGROUP_lamp_init(const bContext *UNUSED(C), wmManipulatorGroup
 	wgroup->customdata = wwrapper;
 
 	MANIPULATOR_arrow_set_range_fac(wwrapper->manipulator, 4.0f);
-	WM_manipulator_set_colors(wwrapper->manipulator, color, color_hi);
+	WM_manipulator_set_color(wwrapper->manipulator, color);
+	WM_manipulator_set_color_highlight(wwrapper->manipulator, color_hi);
 }
 
 static void WIDGETGROUP_lamp_refresh(const bContext *C, wmManipulatorGroup *wgroup)
@@ -166,7 +167,8 @@ static void WIDGETGROUP_camera_init(const bContext *C, wmManipulatorGroup *wgrou
 
 		camgroup->dop_dist = MANIPULATOR_arrow_new(wgroup, "dof_distance", MANIPULATOR_ARROW_STYLE_CROSS);
 		WM_manipulator_set_flag(camgroup->dop_dist, WM_MANIPULATOR_DRAW_HOVER, true);
-		WM_manipulator_set_colors(camgroup->dop_dist, color, color_hi);
+		WM_manipulator_set_color(camgroup->dop_dist, color);
+		WM_manipulator_set_color_highlight(camgroup->dop_dist, color_hi);
 	}
 
 	/* focal length
@@ -178,13 +180,15 @@ static void WIDGETGROUP_camera_init(const bContext *C, wmManipulatorGroup *wgrou
 		camgroup->focallen = MANIPULATOR_arrow_new(
 		                         wgroup, "focal_len",
 		                         (MANIPULATOR_ARROW_STYLE_CONE | MANIPULATOR_ARROW_STYLE_CONSTRAINED));
-		WM_manipulator_set_colors(camgroup->focallen, color, color_hi);
+		WM_manipulator_set_color(camgroup->focallen, color);
+		WM_manipulator_set_color_highlight(camgroup->focallen, color_hi);
 		cameragroup_property_setup(camgroup->focallen, ob, ca, false);
 
 		camgroup->ortho_scale = MANIPULATOR_arrow_new(
 		                            wgroup, "ortho_scale",
 		                            (MANIPULATOR_ARROW_STYLE_CONE | MANIPULATOR_ARROW_STYLE_CONSTRAINED));
-		WM_manipulator_set_colors(camgroup->ortho_scale, color, color_hi);
+		WM_manipulator_set_color(camgroup->ortho_scale, color);
+		WM_manipulator_set_color_highlight(camgroup->ortho_scale, color_hi);
 		cameragroup_property_setup(camgroup->ortho_scale, ob, ca, true);
 	}
 }
@@ -290,7 +294,8 @@ static void WIDGETGROUP_forcefield_init(const bContext *UNUSED(C), wmManipulator
 
 	MANIPULATOR_arrow_set_ui_range(wwrapper->manipulator, -200.0f, 200.0f);
 	MANIPULATOR_arrow_set_range_fac(wwrapper->manipulator, 6.0f);
-	WM_manipulator_set_colors(wwrapper->manipulator, col, col_hi);
+	WM_manipulator_set_color(wwrapper->manipulator, col);
+	WM_manipulator_set_color_highlight(wwrapper->manipulator, col_hi);
 }
 
 static void WIDGETGROUP_forcefield_refresh(const bContext *C, wmManipulatorGroup *wgroup)
@@ -482,7 +487,8 @@ static void WIDGETGROUP_armature_facemaps_refresh(const bContext *C, wmManipulat
 				rgb_uchar_to_float(col, (unsigned char *)bcol->solid);
 				rgb_uchar_to_float(col_hi, (unsigned char *)bcol->active);
 			}
-			WM_manipulator_set_colors(widget, col, col_hi);
+			WM_manipulator_set_color(widget, col);
+			WM_manipulator_set_color_highlight(widget, col_hi);
 			WM_manipulator_set_flag(widget, WM_MANIPULATOR_HIDDEN, false);
 		}
 		else {
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c
index ec2bb0893ee..d1c8c08ec88 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -1314,7 +1314,8 @@ static void WIDGETGROUP_manipulator_draw_prepare(const bContext *C, wmManipulato
 
 		float col[4], col_hi[4];
 		manipulator_get_axis_color(axis_idx, idot, col, col_hi);
-		WM_manipulator_set_colors(axis, col, col_hi);
+		WM_manipulator_set_color(axis, col);
+		WM_manipulator_set_color_highlight(axis, col_hi);
 
 		switch (axis_idx) {
 			case MAN_AXIS_TRANS_C:
diff --git a/source/blender/editors/transform/transform_manipulator2d.c b/source/blender/editors/transform/transform_manipulator2d.c
index 1581ebb7cda..8eb2b356c32 100644
--- a/source/blender/editors/transform/transform_manipulator2d.c
+++ b/source/blender/editors/transform/transform_manipulator2d.c
@@ -198,7 +198,8 @@ void WIDGETGROUP_manipulator2d_init(const bContext *UNUSED(C), wmManipulatorGrou
 		WM_manipulator_set_offset(axis, offset);
 		WM_manipulator_set_line_width(axis, MANIPULATOR_AXIS_LINE_WIDTH);
 		WM_manipulator_set_scale(axis, U.manipulator_scale);
-		WM_manipulator_set_colors(axis, col, col_hi);
+		WM_manipulator_set_color(axis, col);
+		WM_manipulator_set_color_highlight(axis, col_hi);
 
 		/* assign operator */
 		PointerRNA *ptr = WM_manipulator_set_operator(axis, "TRANSFORM_OT_translate");
diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h
index 95f014ee437..18374c09999 100644
--- a/source/blender/makesrna/intern/rna_internal.h
+++ b/source/blender/makesrna/intern/rna_internal.h
@@ -268,6 +268,7 @@ void RNA_api_image(struct StructRNA *srna);
 void RNA_api_lattice(struct StructRNA *srna);
 void RNA_api_operator(struct StructRNA *srna);
 void RNA_api_macro(struct StructRNA *srna);
+void RNA_api_manipulator(struct StructRNA *srna);
 void RNA_api_manipulatorgroup(struct StructRNA *srna);
 void RNA_api_keyconfig(struct StructRNA *srna);
 void RNA_api_keyconfigs(struct StructRNA *srna);
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index 829880cb716..095162fc229 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -566,7 +566,7 @@ static void rna_manipulator_draw_cb(
 	func = &rna_ManipulatorGroup_manipulator_draw_func;
 	RNA_parameter_list_create(&list, &mgroup_ptr, func);
 	RNA_parameter_set_lookup(&list, "context", &C);
-	RNA_parameter_set_lookup(&list, "manipulator", mpr);
+	RNA_parameter_set_lookup(&list, "manipulator", &mpr);
 	mgroup->type->ext.call((bContext *)C, &mgroup_ptr, func, &list);
 	RNA_parameter_list_free(&list);
 }
@@ -584,7 +584,7 @@ static void rna_manipulator_draw_select_cb(
 	func = &rna_ManipulatorGroup_manipulator_draw_select_func;
 	RNA_parameter_list_create(&list, &mgroup_ptr, func);
 	RNA_parameter_set_lookup(&list, "context", &C);
-	RNA_parameter_set_lookup(&list, "manipulator", mpr);
+	RNA_parameter_set_lookup(&list, "manipulator", &mpr);
 	RNA_parameter_set_lookup(&list, "select_id", &select_id);
 	mgroup->type->ext.call((bContext *)C, &mgroup_ptr, func, &list);
 	RNA_parameter_list_free(&list);
@@ -603,7 +603,7 @@ static int rna_manipulator_intersect_cb(
 	func = &rna_ManipulatorGroup_manipulator_intersect_func;
 	RNA_parameter_list_create(&list, &mgroup_ptr, func);
 	RNA_parameter_set_lookup(&list, "context", &C);
-	RNA_parameter_set_lookup(&list, "manipulator", mpr);
+	RNA_parameter_set_lookup(&list, "manipulator", &mpr);
 	RNA_parameter_set_lookup(&list, "event", &event);
 	mgroup->type->ext.call((bContext *)C, &mgroup_ptr, func, &list);
 
@@ -628,7 +628,7 @@ static void rna_manipulator_handler_cb(
 	func = &rna_ManipulatorGroup_manipulator_handler_func;
 	RNA_parameter_list_create(&list, &mgroup_ptr, func);
 	RNA_parameter_set_lookup(&list, "context", &C);
-	RNA_parameter_set_lookup(&list, "manipulator", mpr);
+	RNA_parameter_set_lookup(&list, "manipulator", &mpr);
 	RNA_parameter_set_lookup(&list, "event", &event);
 	RNA_parameter_set_lookup(&list, "tweak", &tweak);
 	mgroup->type->ext.call((bContext *)C, &mgroup_ptr, func, &list);
@@ -648,7 +648,7 @@ static void rna_manipulator_invoke_cb(
 	func = &rna_ManipulatorGroup_manipulator_invoke_func;
 	RNA_parameter_list_create(&list, &mgroup_ptr, func);
 	RNA_parameter_set_lookup(&list, "context", &C);
-	RNA_parameter_set_lookup(&list, "manipulator", mpr);
+	RNA_parameter_set_lookup(&list, "manipulator", &mpr);
 	RNA_parameter_set_lookup(&list, "event", &event);
 	mgroup->type->ext.call((bContext *)C, &mgroup_ptr, func, &list);
 	RNA_parameter_list_free(&list);
@@ -667,7 +667,7 @@ static void rna_manipulator_exit_cb(
 	func = &rna_ManipulatorGroup_manipulator_exit_func;
 	RNA_parameter_list_create(&list, &mgroup_ptr, func);
 	RNA_parameter_set_lookup(&list, "context", &C);
-	RNA_parameter_set_lookup(&list, "manipulator", mpr);
+	RNA_parameter_set_lookup(&list, "manipulator", &mpr);
 	{
 		int cancel_i = cancel;
 		RNA_parameter_set_lookup(&list, "cancel", &cancel_i);
@@ -689,7 +689,7 @@ static void rna_manipulator_select_cb(
 	func = &rna_ManipulatorGroup_manipulator_select_func;
 	RNA_parameter_list_create(&list, &mgroup_ptr, func);
 	RNA_parameter_set_lookup(&list, "context", &C);
-	RNA_parameter_set_lookup(&list, "manipulator", mpr);
+	RNA_parameter_set_lookup(&list, "manipulator", &mpr);
 	RNA_parameter_set_lookup(&list, "action", &action);
 	mgroup->type->ext.call((bContext *)C, &mgroup_ptr, func, &list);
 	RNA_parameter_list_free(&list);
@@ -1876,6 +1876,28 @@ static void operator_cancel(bContext *C, wmManipulatorGroup *op)
 }
 #endif
 
+static void rna_Manipulator_color_get(PointerRNA *ptr, float *values)
+{
+	const wmManipulator *mnp = ptr->data;
+	WM_manipulator_get_color(mnp, values);
+}
+static void rna_Manipulator_color_set(PointerRNA *ptr, const float *values)
+{
+	wmManipulator *mnp = ptr->data;
+	WM_manipulator_set_color(mnp, values);
+}
+
+static void rna_Manipulator_color_hi_get(PointerRNA *ptr, float *values)
+{
+	const wmManipulator *mnp = ptr->data;
+	WM_manipulator_get_color_highlight(mnp, values);
+}
+static void rna_Manipulator_color_hi_set(PointerRNA *ptr, const float *values)
+{
+	wmManipulator *mnp = ptr->data;
+	WM_manipulator_set_color_highlight(mnp, values);
+}
+
 void manipulatorgroup_wrapper(wmManipulatorGroupType *mgrouptype, void *userdata);
 
 static StructRNA *rna_ManipulatorGroup_register

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list