R/center.R

Defines functions flex_center_h flex_center_v

#' Center Flextable on Slide (Vertical)
#'
#' @param slide powerpoint slide
#' @param flex flextable
#' @param layout character
#' @param ph_label character
#'
#' @return numeric
#' @export
#'
#'
flex_center_v <- function(slide, flex, layout, ph_label) {
  slide_details      <- officer::layout_properties(slide)
  slide_details      <- slide_details[slide_details$name == layout, ]
  slide_details      <- slide_details[slide_details$ph_label == ph_label, ]
  placeholder_height <- slide_details$cy
  placeholder_offset <- slide_details$offy
  placeholder_center <- (placeholder_height / 2) + placeholder_offset
  flextable_height   <- flex_height(flex)
  flextable_center   <- flextable_height / 2
  flextable_pos_v    <- placeholder_center - flextable_center
  flextable_pos_v
}

#' Center Flextable on Slide (Horizontal)
#'
#' @param slide powerpoint slide
#' @param flex flextable
#' @param layout character
#' @param ph_label character
#'
#' @return numeric
#' @export
#'
#'
flex_center_h <- function(slide, flex, layout, ph_label) {
  slide_details      <- officer::layout_properties(slide)
  slide_details      <- slide_details[slide_details$name == layout, ]
  slide_details      <- slide_details[slide_details$ph_label == ph_label, ]
  placeholder_width  <- slide_details$cx
  placeholder_offset <- slide_details$offx
  placeholder_center <- (placeholder_width / 2) + placeholder_offset
  flextable_width    <- flex_width(flex)
  flextable_center   <- flextable_width / 2
  flextable_pos_h    <- placeholder_center - flextable_center
  flextable_pos_h
}
cadenceinc/FlextableExtended documentation built on May 28, 2020, 12:49 a.m.