Just one more example. To run this example you will need the following file(s): ./hd.box, grains.box. If the example requires more than one file, then you should put them into the same directory. You can then launch Box/Boxer with box -l g ./hd.box or boxer ./hd.box.
//!BOXER:VERSION:0:1:1
include "g"
GUI = Void
Window@GUI[]
//!BOXER:REFPOINTS:BEGIN
gui1 = Point[.x=91.689501833, .y=2.41289767442]
gui2 = Point[.x=21.4671452991, .y=3.41047040359]
gui3 = Point[.x=44.6029230769, .y=20.9530860987]
//!BOXER:REFPOINTS:END
include "grains"
w = Window[][
Put[hd]
Put[grains, (40, -15), Scale[0.8]]
Texts[Font[5, "sans"], color.black
"a)", From[(0, 0)], (-30, 25);
"b)", (38, 25)]
]
GUI[w]
w.Save["hd.png", Window["rgb24", .Res[Dpi[100]]]]