Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_toolbar.py53
-rw-r--r--source/blender/editors/space_image/image_uv_gizmo_transform_2d.c0
-rw-r--r--source/blender/editors/space_image/space_image.c8
3 files changed, 51 insertions, 10 deletions
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 4cc4779e9c2..7b1275119dd 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -154,7 +154,7 @@ class _defs_view3d_generic:
return dict(
text="Cursor",
description=(
- "Set the 3D cursor location, drag to transform"
+ "Set the cursor location, drag to transform"
),
icon="ops.generic.cursor",
keymap=(
@@ -1188,7 +1188,42 @@ class _defs_weight_paint:
)
-class _defs_uv_select:
+class _defs_image_generic:
+
+ @ToolDef.from_fn
+ def cursor():
+ return dict(
+ text="Cursor",
+ description=(
+ "Set the cursor location, drag to transform"
+ ),
+ icon="ops.generic.cursor",
+ keymap=(
+ ("uv.cursor_set", dict(), dict(type='ACTIONMOUSE', value='PRESS')),
+ ("transform.translate",
+ dict(release_confirm=True, cursor_transform=True),
+ dict(type='EVT_TWEAK_A', value='ANY'),
+ ),
+ ),
+ )
+
+
+class _defs_image_uv_transform:
+
+ @ToolDef.from_fn
+ def transform():
+ return dict(
+ text="Transform",
+ description=(
+ "Supports any combination of grab, rotate & scale at once"
+ ),
+ icon="ops.transform.transform",
+ widget="IMAGE_GGT_gizmo2d",
+ # No keymap default action, only for gizmo!
+ )
+
+
+class _defs_image_uv_select:
@ToolDef.from_fn
def border():
@@ -1697,11 +1732,15 @@ class IMAGE_PT_tools_active(ToolSelectPanelHelper, Panel):
yield from cls._tools.items()
# for reuse
+ _tools_transform = (
+ _defs_image_uv_transform.transform,
+ )
+
_tools_select = (
(
- _defs_uv_select.border,
- _defs_uv_select.circle,
- _defs_uv_select.lasso,
+ _defs_image_uv_select.border,
+ _defs_image_uv_select.circle,
+ _defs_image_uv_select.lasso,
),
)
@@ -1719,7 +1758,11 @@ class IMAGE_PT_tools_active(ToolSelectPanelHelper, Panel):
# for all modes
],
'VIEW': [
+ _defs_image_generic.cursor,
*_tools_select,
+ None,
+ *_tools_transform,
+ None,
*_tools_annotate,
],
'MASK': [
diff --git a/source/blender/editors/space_image/image_uv_gizmo_transform_2d.c b/source/blender/editors/space_image/image_uv_gizmo_transform_2d.c
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/source/blender/editors/space_image/image_uv_gizmo_transform_2d.c
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index 60431adad0e..21b46dd8000 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -576,7 +576,8 @@ static void IMAGE_GGT_gizmo2d(wmGizmoGroupType *gzgt)
gzgt->name = "UV Transform Gizmo";
gzgt->idname = "IMAGE_GGT_gizmo2d";
- gzgt->flag |= WM_GIZMOGROUPTYPE_PERSISTENT;
+ gzgt->gzmap_params.spaceid = SPACE_IMAGE;
+ gzgt->gzmap_params.regionid = RGN_TYPE_WINDOW;
gzgt->poll = ED_widgetgroup_gizmo2d_poll;
gzgt->setup = ED_widgetgroup_gizmo2d_setup;
@@ -586,10 +587,7 @@ static void IMAGE_GGT_gizmo2d(wmGizmoGroupType *gzgt)
static void image_widgets(void)
{
- wmGizmoMapType *gzmap_type = WM_gizmomaptype_ensure(
- &(const struct wmGizmoMapType_Params){SPACE_IMAGE, RGN_TYPE_WINDOW});
-
- WM_gizmogrouptype_append_and_link(gzmap_type, IMAGE_GGT_gizmo2d);
+ WM_gizmogrouptype_append(IMAGE_GGT_gizmo2d);
}
/************************** main region ***************************/