diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-08-03 04:28:26 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-08-03 04:28:26 +0300 |
commit | fc9da7494248faf9ba591d95e470fd5f8efaebc9 (patch) | |
tree | 4d9a5e42167a126302cb37245fb9be14f339ffce /source/blender/editors | |
parent | acde5bb66916c7e48c7cc2e36962f9a5ee81660b (diff) |
Manipulator: use default for cage2d dimensions
Also minor cleanuup, assign new vars for manipulator group.
Diffstat (limited to 'source/blender/editors')
4 files changed, 52 insertions, 50 deletions
diff --git a/source/blender/editors/manipulator_library/manipulator_types/cage2d_manipulator.c b/source/blender/editors/manipulator_library/manipulator_types/cage2d_manipulator.c index d0d0756fd8c..bd45232c56f 100644 --- a/source/blender/editors/manipulator_library/manipulator_types/cage2d_manipulator.c +++ b/source/blender/editors/manipulator_library/manipulator_types/cage2d_manipulator.c @@ -697,9 +697,9 @@ static void MANIPULATOR_WT_cage_2d(wmManipulatorType *wt) {ED_MANIPULATOR_RECT_TRANSFORM_FLAG_SCALE_UNIFORM, "SCALE_UNIFORM", 0, "Scale Uniform", ""}, {0, NULL, 0, NULL, NULL} }; - static float scale_default[2] = {1.0f, 1.0f}; - RNA_def_float_vector(wt->srna, "scale", 2, scale_default, 0, FLT_MAX, "Scale", "", 0.0f, FLT_MAX); - RNA_def_float_vector(wt->srna, "dimensions", 2, NULL, 0, FLT_MAX, "Dimensions", "", 0.0f, FLT_MAX); + static float unit_v2[2] = {1.0f, 1.0f}; + RNA_def_float_vector(wt->srna, "scale", 2, unit_v2, 0, FLT_MAX, "Scale", "", 0.0f, FLT_MAX); + RNA_def_float_vector(wt->srna, "dimensions", 2, unit_v2, 0, FLT_MAX, "Dimensions", "", 0.0f, FLT_MAX); RNA_def_enum_flag(wt->srna, "transform", rna_enum_transform, 0, "Transform Options", ""); WM_manipulatortype_target_property_def(wt, "offset", PROP_FLOAT, 1); diff --git a/source/blender/editors/space_view3d/view3d_manipulator_camera.c b/source/blender/editors/space_view3d/view3d_manipulator_camera.c index 2d60c98e09b..a56e4b50c8b 100644 --- a/source/blender/editors/space_view3d/view3d_manipulator_camera.c +++ b/source/blender/editors/space_view3d/view3d_manipulator_camera.c @@ -104,37 +104,39 @@ static void WIDGETGROUP_camera_setup(const bContext *C, wmManipulatorGroup *mgro /* dof distance */ { + wmManipulator *mpr; const float color[4] = {1.0f, 0.3f, 0.0f, 1.0f}; const float color_hi[4] = {1.0f, 0.3f, 0.0f, 1.0f}; - camgroup->dop_dist = WM_manipulator_new_ptr(wt_arrow, mgroup, NULL); - RNA_enum_set(camgroup->dop_dist->ptr, "draw_style", ED_MANIPULATOR_ARROW_STYLE_CROSS); - WM_manipulator_set_flag(camgroup->dop_dist, WM_MANIPULATOR_DRAW_HOVER, true); - WM_manipulator_set_color(camgroup->dop_dist, color); - WM_manipulator_set_color_highlight(camgroup->dop_dist, color_hi); + mpr = camgroup->dop_dist = WM_manipulator_new_ptr(wt_arrow, mgroup, NULL); + RNA_enum_set(mpr->ptr, "draw_style", ED_MANIPULATOR_ARROW_STYLE_CROSS); + WM_manipulator_set_flag(mpr, WM_MANIPULATOR_DRAW_HOVER, true); + WM_manipulator_set_color(mpr, color); + WM_manipulator_set_color_highlight(mpr, color_hi); } /* focal length * - logic/calculations are similar to BKE_camera_view_frame_ex, better keep in sync */ { + wmManipulator *mpr; const float color[4] = {1.0f, 1.0, 0.27f, 0.5f}; const float color_hi[4] = {1.0f, 1.0, 0.27f, 1.0f}; - camgroup->focal_len = WM_manipulator_new_ptr(wt_arrow, mgroup, NULL); - RNA_enum_set(camgroup->focal_len->ptr, "draw_style", ED_MANIPULATOR_ARROW_STYLE_CONE); - RNA_enum_set(camgroup->focal_len->ptr, "draw_options", ED_MANIPULATOR_ARROW_STYLE_CONSTRAINED); + mpr = camgroup->focal_len = WM_manipulator_new_ptr(wt_arrow, mgroup, NULL); + RNA_enum_set(mpr->ptr, "draw_style", ED_MANIPULATOR_ARROW_STYLE_CONE); + RNA_enum_set(mpr->ptr, "draw_options", ED_MANIPULATOR_ARROW_STYLE_CONSTRAINED); - WM_manipulator_set_color(camgroup->focal_len, color); - WM_manipulator_set_color_highlight(camgroup->focal_len, color_hi); - cameragroup_property_setup(camgroup->focal_len, ob, ca, false); + WM_manipulator_set_color(mpr, color); + WM_manipulator_set_color_highlight(mpr, color_hi); + cameragroup_property_setup(mpr, ob, ca, false); - camgroup->ortho_scale = WM_manipulator_new_ptr(wt_arrow, mgroup, NULL); - RNA_enum_set(camgroup->ortho_scale->ptr, "draw_style", ED_MANIPULATOR_ARROW_STYLE_CONE); - RNA_enum_set(camgroup->ortho_scale->ptr, "draw_options", ED_MANIPULATOR_ARROW_STYLE_CONSTRAINED); + mpr = camgroup->ortho_scale = WM_manipulator_new_ptr(wt_arrow, mgroup, NULL); + RNA_enum_set(mpr->ptr, "draw_style", ED_MANIPULATOR_ARROW_STYLE_CONE); + RNA_enum_set(mpr->ptr, "draw_options", ED_MANIPULATOR_ARROW_STYLE_CONSTRAINED); - 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); + WM_manipulator_set_color(mpr, color); + WM_manipulator_set_color_highlight(mpr, color_hi); + cameragroup_property_setup(mpr, ob, ca, true); } } diff --git a/source/blender/editors/space_view3d/view3d_manipulator_forcefield.c b/source/blender/editors/space_view3d/view3d_manipulator_forcefield.c index b77c7f13b00..e3bfd0ac300 100644 --- a/source/blender/editors/space_view3d/view3d_manipulator_forcefield.c +++ b/source/blender/editors/space_view3d/view3d_manipulator_forcefield.c @@ -67,16 +67,18 @@ static void WIDGETGROUP_forcefield_setup(const bContext *UNUSED(C), wmManipulato mgroup->customdata = wwrapper; wwrapper->manipulator = WM_manipulator_new("MANIPULATOR_WT_arrow_3d", mgroup, NULL); - RNA_enum_set(wwrapper->manipulator->ptr, "draw_options", ED_MANIPULATOR_ARROW_STYLE_CONSTRAINED); - ED_manipulator_arrow3d_set_ui_range(wwrapper->manipulator, -200.0f, 200.0f); - ED_manipulator_arrow3d_set_range_fac(wwrapper->manipulator, 6.0f); - WM_manipulator_set_color(wwrapper->manipulator, col); - WM_manipulator_set_color_highlight(wwrapper->manipulator, col_hi); + wmManipulator *mpr = wwrapper->manipulator; + RNA_enum_set(mpr->ptr, "draw_options", ED_MANIPULATOR_ARROW_STYLE_CONSTRAINED); + ED_manipulator_arrow3d_set_ui_range(mpr, -200.0f, 200.0f); + ED_manipulator_arrow3d_set_range_fac(mpr, 6.0f); + WM_manipulator_set_color(mpr, col); + WM_manipulator_set_color_highlight(mpr, col_hi); } static void WIDGETGROUP_forcefield_refresh(const bContext *C, wmManipulatorGroup *mgroup) { wmManipulatorWrapper *wwrapper = mgroup->customdata; + wmManipulator *mpr = wwrapper->manipulator; Object *ob = CTX_data_active_object(C); PartDeflect *pd = ob->pd; @@ -86,14 +88,14 @@ static void WIDGETGROUP_forcefield_refresh(const bContext *C, wmManipulatorGroup PointerRNA field_ptr; RNA_pointer_create(&ob->id, &RNA_FieldSettings, pd, &field_ptr); - WM_manipulator_set_matrix_location(wwrapper->manipulator, ob->obmat[3]); - WM_manipulator_set_matrix_rotation_from_z_axis(wwrapper->manipulator, ob->obmat[2]); - WM_manipulator_set_matrix_offset_location(wwrapper->manipulator, ofs); - WM_manipulator_set_flag(wwrapper->manipulator, WM_MANIPULATOR_HIDDEN, false); - WM_manipulator_target_property_def_rna(wwrapper->manipulator, "offset", &field_ptr, "strength", -1); + WM_manipulator_set_matrix_location(mpr, ob->obmat[3]); + WM_manipulator_set_matrix_rotation_from_z_axis(mpr, ob->obmat[2]); + WM_manipulator_set_matrix_offset_location(mpr, ofs); + WM_manipulator_set_flag(mpr, WM_MANIPULATOR_HIDDEN, false); + WM_manipulator_target_property_def_rna(mpr, "offset", &field_ptr, "strength", -1); } else { - WM_manipulator_set_flag(wwrapper->manipulator, WM_MANIPULATOR_HIDDEN, true); + WM_manipulator_set_flag(mpr, WM_MANIPULATOR_HIDDEN, true); } } diff --git a/source/blender/editors/space_view3d/view3d_manipulator_lamp.c b/source/blender/editors/space_view3d/view3d_manipulator_lamp.c index 05944fb3686..7a8b77824ff 100644 --- a/source/blender/editors/space_view3d/view3d_manipulator_lamp.c +++ b/source/blender/editors/space_view3d/view3d_manipulator_lamp.c @@ -71,32 +71,34 @@ static void WIDGETGROUP_lamp_spot_setup(const bContext *UNUSED(C), wmManipulator wmManipulatorWrapper *wwrapper = MEM_mallocN(sizeof(wmManipulatorWrapper), __func__); wwrapper->manipulator = WM_manipulator_new("MANIPULATOR_WT_arrow_3d", mgroup, NULL); - RNA_enum_set(wwrapper->manipulator->ptr, "draw_options", ED_MANIPULATOR_ARROW_STYLE_INVERTED); + wmManipulator *mpr = wwrapper->manipulator; + RNA_enum_set(mpr->ptr, "draw_options", ED_MANIPULATOR_ARROW_STYLE_INVERTED); mgroup->customdata = wwrapper; - ED_manipulator_arrow3d_set_range_fac(wwrapper->manipulator, 4.0f); - WM_manipulator_set_color(wwrapper->manipulator, color); - WM_manipulator_set_color_highlight(wwrapper->manipulator, color_hi); + ED_manipulator_arrow3d_set_range_fac(mpr, 4.0f); + WM_manipulator_set_color(mpr, color); + WM_manipulator_set_color_highlight(mpr, color_hi); } static void WIDGETGROUP_lamp_spot_refresh(const bContext *C, wmManipulatorGroup *mgroup) { wmManipulatorWrapper *wwrapper = mgroup->customdata; + wmManipulator *mpr = wwrapper->manipulator; Object *ob = CTX_data_active_object(C); Lamp *la = ob->data; float dir[3]; negate_v3_v3(dir, ob->obmat[2]); - WM_manipulator_set_matrix_rotation_from_z_axis(wwrapper->manipulator, dir); - WM_manipulator_set_matrix_location(wwrapper->manipulator, ob->obmat[3]); + WM_manipulator_set_matrix_rotation_from_z_axis(mpr, dir); + WM_manipulator_set_matrix_location(mpr, ob->obmat[3]); /* need to set property here for undo. TODO would prefer to do this in _init */ PointerRNA lamp_ptr; const char *propname = "spot_size"; RNA_pointer_create(&la->id, &RNA_Lamp, la, &lamp_ptr); - WM_manipulator_target_property_def_rna(wwrapper->manipulator, "offset", &lamp_ptr, propname, -1); + WM_manipulator_target_property_def_rna(mpr, "offset", &lamp_ptr, propname, -1); } void VIEW3D_WGT_lamp_spot(wmManipulatorGroupType *wgt) @@ -129,7 +131,6 @@ static void manipulator_area_lamp_prop_size_get( { float *value = value_p; BLI_assert(mpr_prop->type->array_length == 2); - UNUSED_VARS_NDEBUG(mpr_prop); Lamp *la = mpr_prop->custom_func.user_data; value[0] = la->area_size; @@ -143,7 +144,6 @@ static void manipulator_area_lamp_prop_size_set( const float *value = value_p; BLI_assert(mpr_prop->type->array_length == 2); - UNUSED_VARS_NDEBUG(mpr_prop); Lamp *la = mpr_prop->custom_func.user_data; if (la->area_shape == LA_AREA_RECT) { la->area_size = value[0]; @@ -181,17 +181,14 @@ static void WIDGETGROUP_lamp_area_setup(const bContext *UNUSED(C), wmManipulator wmManipulatorWrapper *wwrapper = MEM_mallocN(sizeof(wmManipulatorWrapper), __func__); wwrapper->manipulator = WM_manipulator_new("MANIPULATOR_WT_cage_2d", mgroup, NULL); - - RNA_enum_set(wwrapper->manipulator->ptr, "transform", + wmManipulator *mpr = wwrapper->manipulator; + RNA_enum_set(mpr->ptr, "transform", ED_MANIPULATOR_RECT_TRANSFORM_FLAG_SCALE); - const float dims[4] = {1.0f, 1.0f}; - RNA_float_set_array(wwrapper->manipulator->ptr, "dimensions", dims); - mgroup->customdata = wwrapper; - WM_manipulator_set_color(wwrapper->manipulator, color); - WM_manipulator_set_color_highlight(wwrapper->manipulator, color_hi); + WM_manipulator_set_color(mpr, color); + WM_manipulator_set_color_highlight(mpr, color_hi); } static void WIDGETGROUP_lamp_area_refresh(const bContext *C, wmManipulatorGroup *mgroup) @@ -199,16 +196,17 @@ static void WIDGETGROUP_lamp_area_refresh(const bContext *C, wmManipulatorGroup wmManipulatorWrapper *wwrapper = mgroup->customdata; Object *ob = CTX_data_active_object(C); Lamp *la = ob->data; + wmManipulator *mpr = wwrapper->manipulator; - copy_m4_m4(wwrapper->manipulator->matrix_basis, ob->obmat); + copy_m4_m4(mpr->matrix_basis, ob->obmat); - RNA_enum_set(wwrapper->manipulator->ptr, "transform", + RNA_enum_set(mpr->ptr, "transform", ED_MANIPULATOR_RECT_TRANSFORM_FLAG_SCALE | ((la->area_shape == LA_AREA_SQUARE) ? ED_MANIPULATOR_RECT_TRANSFORM_FLAG_SCALE_UNIFORM : 0)); /* need to set property here for undo. TODO would prefer to do this in _init */ WM_manipulator_target_property_def_func( - wwrapper->manipulator, "scale", + mpr, "scale", &(const struct wmManipulatorPropertyFnParams) { .value_get_fn = manipulator_area_lamp_prop_size_get, .value_set_fn = manipulator_area_lamp_prop_size_set, |