swh:1:snp:3a4bc456f1832b81cfa640941c632f6d5535d3a4
Tip revision: cd86b08de1e3b03a04b7def69418a9e9a1b5a441 authored by R. Wayne Oldford on 16 March 2021, 21:40:03 UTC
version 1.3.4
version 1.3.4
Tip revision: cd86b08
l_zoom.R
#' @title Zoom from and towards the center
#'
#' @description This function changes the plot states \code{panX}, \code{panY},
#' \code{zoomX}, and \code{zoomY} to zoom towards or away from the center of
#' the current view.
#'
#' @template param_widget
#' @param factor a zoom factor
#'
#' @export
l_zoom <- function(widget, factor=1.1) {
zoomX <- widget['zoomX']
zoomY <- widget['zoomY']
panX <- widget['panX']
panY <- widget['panY']
deltaX <- widget['deltaX']
deltaY <- widget['deltaY']
fp <- (1/factor-1)/2
new_panX <- panX - deltaX/zoomX * fp
new_panY <- panY - deltaY/zoomY * fp
l_configure(widget, panX=new_panX, panY=new_panY,
zoomX=zoomX*factor, zoomY=zoomY*factor)
}