diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-11-16 20:37:26 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-11-16 20:37:26 +0300 |
commit | b1b02b7a5ef8d4fca6f257d5057bb5993bcf7182 (patch) | |
tree | c7ccda8680e202086d1e7231c99baf15acc4af1d /source | |
parent | fe2df7849e8c7eb67a347de65421bb38ba337f85 (diff) |
bugfix [#24509] UV/Image Editor: selected elements move not as specified
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_image/space_image.c | 13 | ||||
-rw-r--r-- | source/blender/editors/transform/transform.c | 7 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_constraints.c | 1 |
3 files changed, 16 insertions, 5 deletions
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c index d9772c79914..9d5b5048d75 100644 --- a/source/blender/editors/space_image/space_image.c +++ b/source/blender/editors/space_image/space_image.c @@ -225,9 +225,18 @@ void ED_space_image_uv_aspect(SpaceImage *sima, float *aspx, float *aspy) ED_space_image_aspect(sima, aspx, aspy); ED_space_image_size(sima, &w, &h); + + *aspx *= (float)w; + *aspy *= (float)h; - *aspx *= (float)w/256.0f; - *aspy *= (float)h/256.0f; + if(*aspx < *aspy) { + *aspy= *aspy / *aspx; + *aspx= 1.0f; + } + else { + *aspx= *aspx / *aspy; + *aspy= 1.0f; + } } void ED_image_uv_aspect(Image *ima, float *aspx, float *aspy) diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 78044f0d11a..4bd3ee4a791 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -3426,6 +3426,9 @@ int Translation(TransInfo *t, short UNUSED(mval[2])) if (t->con.mode & CON_APPLY) { float pvec[3] = {0.0f, 0.0f, 0.0f}; float tvec[3]; + if (hasNumInput(&t->num)) { + removeAspectRatio(t, t->values); + } applySnapping(t, t->values); t->con.applyVec(t, NULL, t->values, tvec, pvec); VECCOPY(t->values, tvec); @@ -3435,11 +3438,9 @@ int Translation(TransInfo *t, short UNUSED(mval[2])) applyNDofInput(&t->ndof, t->values); snapGrid(t, t->values); applyNumInput(&t->num, t->values); - if (hasNumInput(&t->num)) - { + if (hasNumInput(&t->num)) { removeAspectRatio(t, t->values); } - applySnapping(t, t->values); headerTranslation(t, t->values, str); } diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c index 5a11ed8428d..f002bf9aeb9 100644 --- a/source/blender/editors/transform/transform_constraints.c +++ b/source/blender/editors/transform/transform_constraints.c @@ -154,6 +154,7 @@ static void postConstraintChecks(TransInfo *t, float vec[3], float pvec[3]) { if (hasNumInput(&t->num)) { applyNumInput(&t->num, vec); + removeAspectRatio(t, vec); constraintNumInput(t, vec); } |