diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-10-30 09:31:07 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-10-30 10:24:02 +0300 |
commit | e6abc3ad5751a272930841757e588bc25ce0bde7 (patch) | |
tree | 307cfecbbe3604050b65dbd5ff0e4ace345672eb /source/blender/editors/transform/transform.c | |
parent | d2af1401510200bcc5d1841d5ef186e7cb545133 (diff) |
Transform: Support storing virtual cursor location
Grabbing now doesn't 'jump' when shift is released (matching rotation modes).
This simplifies most logic for transform input,
where mouse input callbacks can choose to use the 'virtual' cursor,
which accounts for precision when shift is held.
Diffstat (limited to 'source/blender/editors/transform/transform.c')
-rw-r--r-- | source/blender/editors/transform/transform.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 6d0e8593e79..86d97e9cac1 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -313,7 +313,7 @@ static void convertViewVec2D_mask(View2D *v2d, float r_vec[3], int dx, int dy) r_vec[2] = 0.0f; } -void convertViewVec(TransInfo *t, float r_vec[3], int dx, int dy) +void convertViewVec(TransInfo *t, float r_vec[3], double dx, double dy) { if ((t->spacetype == SPACE_VIEW3D) && (t->ar->regiontype == RGN_TYPE_WINDOW)) { if (t->options & CTX_PAINT_CURVE) { @@ -7605,12 +7605,17 @@ static void applyBakeTime(TransInfo *t, const int mval[2]) float fac = 0.1f; + /* XXX, disable precission for now, + * this isn't even accessible by the user */ +#if 0 if (t->mouse.precision) { /* calculate ratio for shiftkey pos, and for total, and blend these for precision */ time = (float)(t->center2d[0] - t->mouse.precision_mval[0]) * fac; time += 0.1f * ((float)(t->center2d[0] * fac - mval[0]) - time); } - else { + else +#endif + { time = (float)(t->center2d[0] - mval[0]) * fac; } |