31 lines
1.3 KiB
R
31 lines
1.3 KiB
R
|
library(grid)
|
||
|
|
||
|
# Physical units in viewport of height 0
|
||
|
pushViewport(viewport(height = 0))
|
||
|
stopifnot(is.finite(convertHeight(unit(72, "bigpts"), "inches", valueOnly = TRUE)))
|
||
|
popViewport()
|
||
|
|
||
|
# The gpar font settings for a grob should affect the grob itself
|
||
|
stopifnot(round(convertHeight(grobHeight(rectGrob(height=unit(1, "lines"),
|
||
|
gp=gpar(lineheight=2))),
|
||
|
"inches", valueOnly=TRUE) -
|
||
|
convertHeight(grobHeight(rectGrob(height=unit(1, "lines"),
|
||
|
vp=viewport(
|
||
|
gp=gpar(lineheight=2)))),
|
||
|
"inches", valueOnly=TRUE),
|
||
|
digits=5) == 0)
|
||
|
|
||
|
# Calculation of size of packed grob with gp which is non-empty
|
||
|
gf1 <- frameGrob(gp=gpar(fontsize=20))
|
||
|
gf1 <- packGrob(gf1, textGrob("howdy"))
|
||
|
gf1 <- packGrob(gf1, rectGrob(), col=1, row=1)
|
||
|
gf2 <- frameGrob()
|
||
|
gf2 <- packGrob(gf2, gf1)
|
||
|
gf2 <- packGrob(gf2, rectGrob(gp=gpar(col="red")), col=1, row=1)
|
||
|
stopifnot(round(convertWidth(grobWidth(gf1),
|
||
|
"inches", valueOnly=TRUE) -
|
||
|
convertWidth(grobWidth(gf2),
|
||
|
"inches", valueOnly=TRUE),
|
||
|
digits=5) == 0)
|
||
|
|