[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