#
# NEED_PARMS targetzoom stepsize
#
# HELP: SYNOPSIS:
# HELP:     generic/movie/zoom/mult targetzoom stepsize
# HELP:
# HELP: DESCRIPTION:
# HELP:     Zoom in/out with multiplicative steps
#
CECHO ${$root.func.var.new("double","target")}
CECHO ${$root.func.var.new("double","newzoom")}
CECHO ${$root.func.var.new("double","step")}

CECHO ${$newzoom=$root.view[current].zoom}
CECHO ${$target=(double)$argv[1]}
CECHO ${$step=(double)$argv[2]}

if ${$step>1.0} GOTO up
if ${$step<1.0} GOTO down
QUIT

:down
CECHO ${$newzoom*=$step}
if ${$newzoom<$target} GOTO done
ZOOM ${$newzoom}
VIEW_RENDER
GOTO down

:up
CECHO ${$newzoom*=$step}
if ${$newzoom>$target} GOTO done
ZOOM ${$newzoom}
VIEW_RENDER
GOTO up

:done
ZOOM ${$target}
VIEW_RENDER
