Mouse wheel zooming should center on cursor _even at low zoom levels_
Submitted by Jason Woofenden
Link to original bug (#796252)
Description
Firstly, thank you for the gimp! I've been using it for about 17 years.
I was delighted to see #1 on my wish-list implemented (single window mode). Here's #2 :)
Context: many programs allow you to zoom with the mouse wheel. Perhaps the most widely used is google maps. I think it's also fairly common in art/design/CAD programs.
The key to effective mouse navigation/zooming is that the application centers the zoom on the mouse cursor, such that the mouse stays pointed at the same pixel of the image.
Consistent implementation of this behavior makes it so people can efficiently pan any amount quickly with just one hand on (mouse wheel down, move mouse, mouse wheel up).
Gimp has this correct behavior in when the image is zoomed such that it covers the viewport.
This bug report is about Gimp failing to center the zoom on the mouse at low zoom levels.
To reproduce:
-
Zoom an image out so it is 1/4 the size of your viewport.
-
Position your mouse on the top/left corner of the image.
-
Zoom in with the scroll wheel (shift-wheel if you haven't fixed your mouse wheel bindings yet).
Expected behaviour: the image gets bigger, the mouse is still pointing at the top/left corner.
Actual behaviour: the image gets bigger, but is in the wrong place, the mouse is now pointing significantly in from the top/left corner.
Note that if you repeat step 3 you will quickly reach the point where the part of the image you pointed at leaves the viewport completely.
Here's why I think this is important:
-
When an application doesn't always respond in the same way to user input, it is distracting, which wastes time, and makes it harder to focus/think.
-
This particular bug also makes it very time-consuming to zoom in near the edge of an image, as you have to re-position your mouse to point at the part you want to zoom towards multiple times (sometimes several times, eg if you are zoomed way out ant want to be zoomed in really far right at the edge.)
Version: 2.10.0