From: Maurice L. <mj...@br...> - 2012-09-01 02:41:10
|
On Friday, August 31, 2012 at 16:07:06 (-0700) Jerry writes: > I would reverse the sort of implied preference that Alan states here, if I > understand correctly. I would say the primary zoom style would be to redraw > the plot with new (zoomed) axes. If the zooming only enlarges everything in > the window, it will normally cause the axes to disappear off-screen--not > good. Yes, ideally for applications where axes are important, they would be redrawn and overlaid on the new section of space after the zoom. This critique was raised by Geoffrey from the other side of my office even before the existing zoom feature was functional back in 1993. ;) The existing zoom uses the plot buffer to redraw so acts as a simple magnifier. It works reasonably well down to scales where the 2^16 device coordinate resolution becomes an issue. Stuff that you want to be redrawn rather than simply magnified as one zooms could be done as overlays that get triggered after the initial redraw. So axes, rulers, ...? Such support does not exist in plplot today. Would be cool but a fair amount of work. Maybe good to focus on getting simple zoom working for multiple interactive drivers first. > Also, an Undo stack should be kept so that one can back up one zoom > operation at a time (without loosing numerical precision in the event that > an extreme zoom has been reached). And a "home" feature to return to the > originally (un)scaled view. This is probably stating the obvious but I have > seen a surprising number of plotters where one is simply left to get "home" > by manually entering the inverse of accumulated zoom factors or manually > entering the axis limits. See bindings/tk/help_keys.tcl for keystroke zoom support in plframe. Note, I haven't tried any of this lately. :( ... When a plframe widget has the input focus, keyboard input is relayed to its remote TK driver. The default actions of the keyboard handler are as follows: "Q" | <Ctrl-x> Terminate program <Return> or <Page Down> Advance to the next page "m" Toogle top menus "z" enter zoom (Cliking once zooms x 2) "b" back zoom "f" forward zoom "r" reset zoom "P" print "s" save again "5" scroll magnification factor ?? "1" scroll speed ?? <left><right><up><down> scroll after zoom <Alt><key> increase scroll speed -- Maurice LeBrun |