[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