R/s3-ggplot2-CoordMap.R

Defines functions .cstr_construct.CoordMap.coord_map .cstr_construct.CoordMap.environment is_corrupted_CoordMap .cstr_construct.CoordMap opts_CoordMap

Documented in opts_CoordMap

#' @export
#' @rdname other-opts
opts_CoordMap <- function(constructor = c("coord_map", "next", "environment"), ...) {
  .cstr_options("CoordMap", constructor = constructor[[1]], ...)
}

#' @export
#' @method .cstr_construct CoordMap
.cstr_construct.CoordMap <- function(x, ...) {
  opts <- list(...)$opts$CoordMap %||% opts_CoordMap()
  if (is_corrupted_CoordMap(x) || opts$constructor == "next") return(NextMethod())
  UseMethod(".cstr_construct.CoordMap", structure(NA, class = opts$constructor))
}

is_corrupted_CoordMap <- function(x) {
  # TODO
  FALSE
}

#' @export
#' @method .cstr_construct.CoordMap environment
.cstr_construct.CoordMap.environment <- function(x, ...) {
  .cstr_construct.environment(x, ...)
}

#' @export
#' @method .cstr_construct.CoordMap coord_map
.cstr_construct.CoordMap.coord_map <- function(x, ...) {
  args <- c(
    list(projection = x$projection),
    if (length(x$params)) as.list(x$params) else NULL,
    list(
      orientation = x$orientation,
      xlim = x$limits$x,
      ylim = x$limits$y,
      clip = x$clip
    )
  )
  args <- keep_only_non_defaults(args, ggplot2::coord_map)
  .cstr_apply(args, "ggplot2::coord_map", ...)
}

Try the constructive package in your browser

Any scripts or data that you put into this service are public.

constructive documentation built on April 3, 2025, 9:39 p.m.