On Mon, 2009-05-18 at 18:04 +0200, gg wrote:
> It seems that there is an implicit assumption in the current behaviour 
> that if the image can fit into the display window it absolutely must be 
> centred.

The idea that the pixel under the mouse pointer should stay at the same
position on the screen is very cinematic -- when you zoom in or out,
you should always have such a point on the screen, or people call your
film "Blair Witch" and issue warnings about motion sickness... :)

But it would be a lot clearer that this was happening if we actually
had a cinematic zoom.  Now, some of this is that I work on large images,
but even on smaller ones, an example might be to draw tiles around the
mouse pointer first (this would almost always be better than drawing
them from the top, I suspect), and/or zooming the projection first &
then filling in details.

I suppose an animation of a cross-hair cursor glowing for a moment would
emphasis what was going on and might also help for things like a paste
that happens off-screen (see another thread...) but might be too cutesy
for gimp...

When the whole image fits in the viewport, because it's really tiny,
e.g. under 1,000 pixels on a side, maybe there could be two zoom-out
steps, 100% and 100%-centered?

Similarly, when the image is very large, but you zoomed out to, say,
5%, and it all fits in the window, at the point at which it would all
fit, add a status message, "zoom out once more to centre image" ? And
zooming out that time would not actually zoom out, but centre.

To help people who zoom out to look at the overall picture, then zoom
in, maybe we could borrow a text editor concept of "marks" (some GUI
programs have this as well, e.g. Bryce 3d has keys bound to a number of
different views/zooms/etc) -- press `` to toggle between shrink-fit and
current view, for example.


Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/
Ankh: irc.sorcery.net irc.gnome.org www.advogato.org

Gimp-developer mailing list

Reply via email to