pushViewport(viewport(layout=grid.layout(1, 3))) pushViewport(viewport(layout.pos.col=1, gp=gpar(fill=NA))) grid.rect(width=.9, height=.9, gp=gpar(col="gray")) pushViewport(viewport(width=.5, height=.5, clip="on")) grid.rect() grid.circle(r=.7, gp=gpar(lwd=20)) popViewport(2) pushViewport(viewport(layout.pos.col=2, gp=gpar(fill=NA))) grid.rect(width=.9, height=.9, gp=gpar(col="gray")) pushViewport(viewport(width=.5, height=.5, clip="on")) grid.rect() grid.circle(r=.7, gp=gpar(lwd=20)) pushViewport(viewport(clip="inherit")) grid.circle(r=.7, gp=gpar(lwd=10, col="gray")) popViewport(3) pushViewport(viewport(layout.pos.col=3, gp=gpar(fill=NA))) grid.rect(width=.9, height=.9, gp=gpar(col="gray")) pushViewport(viewport(width=.5, height=.5, clip="on")) grid.rect() grid.circle(r=.7, gp=gpar(lwd=20)) pushViewport(viewport(clip="inherit")) grid.circle(r=.7, gp=gpar(lwd=10, col="gray")) pushViewport(viewport(clip="off")) grid.circle(r=.7) popViewport(3) popViewport()