From 18d18b5a986724d43f45bac63a98400741e8e12a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 16 Feb 2022 13:46:00 +1100 Subject: UV: move sticky selection from image space into tool settings Having this setting stored in the image space caused low level selection logic to have to pass around the image space (which could be NULL in some cases). Use the tool-settings instead since there doesn't seem to be much/any advantage in having this setting per-space. --- source/blender/makesdna/DNA_scene_types.h | 10 +++++++++- source/blender/makesdna/DNA_space_types.h | 12 +----------- 2 files changed, 10 insertions(+), 12 deletions(-) (limited to 'source/blender/makesdna') diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index a3e4551a865..0d42abdb363 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -1391,13 +1391,14 @@ typedef struct ToolSettings { char object_flag; /* Selection Mode for Mesh */ - short selectmode; + char selectmode; /* UV Calculation */ char unwrapper; char uvcalc_flag; char uv_flag; char uv_selectmode; + char uv_sticky; float uvcalc_margin; @@ -2300,6 +2301,13 @@ enum { #define UV_SELECT_FACE 4 #define UV_SELECT_ISLAND 8 +/** #ToolSettings.uv_sticky */ +enum { + SI_STICKY_LOC = 0, + SI_STICKY_DISABLE = 1, + SI_STICKY_VERTEX = 2, +}; + /** #ToolSettings.gpencil_flags */ typedef enum eGPencil_Flags { /* When creating new frames, the last frame gets used as the basis for the new one */ diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index ad7f8cc1e40..b1212965992 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -1214,11 +1214,10 @@ typedef struct SpaceImage { /** UV draw type. */ char dt_uv; /** Sticky selection type. */ - char sticky; char dt_uvstretch; char around; - char _pad1[3]; + char _pad1[4]; int flag; @@ -1265,15 +1264,6 @@ typedef enum eSpaceImage_Mode { SI_MODE_UV = 3, } eSpaceImage_Mode; -/* SpaceImage.sticky - * Note DISABLE should be 0, however would also need to re-arrange icon order, - * also, sticky loc is the default mode so this means we don't need to 'do_versions' */ -typedef enum eSpaceImage_Sticky { - SI_STICKY_LOC = 0, - SI_STICKY_DISABLE = 1, - SI_STICKY_VERTEX = 2, -} eSpaceImage_Sticky; - /** #SpaceImage.flag */ typedef enum eSpaceImage_Flag { SI_FLAG_UNUSED_0 = (1 << 0), /* cleared */ -- cgit v1.2.3