[Bf-blender-cvs] [781dc08] custom-manipulators: Some fixes for manipulator tweaking after recent changes
Julian Eisel
noreply at git.blender.org
Thu Sep 29 18:51:40 CEST 2016
Commit: 781dc08f0933d2f9291b9a1185508e29374c11e3
Author: Julian Eisel
Date: Thu Sep 29 18:40:24 2016 +0200
Branches: custom-manipulators
https://developer.blender.org/rB781dc08f0933d2f9291b9a1185508e29374c11e3
Some fixes for manipulator tweaking after recent changes
===================================================================
M source/blender/editors/space_image/space_image.c
M source/blender/editors/space_node/space_node.c
M source/blender/editors/space_view3d/space_view3d.c
M source/blender/editors/space_view3d/view3d_widgets.c
M source/blender/editors/transform/transform_manipulator.c
M source/blender/windowmanager/manipulators/WM_manipulator_types.h
M source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h
===================================================================
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index 05ef596..5d11afa 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -674,8 +674,10 @@ static void image_main_region_init(wmWindowManager *wm, ARegion *ar)
// UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_STANDARD, ar->winx, ar->winy);
/* manipulators */
- ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
- "Image_UV", SPACE_IMAGE, RGN_TYPE_WINDOW, 0});
+ if (!ar->manipulator_map) {
+ ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
+ "Image_UV", SPACE_IMAGE, RGN_TYPE_WINDOW});
+ }
WM_manipulatormaps_add_handlers(ar, ar->manipulator_map);
/* mask polls mode */
diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c
index c73465c..754e509 100644
--- a/source/blender/editors/space_node/space_node.c
+++ b/source/blender/editors/space_node/space_node.c
@@ -649,8 +649,10 @@ static void node_main_region_init(wmWindowManager *wm, ARegion *ar)
UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_CUSTOM, ar->winx, ar->winy);
/* manipulators stay in the background for now - quick patchjob to make sure nodes themselves work */
- ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
- "Node_Canvas", SPACE_NODE, RGN_TYPE_WINDOW});
+ if (!ar->manipulator_map) {
+ ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
+ "Node_Canvas", SPACE_NODE, RGN_TYPE_WINDOW});
+ }
WM_manipulatormaps_add_handlers(ar, ar->manipulator_map);
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index e0036cc..73a4093 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -500,8 +500,10 @@ static void view3d_main_region_init(wmWindowManager *wm, ARegion *ar)
ListBase *lb;
wmKeyMap *keymap;
- ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
- "View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW});
+ if (!ar->manipulator_map) {
+ ar->manipulator_map = WM_manipulatormap_new_from_type(&(const struct wmManipulatorMapType_Params) {
+ "View3D", SPACE_VIEW3D, RGN_TYPE_WINDOW});
+ }
WM_manipulatormaps_add_handlers(ar, ar->manipulator_map);
diff --git a/source/blender/editors/space_view3d/view3d_widgets.c b/source/blender/editors/space_view3d/view3d_widgets.c
index 0159b8e..b2c1883 100644
--- a/source/blender/editors/space_view3d/view3d_widgets.c
+++ b/source/blender/editors/space_view3d/view3d_widgets.c
@@ -113,6 +113,8 @@ void VIEW3D_WGT_lamp(wmManipulatorGroupType *wgt)
wgt->poll = WIDGETGROUP_lamp_poll;
wgt->init = WIDGETGROUP_lamp_init;
wgt->refresh = WIDGETGROUP_lamp_refresh;
+
+ wgt->flag |= WM_MANIPULATORGROUPTYPE_3D;
}
static bool WIDGETGROUP_camera_poll(const bContext *C, wmManipulatorGroupType *UNUSED(wgrouptype))
@@ -266,6 +268,8 @@ void VIEW3D_WGT_camera(wmManipulatorGroupType *wgt)
wgt->poll = WIDGETGROUP_camera_poll;
wgt->init = WIDGETGROUP_camera_init;
wgt->refresh = WIDGETGROUP_camera_refresh;
+
+ wgt->flag |= WM_MANIPULATORGROUPTYPE_3D;
}
static bool WIDGETGROUP_forcefield_poll(const bContext *C, wmManipulatorGroupType *UNUSED(wgrouptype))
@@ -323,6 +327,8 @@ void VIEW3D_WGT_force_field(wmManipulatorGroupType *wgt)
wgt->poll = WIDGETGROUP_forcefield_poll;
wgt->init = WIDGETGROUP_forcefield_init;
wgt->refresh = WIDGETGROUP_forcefield_refresh;
+
+ wgt->flag |= WM_MANIPULATORGROUPTYPE_3D;
}
/* draw facemaps depending on the selected bone in pose mode */
@@ -566,4 +572,6 @@ void VIEW3D_WGT_armature_facemaps(wmManipulatorGroupType *wgt)
wgt->refresh = WIDGETGROUP_armature_facemaps_refresh;
wgt->keymap_init = WM_manipulatorgroup_keymap_common_sel;
+
+ wgt->flag |= WM_MANIPULATORGROUPTYPE_3D;
}
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c
index 5b7e302..c3b4ed6 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -1396,6 +1396,8 @@ void TRANSFORM_WGT_manipulator(wmManipulatorGroupType *wgt)
wgt->init = WIDGETGROUP_manipulator_init;
wgt->refresh = WIDGETGROUP_manipulator_refresh;
wgt->draw_prepare = WIDGETGROUP_manipulator_draw_prepare;
+
+ wgt->flag |= WM_MANIPULATORGROUPTYPE_3D;
}
@@ -1434,4 +1436,6 @@ void TRANSFORM_WGT_object(wmManipulatorGroupType *wgt)
wgt->init = WIDGETGROUP_object_manipulator_init;
wgt->refresh = WIDGETGROUP_manipulator_refresh;
wgt->draw_prepare = WIDGETGROUP_manipulator_draw_prepare;
+
+ wgt->flag |= WM_MANIPULATORGROUPTYPE_3D;
}
diff --git a/source/blender/windowmanager/manipulators/WM_manipulator_types.h b/source/blender/windowmanager/manipulators/WM_manipulator_types.h
index 2a3be7d..1c2b3ba 100644
--- a/source/blender/windowmanager/manipulators/WM_manipulator_types.h
+++ b/source/blender/windowmanager/manipulators/WM_manipulator_types.h
@@ -88,6 +88,9 @@ typedef struct wmManipulatorGroupType {
char mapidname[64];
} wmManipulatorGroupType;
+/* XXX other flags are in wm_manipulator_wmapi.h */
+#define WM_MANIPULATORGROUPTYPE_3D (1 << 0)
+
struct wmManipulatorMapType_Params {
const char *idname;
const int spaceid;
diff --git a/source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h b/source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h
index 7e244d4..c617038 100644
--- a/source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h
+++ b/source/blender/windowmanager/manipulators/wm_manipulator_wmapi.h
@@ -64,7 +64,7 @@ void wm_manipulatorgroup_attach_to_modal_handler(
/* wmManipulatorGroupType->flag */
enum {
- WM_MANIPULATORGROUPTYPE_3D = (1 << 0),
+// WM_MANIPULATORGROUPTYPE_3D = (1 << 0),
/* manipulator group is attached to operator, and is only accessible as long as this runs */
WM_MANIPULATORGROUPTYPE_OP = (1 << 1),
/* TODO mixed group and group-type flags, should be separate enums */
More information about the Bf-blender-cvs
mailing list