dots <- pattern(circleGrob(r=.3, gp=gpar(fill="black")))


grid.rect(name="r1")
grid.patternFill("r1", dots)


dotgrid <- pattern(circleGrob(r=.3, gp=gpar(fill="black")),
                   x=.5, y=.5, 
                   width=unit(1, "cm"), height=unit(1, "cm"))
grid.rect(name="r2")
grid.patternFill("r2", dotgrid)


pdf(NULL, width=12, height=3)
# grid.newpage()
pushViewport(viewport(x=1/4, width=.4, height=.8))
grid.rect(name="r1")
grid.patternFill("r1", dots)
popViewport()
pushViewport(viewport(x=3/4, width=.4, height=.8))
dotgrid <- pattern(circleGrob(r=.3, gp=gpar(fill="black")),
                   x=.5, y=.5, 
                   width=unit(1, "cm"), height=unit(1, "cm"))
grid.rect(name="r2")
grid.patternFill("r2", dotgrid)
popViewport()
grid.export("Figures/export-patternfill1.svg")
dev.off()
system("chromium-browser --headless --screenshot=Figures/export-patternfill1.png --window-size=880x220 Figures/export-patternfill1.svg")
system("cp Figures/export-patternfill1.png Web/export-patternfill1.png")


