package Ġio . nac ular . do od le . theme . basic Ċ Ċ import Ġio . nac ular . do od le . controls . ProgressBar Ċ import Ġio . nac ular . do od le . controls . theme . Progress Indicator Behavior Ċ 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 . Paint Ċ import Ġio . nac ular . do od le . drawing . Stroke Ċ import Ġio . nac ular . do od le . drawing . paint Ċ import Ġio . nac ular . do od le . geometry . Rectangle Ċ import Ġio . nac ular . do od le . theme . Paint Mapper Ċ import Ġio . nac ular . do od le . utils . Orientation . Vertical Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠN ich olas ĠE ddy Ġon Ġ 2 / 1 2 / 1 8 . Ċ Ġ*/ Ċ public Ġclass ĠBasic ProgressBar Behavior ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbackground ĠĠĠĠĠ Ġ: ĠPaint ?, ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġforeground ĠĠĠĠĠ Ġ: ĠPaint ?, ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġoutline Color ĠĠĠ Ġ: ĠColor ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbackground Radius : ĠDouble Ġ= Ġ 0 . 0 , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġforeground Radius : ĠDouble Ġ= Ġbackground Radius , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġoutline Thickness : ĠDouble Ġ= Ġ 1 . 0 ): ĠProgress Indicator Behavior < ProgressBar >() Ġ{ ĊĊĠĠĠ Ġpublic Ġvar Ġdisabled Paint Mapper : ĠPaint Mapper Ġ= Ġdefault Disabled Paint Mapper ĊĊĠĠĠ Ġoverride Ġfun Ġinstall ( view : ĠProgress Bar ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . install ( view ) ĊĊĠĠĠĠĠĠĠ Ġview . rer ender () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrender ( view : ĠProgress Bar , Ġcanvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġb Ground Ġ= Ġ( background Ġ?: Ġview . backgroundColor ?. paint )?. let Ġ{ Ġif Ġ( view . enabled ) Ġit Ġelse Ġdisabled Paint Mapper ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġf Ground Ġ= Ġ( foreground Ġ?: Ġview . foreground Color ?. paint )?. let Ġ{ Ġif Ġ( view . enabled ) Ġit Ġelse Ġdisabled Paint Mapper ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( b Ground Ġ== Ġnull Ġ&& Ġf Ground Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġrect Ġ= ĠRectangle ( size Ġ= Ġview . size ) ĊĊĠĠĠĠĠĠĠ Ġval Ġstroke Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutline Color Ġ!= Ġnull Ġ&& Ġview . height Ġ> Ġ 2 Ġ* Ġoutline Thickness Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= Ġif Ġ( view . enabled ) Ġoutline Color . paint Ġelse Ġdisabled Paint Mapper ( outline Color . paint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSt roke ( color , Ġoutline Thickness ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠDraw Ġbackground Ġwith Ġoptional Ġoutline ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstroke Ġ Ġ!= Ġnull Ġ&& Ġb Ground Ġ!= Ġnull Ġ-> Ġcanvas . rect ( rect . in set ( outline Thickness Ġ/ Ġ 2 ), Ġbackground Radius , Ġstroke , Ġb Ground ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstroke Ġ Ġ!= Ġnull ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġcanvas . rect ( rect . in set ( outline Thickness Ġ/ Ġ 2 ), Ġbackground Radius , Ġstroke ĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb Ground Ġ!= Ġnull ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ-> Ġcanvas . rect ( rect , ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Radius , ĠĠĠĠĠĠĠĠ Ġb Ground ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġinner Rect Ġ= Ġwhen Ġ( view . orientation ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVertical Ġ-> Ġ( view . height Ġ* Ġview . progress ). let Ġ{ ĠRectangle ( 0 . 0 , Ġview . height Ġ- Ġit , Ġview . width , Ġit ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠĠĠĠ Ġ-> ĠRectangle ( width Ġ= Ġview . width Ġ* Ġview . progress , Ġheight Ġ= Ġview . height ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠDraw Ġprogress ĊĠĠĠĠĠĠĠ Ġif Ġ( f Ground Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġforeground Radius Ġ< Ġbackground Radius Ġ-> Ġcanvas . clip ( rect , Ġbackground Radius ) Ġ{ Ġrect ( inner Rect , Ġforeground Radius , Ġf Ground ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ-> ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . rect ( inner Rect , Ġforeground Radius , Ġf Ground ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