[Bf-blender-cvs] [5d327eda98d] blender2.8: Manipulator: option to draw all while interacting
Campbell Barton
noreply at git.blender.org
Tue Jul 25 13:49:49 CEST 2017
Commit: 5d327eda98d6b309699ccb35f56f90f85b1d1822
Author: Campbell Barton
Date: Tue Jul 25 22:02:16 2017 +1000
Branches: blender2.8
https://developer.blender.org/rB5d327eda98d6b309699ccb35f56f90f85b1d1822
Manipulator: option to draw all while interacting
===================================================================
M source/blender/makesrna/intern/rna_wm_manipulator.c
M source/blender/windowmanager/manipulators/WM_manipulator_types.h
M source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c
===================================================================
diff --git a/source/blender/makesrna/intern/rna_wm_manipulator.c b/source/blender/makesrna/intern/rna_wm_manipulator.c
index 5acabfb682f..000ec957629 100644
--- a/source/blender/makesrna/intern/rna_wm_manipulator.c
+++ b/source/blender/makesrna/intern/rna_wm_manipulator.c
@@ -1170,6 +1170,8 @@ static void rna_def_manipulatorgroup(BlenderRNA *brna)
"Supports selection"},
{WM_MANIPULATORGROUPTYPE_PERSISTENT, "PERSISTENT", 0, "Persistent",
""},
+ {WM_MANIPULATORGROUPTYPE_ACTIVE_ALL, "ACTIVE_ALL", 0, "Active All",
+ "Show all while interacting"},
{0, NULL, 0, NULL, NULL}
};
prop = RNA_def_property(srna, "bl_options", PROP_ENUM, PROP_NONE);
diff --git a/source/blender/windowmanager/manipulators/WM_manipulator_types.h b/source/blender/windowmanager/manipulators/WM_manipulator_types.h
index e2d8346524f..15bc9b3bd70 100644
--- a/source/blender/windowmanager/manipulators/WM_manipulator_types.h
+++ b/source/blender/windowmanager/manipulators/WM_manipulator_types.h
@@ -349,6 +349,8 @@ enum {
WM_MANIPULATORGROUPTYPE_SELECT = (1 << 3),
/* The manipulator group is to be kept (not removed on loading a new file for eg). */
WM_MANIPULATORGROUPTYPE_PERSISTENT = (1 << 4),
+ /* Show all other manipulators when interacting. */
+ WM_MANIPULATORGROUPTYPE_ACTIVE_ALL = (1 << 5),
};
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c b/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c
index 6ef5e6df946..e0bd6708a5e 100644
--- a/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c
+++ b/source/blender/windowmanager/manipulators/intern/wm_manipulator_map.c
@@ -240,11 +240,13 @@ static void manipulatormap_prepare_drawing(
/* only active manipulator needs updating */
if (active_manipulator) {
- if (manipulator_prepare_drawing(mmap, active_manipulator, C, draw_manipulators)) {
- manipulatormap_tag_updated(mmap);
+ if ((active_manipulator->parent_mgroup->type->flag & WM_MANIPULATORGROUPTYPE_ACTIVE_ALL) == 0) {
+ if (manipulator_prepare_drawing(mmap, active_manipulator, C, draw_manipulators)) {
+ manipulatormap_tag_updated(mmap);
+ }
+ /* don't draw any other manipulators */
+ return;
}
- /* don't draw any other manipulators */
- return;
}
for (wmManipulatorGroup *mgroup = mmap->groups.first; mgroup; mgroup = mgroup->next) {
More information about the Bf-blender-cvs
mailing list