[Bf-blender-cvs] [3edff2e1a4d] blender2.8: Manipulator: use 'void *' for callback data args

Campbell Barton noreply at git.blender.org
Mon Jun 26 06:27:05 CEST 2017


Commit: 3edff2e1a4d1f187c956fba2d5b2954981dc62a2
Author: Campbell Barton
Date:   Mon Jun 26 14:31:26 2017 +1000
Branches: blender2.8
https://developer.blender.org/rB3edff2e1a4d1f187c956fba2d5b2954981dc62a2

Manipulator: use 'void *' for callback data args

Non-float properties should be editable too.

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

M	source/blender/editors/mesh/editmesh_bisect.c
M	source/blender/editors/mesh/editmesh_extrude.c
M	source/blender/windowmanager/manipulators/wm_manipulator_fn.h

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

diff --git a/source/blender/editors/mesh/editmesh_bisect.c b/source/blender/editors/mesh/editmesh_bisect.c
index cdfc7c19308..9b6df11d470 100644
--- a/source/blender/editors/mesh/editmesh_bisect.c
+++ b/source/blender/editors/mesh/editmesh_bisect.c
@@ -457,10 +457,11 @@ static void manipulator_mesh_bisect_update_from_op(ManipulatorGroup *man)
 /* depth callbacks */
 static void manipulator_bisect_prop_depth_get(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        float *value)
