HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Program Files/R/R-4.4.0/library/grid/tests/grep.R
library(grid)

## Set up
grid.newpage()
pushViewport(viewport(name="a.vp"))
grid.rect(name="a.grob")

## Default finds only grobs (no vpPath)
result <- grid.grep("a", grep=TRUE, global=TRUE)
result
attr(result[[1]], "vpPath")

## 'viewports = TRUE' (and 'vpPath = TRUE')
## finds grobs and viewports (AND vpPath on grobs)
result <- grid.grep("a", grep=TRUE, global=TRUE, viewports=TRUE)
result
attr(result[[2]], "vpPath")

## 'viewports = FALSE' and 'vpPath = TRUE'
## finds only grobs AND vpPath on grobs
result <- grid.grep("a", grep=TRUE, global=TRUE, vpPath=TRUE)
result
attr(result[[1]], "vpPath")

## 'viewports = TRUE' and 'vpPath = FALSE'
## finds viewports and grobs (no vpPath)
result <- grid.grep("a", grep=TRUE, global=TRUE, viewports=TRUE, vpPath=FALSE)
result
attr(result[[2]], "vpPath")

###########################
## global=FALSE versions

## grob (no vpPath)
result <- grid.grep("a", grep=TRUE)
result
attr(result, "vpPath")
## viewport (NULL vpPath)
result <- grid.grep("a", grep=TRUE, viewports=TRUE)
result
attr(result, "vpPath")
## grob with vpPath
result <- grid.grep("a", grep=TRUE, vpPath=TRUE)
result
attr(result, "vpPath")
## viewport (NULL vpPath)
result <- grid.grep("a", grep=TRUE, viewports=TRUE, vpPath=FALSE)
result
attr(result, "vpPath")