Mercurial > hg > forks > geeqie
changeset 2636:22479efb61d7
Fix #313, #521: zoom increment is not multiplicative
https://github.com/BestImageViewer/geeqie/issues/313
https://github.com/BestImageViewer/geeqie/issues/521
author | Colin Clark <colin.clark@cclark.uk> |
---|---|
date | Tue, 17 Oct 2017 17:43:49 +0100 |
parents | e2b9dff749d3 |
children | 78ab69af0d91 |
files | src/pixbuf-renderer.c |
diffstat | 1 files changed, 20 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/pixbuf-renderer.c Mon Oct 16 10:15:19 2017 +0100 +++ b/src/pixbuf-renderer.c Tue Oct 17 17:43:49 2017 +0100 @@ -1251,24 +1251,38 @@ if (increment < 0.0) { - if (zoom >= 1.0 && zoom + increment < 1.0) + if (zoom >= 1.0) { - zoom = zoom + increment - 2.0; + if (zoom / -(increment - 1.0) < 1.0) + { + zoom = 1.0 / (zoom / (increment - 1.0)); + } + else + { + zoom = zoom / -(increment - 1.0) ; + } } else { - zoom = zoom + increment; + zoom = zoom * -(increment - 1.0); } } else { - if (zoom <= -1.0 && zoom + increment > -1.0) + if (zoom <= -1.0 ) { - zoom = zoom + increment + 2.0; + if (zoom / (increment + 1.0) > -1.0) + { + zoom = -(1.0 / (zoom / (increment + 1.0))); + } + else + { + zoom = zoom / (increment + 1.0) ; + } } else { - zoom = zoom + increment; + zoom = zoom * (increment + 1.0); } }