+        void *value_p)
 {
 	ManipulatorGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
+	float *value = value_p;
 
 	BLI_assert(mpr_prop->type->array_length == 1);
 	UNUSED_VARS_NDEBUG(mpr_prop);
@@ -474,10 +475,11 @@ static void manipulator_bisect_prop_depth_get(
 
 static void manipulator_bisect_prop_depth_set(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        const float *value)
+        const void *value_p)
 {
 	ManipulatorGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
+	const float *value = value_p;
 
 	BLI_assert(mpr_prop->type->array_length == 1);
 	UNUSED_VARS_NDEBUG(mpr_prop);
@@ -500,7 +502,7 @@ static void manipulator_bisect_prop_depth_set(
 /* translate callbacks */
 static void manipulator_bisect_prop_translate_get(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        float *value)
+        void *value_p)
 {
 	ManipulatorGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
@@ -508,12 +510,12 @@ static void manipulator_bisect_prop_translate_get(
 	BLI_assert(mpr_prop->type->array_length == 3);
 	UNUSED_VARS_NDEBUG(mpr_prop);
 
-	RNA_property_float_get_array(op->ptr, man->data.prop_plane_co, value);
+	RNA_property_float_get_array(op->ptr, man->data.prop_plane_co, value_p);
 }
 
 static void manipulator_bisect_prop_translate_set(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        const float *value)
+        const void *value_p)
 {
 	ManipulatorGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
@@ -521,7 +523,7 @@ static void manipulator_bisect_prop_translate_set(
 	BLI_assert(mpr_prop->type->array_length == 3);
 	UNUSED_VARS_NDEBUG(mpr_prop);
 
-	RNA_property_float_set_array(op->ptr, man->data.prop_plane_co, value);
+	RNA_property_float_set_array(op->ptr, man->data.prop_plane_co, value_p);
 
 	manipulator_bisect_exec(man);
 }
@@ -529,10 +531,11 @@ static void manipulator_bisect_prop_translate_set(
 /* angle callbacks */
 static void manipulator_bisect_prop_angle_get(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        float *value)
+        void *value_p)
 {
 	ManipulatorGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
+	float *value = value_p;
 
 	BLI_assert(mpr_prop->type->array_length == 1);
 	UNUSED_VARS_NDEBUG(mpr_prop);
@@ -555,10 +558,11 @@ static void manipulator_bisect_prop_angle_get(
 
 static void manipulator_bisect_prop_angle_set(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        const float *value)
+        const void *value_p)
 {
 	ManipulatorGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
+	const float *value = value_p;
 
 	BLI_assert(mpr_prop->type->array_length == 1);
 	UNUSED_VARS_NDEBUG(mpr_prop);
diff --git a/source/blender/editors/mesh/editmesh_extrude.c b/source/blender/editors/mesh/editmesh_extrude.c
index 8f3911c5928..d5b2a3d3b82 100644
--- a/source/blender/editors/mesh/editmesh_extrude.c
+++ b/source/blender/editors/mesh/editmesh_extrude.c
@@ -891,10 +891,11 @@ static void manipulator_mesh_spin_update_from_op(ManipulatorSpinGroup *man)
 /* depth callbacks */
 static void manipulator_spin_prop_depth_get(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        float *value)
+        void *value_p)
 {
 	ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
+	float *value = value_p;
 
 	BLI_assert(mpr_prop->type->array_length == 1);
 	UNUSED_VARS_NDEBUG(mpr_prop);
@@ -908,10 +909,11 @@ static void manipulator_spin_prop_depth_get(
 
 static void manipulator_spin_prop_depth_set(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        const float *value)
+        const void *value_p)
 {
 	ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
+	const float *value = value_p;
 
 	BLI_assert(mpr_prop->type->array_length == 1);
 	UNUSED_VARS_NDEBUG(mpr_prop);
@@ -934,10 +936,11 @@ static void manipulator_spin_prop_depth_set(
 /* translate callbacks */
 static void manipulator_spin_prop_translate_get(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        float *value)
+        void *value_p)
 {
 	ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
+	float *value = value_p;
 
 	BLI_assert(mpr_prop->type->array_length == 3);
 	UNUSED_VARS_NDEBUG(mpr_prop);
@@ -947,7 +950,7 @@ static void manipulator_spin_prop_translate_get(
 
 static void manipulator_spin_prop_translate_set(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        const float *value)
+        const void *value)
 {
 	ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
@@ -963,10 +966,11 @@ static void manipulator_spin_prop_translate_set(
 /* angle callbacks */
 static void manipulator_spin_prop_axis_angle_get(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        float *value)
+        void *value_p)
 {
 	ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
+	float *value = value_p;
 
 	BLI_assert(mpr_prop->type->array_length == 1);
 	UNUSED_VARS_NDEBUG(mpr_prop);
@@ -989,10 +993,11 @@ static void manipulator_spin_prop_axis_angle_get(
 
 static void manipulator_spin_prop_axis_angle_set(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        const float *value)
+        const void *value_p)
 {
 	ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
+	const float *value = value_p;
 
 	BLI_assert(mpr_prop->type->array_length == 1);
 	UNUSED_VARS_NDEBUG(mpr_prop);
@@ -1023,10 +1028,12 @@ static void manipulator_spin_prop_axis_angle_set(
 /* angle callbacks */
 static void manipulator_spin_prop_angle_get(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        float *value)
+        void *value_p)
 {
 	ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
+	float *value = value_p;
+
 	BLI_assert(mpr_prop->type->array_length == 1);
 	UNUSED_VARS_NDEBUG(mpr_prop);
 	value[0] = RNA_property_float_get(op->ptr, man->data.prop_angle);
@@ -1034,12 +1041,13 @@ static void manipulator_spin_prop_angle_get(
 
 static void manipulator_spin_prop_angle_set(
         const wmManipulator *mpr, wmManipulatorProperty *mpr_prop,
-        const float *value)
+        const void *value_p)
 {
 	ManipulatorSpinGroup *man = mpr->parent_mgroup->customdata;
 	wmOperator *op = man->data.op;
 	BLI_assert(mpr_prop->type->array_length == 1);
 	UNUSED_VARS_NDEBUG(mpr_prop);
+	const float *value = value_p;
 	RNA_property_float_set(op->ptr, man->data.prop_angle, value[0]);
 
 	manipulator_spin_exec(man);
diff --git a/source/blender/windowmanager/manipulators/wm_manipulator_fn.h b/source/blender/windowmanager/manipulators/wm_manipulator_fn.h
index 0f5a57845d1..e61aab20056 100644
--- a/source/blender/windowmanager/manipulators/wm_manipulator_fn.h
+++ b/source/blender/windowmanager/manipulators/wm_manipulator_fn.h
@@ -61,13 +61,16 @@ typedef void    (*wmManipulatorFnSelect)(struct bContext *, struct wmManipulator
 /* wmManipulatorProperty */
 typedef void (*wmManipulatorPropertyFnGet)(
         const struct wmManipulator *, struct wmManipulatorProperty *,
-        float *value);
+        /* typically 'float *' */
+        void *value);
 typedef void (*wmManipulatorPropertyFnSet)(
         const struct wmManipulator *, struct wmManipulatorProperty *,
-        const float *value);
+        /* typically 'const float *' */
+        const void *value);
 typedef void (*wmManipulatorPropertyFnRangeGet)(
         const struct wmManipulator *, struct wmManipulatorProperty *,
-        float range[2]);
+        /* typically 'float[2]' */
+        void *range);
 typedef void (*wmManipulatorPropertyFnFree)(
         const struct wmManipulator *, struct wmManipulatorProperty *);




More information about the Bf-blender-cvs mailing list