diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-01-21 16:13:41 +0400 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2014-01-21 16:13:41 +0400 |
commit | 19da32abf33b5d8a579cf7c0c171a7fe3d350aa0 (patch) | |
tree | 604d327da7ae85c289807c239190586da93ef324 /source/blender/editors | |
parent | 8742f65513aff23d8a5bddd81741c74ae1e372e7 (diff) |
Fix T38128: snapping to node border uses node centers.
This was caused by recent change to transform locations being changed
to the upper-left corner of nodes (rBa857a6f).
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/transform/transform.h | 5 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 3 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_snap.c | 11 |
3 files changed, 16 insertions, 3 deletions
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index 5df69529b45..5bd1e27980c 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -433,6 +433,11 @@ typedef struct TransInfo { #define MOD_SNAP_INVERT 0x08 #define MOD_CONSTRAINT_PLANE 0x10 +/* use node center for transform instead of upper-left corner. + * disabled since it makes absolute snapping not work so nicely + */ +// #define USE_NODE_CENTER + /* ******************************************************************************** */ diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 1c7ecbc95e7..ce5c76b3452 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -124,9 +124,6 @@ #include "transform.h" #include "bmesh.h" -/* disabled since it makes absolute snapping not work so nicely */ -// #define USE_NODE_CENTER - /** * Transforming around ourselves is no use, fallback to individual origins, * useful for curve/armatures. diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c index 5b90cc93083..f0762e19376 100644 --- a/source/blender/editors/transform/transform_snap.c +++ b/source/blender/editors/transform/transform_snap.c @@ -1051,6 +1051,7 @@ static void TargetSnapOffset(TransInfo *t, TransData *td) float width = BLI_rctf_size_x(&node->totr); float height = BLI_rctf_size_y(&node->totr); +#ifdef USE_NODE_CENTER if (border & NODE_LEFT) t->tsnap.snapTarget[0] -= 0.5f * width; if (border & NODE_RIGHT) @@ -1059,6 +1060,16 @@ static void TargetSnapOffset(TransInfo *t, TransData *td) t->tsnap.snapTarget[1] -= 0.5f * height; if (border & NODE_TOP) t->tsnap.snapTarget[1] += 0.5f * height; +#else + if (border & NODE_LEFT) + t->tsnap.snapTarget[0] -= 0.0f; + if (border & NODE_RIGHT) + t->tsnap.snapTarget[0] += width; + if (border & NODE_BOTTOM) + t->tsnap.snapTarget[1] -= height; + if (border & NODE_TOP) + t->tsnap.snapTarget[1] += 0.0f; +#endif } } |