Skip to contents

bm_padding_lengths() computes the padding lengths of a target value for the top, right, bottom, and left sides of the bitmap. If the entire bitmap is of the target value then the left/right and top/bottom will simply split the width/height in half.

Usage

bm_padding_lengths(x, value)

# S3 method for class 'bm_bitmap'
bm_padding_lengths(x, value = 0L)

# S3 method for class 'bm_list'
bm_padding_lengths(x, ...)

# S3 method for class 'bm_pixmap'
bm_padding_lengths(x, value = col2hex("transparent"))

# S3 method for class '`magick-image`'
bm_padding_lengths(x, value = "transparent")

# S3 method for class 'nativeRaster'
bm_padding_lengths(x, value = col2int("transparent"))

# S3 method for class 'raster'
bm_padding_lengths(x, value = "transparent")

Arguments

x

Either a bm_bitmap(), bm_font(), bm_list(), "magick-image", "nativeRaster", bm_pixmap(), or "raster" object.

value

The value of the “padding” element to compute lengths for.

...

Additional arguments to be passed to or from methods.

Value

If x is a bm_bitmap() object then a integer vector of length four representing the padding lengths for the top, right, bottom, and left sides respectively. If x is a bm_list() or bm_font() then a list of integer vectors of length four.

Examples

font_file <- system.file("fonts/spleen/spleen-8x16.hex.gz", package = "bittermelon")
font <- read_hex(font_file)
# add a border to an "R"
capital_r <- font[[str2ucp("R")]]
print(capital_r)
#> ░░░░░░░░
#> ░░░░░░░░
#> ██████░░
#> ██░░░██░
#> ██░░░██░
#> ██░░░██░
#> ██████░░
#> ██░░░██░
#> ██░░░██░
#> ██░░░██░
#> ██░░░██░
#> ██░░░██░
#> ░░░░░░░░
#> ░░░░░░░░
#> ░░░░░░░░
#> ░░░░░░░░
print(bm_padding_lengths(capital_r))
#>    top  right bottom   left 
#>      2      1      4      0 
corn <- farming_crops_16x16()$corn$portrait
if (cli::is_utf8_output() && cli::num_ansi_colors() >= 256L) {
  print(corn, bg = "cyan", compress = "v")
}
#>                 
#>          
#>        
#>      
#>    
#>  ▀▀▀   
#>        ▀▀   
#>                 
print(bm_padding_lengths(corn))
#>    top  right bottom   left 
#>      2      2      2      1