/NeWS 3 0 findpackage beginpackage /TNTCore 3 0 findpackage beginpackage /TNT 3 0 findpackage dup beginpackage dup beginautoload begin /ClassFontPieMenu ClassPieMenu [] classbegin /OverlayPreview { % - => - Overlay setcanvas erasepage CurrentValue null ne { ItemList CurrentValue get begin /DisplayItem load XOffset YOffset DX 16 mul DY 16 mul Angle end /location self send Radius dup xyadd translate 0 0 moveto 0 0 Radius GrayRadius mul 4 -1 roll SliceWidth .5 mul sub dup SliceWidth add arc closepath 0 0 InactiveRadius 0 360 arc closepath stroke currentcursorlocation xyadd moveto DisplayItemPaint } if } def /SetCurrentValue { % dx dy => - /SetCurrentValue super send } def /NotifyItem { % index => - % pop Hue Saturation Brightness hsbcolor /Notifier load % color proc /ExecuteNotifier self send % - } def /PreviewItem { % index => - % pop Hue Saturation Brightness hsbcolor /Previewer load % color proc /ExecuteNotifier self send % - } def /demo { userdict begin /pie framebuffer /new ClassFontPieMenu send def /bembo /setfontfamily pie send /can framebuffer /new ClassPieMenuCanvas send def /preferredsize { 200 200 } /promote can send pie /setpiemenu can send /win can framebuffer /new ClassBaseWindow send def (Font Pie Menu Demo) /setlabel win send /mgr /new ClassEventMgr send def mgr /activate win send /place win send /map win send end % userdict } def classend def currentdict end endautoload /demo ClassFontPieMenu send