package Ġio . nac ular . do od le . controls . icons Ċ Ċ import Ġio . nac ular . do od le . core . Icon Ċ import Ġio . nac ular . do od le . core . View Ċ import Ġio . nac ular . do od le . drawing . Canvas Ċ import Ġio . nac ular . do od le . drawing . Color Ċ import Ġio . nac ular . do od le . drawing . Color Paint Ċ import Ġio . nac ular . do od le . drawing . Renderer . Fill Rule Ċ import Ġio . nac ular . do od le . drawing . Renderer . Fill Rule . Even Odd Ċ import Ġio . nac ular . do od le . drawing . Stroke Ċ import Ġio . nac ular . do od le . geometry . Path Ċ import Ġio . nac ular . do od le . geometry . Path Metrics Ċ import Ġio . nac ular . do od le . geometry . Point Ċ import Ġio . nac ular . do od le . geometry . Size Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠN ich olas ĠE ddy Ġon Ġ 1 2 / 5 / 1 7 . Ċ Ġ*/ Ċ public Ġopen Ġclass ĠPath Icon < in ĠT : ĠView >( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpath ĠĠĠĠĠĠ Ġ: ĠPath , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsize ĠĠĠĠĠĠ Ġ: ĠSize ? ĠĠĠ Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfill ĠĠĠĠĠĠ Ġ: ĠColor ? ĠĠ Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutline ĠĠĠ Ġ: ĠColor ? ĠĠ Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġfill Rule ĠĠ Ġ: ĠFill Rule Ġ= ĠEven Odd , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath Metrics : ĠPath Metrics ): ĠIcon < T > Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġpath Size Ġ= Ġpath Metrics . size ( path ) ĊĠĠĠ Ġoverride Ġfun Ġsize ( view : ĠT ): ĠSize Ġ= Ġsize Ġ?: Ġpath Size ĊĊĠĠĠ Ġprivate Ġval Ġstroke ĠĠ Ġ= Ġoutline ?. let Ġ{ ĠSt roke ĠĠĠĠĠĠ Ġ( it ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġfill Ġ= Ġfill ?. let ĠĠĠ Ġ{ ĠColor Paint ( it ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrender ( view : ĠT , Ġcanvas : ĠCanvas , Ġat : ĠPoint ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfill Ġ= Ġthis . fill Ġ?: Ġview . foreground Color ?. let Ġ{ ĠColor Paint ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ Ġ= Ġsize ( view ) ĊĊĠĠĠĠĠĠĠ Ġcanvas . scale ( size . width Ġ/ Ġpath Size . width , Ġsize . height Ġ/ Ġpath Size . height ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtranslate ( at ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( stroke ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġpath ( path , ĠĠĠĠĠ Ġfill !! , Ġfill Rule ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġwhen Ġ( fill ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġpath ( path , Ġstroke ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġpath ( path , Ġstroke , Ġfill , Ġfill Rule ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }