Function: zoomtool

CALL:

zoomtool zoomtool(1) zoomtool(1,option) zoomtool(N,<property1>,<value1>,<property2>,<value2>,...) zoomtool('set',hax,<property1>,<value1>,<property2>,<value2>) zoomtool(hax,arg1,arg2,...) is equivalent to : zoomtool(arg1,arg2,...'axes',hax)

DESCRIPTION:

Install Modelit zoomtool.

INPUT:

N any
mode of operation, available values:
 1 install zoom utility (default)
 2 zoom in using rbbox
 3 zoom back using history of zoom windows
 3.1 Maximise  X&Y
 3.2 Maximise  X
 3.3 Maximise  Y
 4 clear zoom history
 5 add current zoomwindow to menu
 6 toggle sliders on/off
 7 delete stored zoomwindows
 8 temporaly disable zoom buttond
 9 reinstall zoom buttond
 10 zoom out (in this case axis&factor are supplied with arg2&arg3)
 11 zoom to predefined values
    Example: zoomtool(11,'axes',hax,'xlim',xlim,'ylim',ylim)
 12 execute callback of x slider
 13 execute callback of y slider
 14 set up X movie
 16 force execution of synchronisation callback
 17 pretend current view is result of zoom action (enables undo,
    xsync, ysync, scale, move, etc)
 18 return zoomhandle
 19 change view so that specific hg object fit
 20 center view on selected objects, do not resize

option any
Structure with name/value pairs (or specify name value pairs as
seperate arguments). Specific zoom settings
    opt.axes:
        handle van zoom axes
    opt.parent:
        uses 'axes' or 'window'(default: axes)
                   axes: install buttondown on axes
                   window: install windowbuttondown on figure
    opt.xsync:
        handles of synchronized x-axes
    opt.ysync:
        handles of synchronized y_axes
    opt.patchsync:
        handle of patch object (usually in overview map)
    opt.scale:
        string containing name of function to call after scaling
        coordinates.
                 (will also be added to windowresize function)
                 WARNING: opt.scale installs a resize function on
                 top of current resize function. when axes is
                 deleted this resize function is not disabled
        This function is typically used to recompute xdata and
        ydata values of points that must be plotted a few pixels
        apart from a specific position.
    opt.prescale
        similar to scale but called before syncing the current
        axes with other axes' as specified in xsync and ysync.
        This is typically needed if xlim/ylim are changed, as is
        the case with MapViewer
    opt.move:
        string containing name of function to call after shifting
        coordinates
             ============
             When ZOOMING on axes : first call opt.move, then call opt.scale
             When RESIZE on window: only call opt.scale
             When MOVE on axes    : only call opt.move
             ============
        See also "zoomtool/exitaction"
        Typical signature of call:
            opt.move([],ISSCALE,arg1,arg2,...), where ISSCALE is
            set to true if a call to scale function will follow
            shortlty. if "move" and "scale" do overlapping
            actions it is a good policy to use argument ISSCALE
            for early cancelling of move action.
    opt.shiftclick:
        function that is called after shift+click (windows)
                 example: opt.shiftclick='rbrect_init(1,0,''line'');'
    opt.dblclick:
        function called when doubleclicked in axes
    opt.leftclick:
        "leftclick" mean clicking in a normal way (left mouse
        button) without movement of te mouse.
        specify function (hint: to prevent zooming at left
        mouseclick specify ' ')
    opt.xmovie:
        set to 'on' if Xmovie capability is needed (default: 'off')
    opt.label:
        Label van hoofd menu (default: Zoom)
    opt.visible:
        Label voor zoom 'on' or 'off'
    opt.fa_zoom:
        if 1: keep fixed aspect ratio
    opt.keypress:
        if 1: enable zooming by key press (this will
                 overwite keypress function for current window)
    opt.wheel:
        if 0: disable mousewheel while zooming
                 if 1: enable mousewheel zooming (standard mode)
                 if <1: enable mousewheel zooming (slow)
                 if >1: enable mousewheel zooming (fast)
    opt.interactive:
        if false: disable interaction with the mousewheel, keys and mouse
        if true: enable interaction with the mousewheel, keys and mouse
    opt.xrange:
        zoom range (x-axis)
    opt.yrange:
        zoom range (y-axis)