Hmm, that gives me an idea... how do you feel about the idea of having a more general 'viewport history' or something like that (which would include zoom), orthagonal to the document undo history?
It IS already a vewport history, that is, each list member in desktop->zooms_past stores four numbers that define the visible area _and_ zoom. However new members to this list are added only when you are zooming in or out, not when you are panning canvas at the same zoom. This is logical: you can pan very slowly, and adding a new "undo step" for each one-pixel panning will make this history unusable.
However you gave me an idea: I can store past viewport not only before I do zoom, but also after that; later, when a next zoom is started, I will compare the current viewport with the last stored and, if it's the same, not store it. This way I will be adding one viewport record if there was no panning between zooms and two records if there was panning, these records storing the first and last viewports at this zoom. I think it will be a bit more convenient this way.
_________________________________________________________________ The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail http://join.msn.com/?page=dept/bcomm&pgmarket=en-ca&RU=http%3a%2f%2f...