/setup { % set up world clippath pathbbox % obtain dimensions scale % scale to fit pop pop % - .3 .5 translate % move origin 0 0 moveto 0.01 setlinewidth % set stroke width } def /muncher { % draw muncher newpath 0 0 .2 30 330 arc 0 0 lineto closepath gsave % save graphics context .8 setgray fill grestore % restore graphics context stroke % stroke outline } def /makewin { % - => - (builds a test window) /GoWindow DefaultWindow % create a subclass dictbegin % begin instance dict /FrameLabel ( Workspace ) def dictend % end instance dict classbegin /PaintClient { % draw client canvas setup % set up world muncher % draw muncher .1 .1 scale 1 1 5 { % draw baby munchers .8 0 translate 0 0 moveto muncher } for } def /PaintIcon { % draw the icon erasepage setup muncher currentcanvas setcanvas % set a path 0 strokecanvas % stroke border } def classend def /win framebuffer /new GoWindow send def % cliche /reshapefromuser win send % resize window /map win send % make it visible } def makewin % run the program