diff options
author | Ton Roosendaal <ton@blender.org> | 2013-02-18 19:14:34 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2013-02-18 19:14:34 +0400 |
commit | bd7648b2d2835143a3af748608bb87219e994d62 (patch) | |
tree | e04458f4b264c87cd8c1c336dc130702b4c9b240 /source/blender/editors/interface/view2d_ops.c | |
parent | 5ba0eb0ae50bedd5026239f10937c1a2db11cf79 (diff) |
Bug fix #34292
CTRL + MMB zoom in 2d editors now depends on 'max zoom' level. This makes
zooms in UI (very limited) go smoother, but for fcurve or timeline it's same.
Diffstat (limited to 'source/blender/editors/interface/view2d_ops.c')
-rw-r--r-- | source/blender/editors/interface/view2d_ops.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/editors/interface/view2d_ops.c b/source/blender/editors/interface/view2d_ops.c index fbbcb650e68..7f1140501b5 100644 --- a/source/blender/editors/interface/view2d_ops.c +++ b/source/blender/editors/interface/view2d_ops.c @@ -1034,14 +1034,17 @@ static int view_zoomdrag_modal(bContext *C, wmOperator *op, wmEvent *event) } else { /* 'continuous' or 'dolly' */ - float fac; + float fac, zoomfac = 0.001f * v2d->maxzoom; + + /* some view2d's (graph) don't have min/max zoom, or extreme ones */ + CLAMP (zoomfac, 0.001f, 0.01f); /* x-axis transform */ - fac = 0.01f * (event->x - vzd->lastx); + fac = zoomfac * (event->x - vzd->lastx); dx = fac * BLI_rctf_size_x(&v2d->cur); /* y-axis transform */ - fac = 0.01f * (event->y - vzd->lasty); + fac = zoomfac * (event->y - vzd->lasty); dy = fac * BLI_rctf_size_y(&v2d->cur); } |