No flags found
Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.
e.g., #unittest #integration
#production #enterprise
#frontend #backend
6d6c03e
... +5 ...
6192174
Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.
e.g., #unittest #integration
#production #enterprise
#frontend #backend
46 | 46 | update_gpar <- function(gp, gp_new) { |
|
47 | 47 | names_new <- names(gp_new) |
|
48 | 48 | names_old <- names(gp) |
|
49 | - | gp[c(intersect(names_old, names_new), "font")] <- NULL |
|
50 | - | gp_new["font"] <- NULL |
|
49 | + | gp[c(intersect(names_old, names_new), "fontface")] <- NULL |
|
50 | + | gp_new["fontface"] <- NULL |
|
51 | 51 | do.call(gpar, c(gp, gp_new)) |
|
52 | 52 | } |
|
53 | 53 |
70 | 70 | ||
71 | 71 | # update the fontface of a drawing context |
|
72 | 72 | set_context_fontface <- function(drawing_context, fontface = "plain", overwrite = FALSE) { |
|
73 | - | fontface_old <- drawing_context$gp$fontface |
|
73 | + | font_old <- drawing_context$gp$font |
|
74 | 74 | ||
75 | 75 | # combine bold and italic if needed |
|
76 | 76 | if (!isTRUE(overwrite)) { |
|
77 | - | if (isTRUE(fontface == "italic") && isTRUE(fontface_old == "bold")) { |
|
77 | + | if (isTRUE(fontface == "italic") && isTRUE(font_old == 2)) { # see ?grid::gpar for fontface codes |
|
78 | 78 | fontface <- "bold.italic" |
|
79 | - | } else if (isTRUE(fontface == "bold") && isTRUE(fontface_old == "italic")) { |
|
79 | + | } else if (isTRUE(fontface == "bold") && isTRUE(font_old == 3)) { |
|
80 | 80 | fontface <- "bold.italic" |
|
81 | 81 | } |
|
82 | 82 | } |
3 | 3 | #' Calculate text details for a given text label |
|
4 | 4 | #' @param label Character vector containing the label. Can handle only one label at a time. |
|
5 | 5 | #' @param gp Grid graphical parameters defining the font (`fontfamily`, `fontface`, and |
|
6 | - | #' `fontface` should be defined). |
|
6 | + | #' `fontsize` should be defined). |
|
7 | 7 | #' @examples |
|
8 | 8 | #' text_details("Hello world!", grid::gpar(fontfamily = "", fontface = "plain", fontsize = 12)) |
|
9 | 9 | #' text_details("Hello world!", grid::gpar(fontfamily = "", fontface = "plain", fontsize = 24)) |
14 | 14 | #' @noRd |
|
15 | 15 | text_details <- function(label, gp = gpar()) { |
|
16 | 16 | fontfamily <- gp$fontfamily %||% grid::get.gpar("fontfamily")$fontfamily |
|
17 | - | fontface <- gp$fontface %||% grid::get.gpar("fontface")$fontface |
|
17 | + | font <- gp$font %||% grid::get.gpar("font")$font |
|
18 | 18 | fontsize <- gp$fontsize %||% grid::get.gpar("fontsize")$fontsize |
|
19 | 19 | ||
20 | 20 | devname <- names(grDevices::dev.cur()) |
|
21 | - | fontkey <- paste0(devname, fontfamily, fontface, fontsize) |
|
21 | + | fontkey <- paste0(devname, fontfamily, font, fontsize) |
|
22 | 22 | if (devname == "null device") { |
|
23 | 23 | cache <- FALSE # don't cache if no device open |
|
24 | 24 | } else { |
30 | 30 | } |
|
31 | 31 | ||
32 | 32 | # ascent and width depend on label and font |
|
33 | - | l1 <- text_info(label, fontkey, fontfamily, fontface, fontsize, cache) |
|
33 | + | l1 <- text_info(label, fontkey, fontfamily, font, fontsize, cache) |
|
34 | 34 | # descent and space width depend only on font |
|
35 | - | l2 <- font_info(fontkey, fontfamily, fontface, fontsize, cache) |
|
35 | + | l2 <- font_info(fontkey, fontfamily, font, fontsize, cache) |
|
36 | 36 | ||
37 | 37 | # concatenate, result is a list with four members, width_pt, ascent_pt, descent_pt, space_pt |
|
38 | 38 | c(l1, l2) |
|
39 | 39 | } |
|
40 | 40 | ||
41 | 41 | font_info_cache <- new.env(parent = emptyenv()) |
|
42 | - | font_info <- function(fontkey, fontfamily, fontface, fontsize, cache) { |
|
42 | + | font_info <- function(fontkey, fontfamily, font, fontsize, cache) { |
|
43 | 43 | info <- font_info_cache[[fontkey]] |
|
44 | 44 | ||
45 | 45 | if (is.null(info)) { |
48 | 48 | gp = gpar( |
|
49 | 49 | fontsize = fontsize, |
|
50 | 50 | fontfamily = fontfamily, |
|
51 | - | fontface = fontface, |
|
51 | + | font = font, |
|
52 | 52 | cex = 1 |
|
53 | 53 | ) |
|
54 | 54 | )), "pt", valueOnly = TRUE) |
58 | 58 | gp = gpar( |
|
59 | 59 | fontsize = fontsize, |
|
60 | 60 | fontfamily = fontfamily, |
|
61 | - | fontface = fontface, |
|
61 | + | font = font, |
|
62 | 62 | cex = 1 |
|
63 | 63 | ) |
|
64 | 64 | )), "pt", valueOnly = TRUE) |
73 | 73 | } |
|
74 | 74 | ||
75 | 75 | text_info_cache <- new.env(parent = emptyenv()) |
|
76 | - | text_info <- function(label, fontkey, fontfamily, fontface, fontsize, cache) { |
|
76 | + | text_info <- function(label, fontkey, fontfamily, font, fontsize, cache) { |
|
77 | 77 | key <- paste0(label, fontkey) |
|
78 | 78 | info <- text_info_cache[[key]] |
|
79 | 79 |
83 | 83 | gp = gpar( |
|
84 | 84 | fontsize = fontsize, |
|
85 | 85 | fontfamily = fontfamily, |
|
86 | - | fontface = fontface, |
|
86 | + | font = font, |
|
87 | 87 | cex = 1 |
|
88 | 88 | ) |
|
89 | 89 | )), "pt", valueOnly = TRUE) |
93 | 93 | gp = gpar( |
|
94 | 94 | fontsize = fontsize, |
|
95 | 95 | fontfamily = fontfamily, |
|
96 | - | fontface = fontface, |
|
96 | + | font = font, |
|
97 | 97 | cex = 1 |
|
98 | 98 | ) |
|
99 | 99 | )), "pt", valueOnly = TRUE) |
6192174
13f28b7
82a0b13
b410f97
bad2607
ef5f1aa
6d6c03e