/draw_arc { % x y => - (draws an arc at the specifed location) 100 0 300 arc % locate the arc gsave % save the context .5 setgray fill % fill path with gray grestore % restore context stroke % draw the arc } def /makewin { % - => - (builds a test window) /GoWindow DefaultWindow % create a subclass dictbegin % begin local dict /FrameLabel ( Workspace ) def dictend % end local dict classbegin % begin class defs /PaintClient { 100 100 draw_arc } def % draw gray arc /PaintIcon { % drawing icon image .5 fillcanvas % fill with gray 0 strokecanvas % stroke the perimeter } def classend def % end class definition /win framebuffer /new GoWindow send def % cliche /reshapefromuser win send % resize window /map win send % make it visible } def makewin % run the program