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. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to