package Ġcom . zh pan . indicator . drawer Ċ Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Rect F Ċ Ċ import Ġcom . zh pan . indicator . enums . Indicator Slide Mode Ċ import Ġcom . zh pan . indicator . option . Indicator Options Ċ import Ġcom . zh pan . indicator . utils . Indicator Utils Ċ Ċ /** Ċ Ġ* Ġ< pre > Ċ Ġ* ĠCreated Ġby Ġzh pan Ġon Ġ 2 0 2 0 / 1 / 1 7 . Ċ Ġ* ĠDescription : Ċ </ pre > Ġ* Ċ Ġ*/ Ċ open Ġclass ĠRect Drawer Ġinternal Ġconstructor ( indicator Options : ĠIndicator Options ) Ġ: ĠBase Drawer ( indicator Options ) Ġ{ ĊĠĠĠ Ġinternal Ġvar Ġm Rect F : ĠRect F Ġ= ĠRect F () ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠpageSize Ġ= Ġm Indicator Options . pageSize ĊĠĠĠĠĠĠĠ Ġif Ġ( pageSize Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Width Equals Ġ&& Ġm Indicator Options . slide Mode Ġ!= ĠIndicator Slide Mode . NORMAL ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Unchecked Slider ( canvas , ĠpageSize ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Checked Slider ( canvas ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĠĠĠ Ġ// Ġ åįķ çĭ¬ å¤ĦçĲĨ normal Width ä¸İ checked Width ä¸į ä¸Ģèĩ´ çļĦ æĥħåĨµ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Indicator Options . slide Mode Ġ== ĠIndicator Slide Mode . SCALE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil ĠpageSize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Scale Slider ( canvas , Ġi ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw In equality Slider ( canvas , ĠpageSize ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdraw Scale Slider ( canvas : ĠCanvas , Ġi : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchecked Color Ġ= Ġm Indicator Options . checked Slider Color ĊĠĠĠĠĠĠĠ Ġval Ġindicator Gap Ġ= Ġm Indicator Options . slider Gap ĊĠĠĠĠĠĠĠ Ġval Ġslider Height Ġ= Ġm Indicator Options . slider Height ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Position Ġ= Ġm Indicator Options . current Position ĊĠĠĠĠĠĠĠ Ġval Ġnormal Width Ġ= Ġm Indicator Options . normal Slider Width ĊĠĠĠĠĠĠĠ Ġval Ġchecked Width Ġ= Ġm Indicator Options . checked Slider Width ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ< Ġcurrent Position Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġm Indicator Options . normal Slider Color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft : ĠFloat Ġ= Ġif Ġ( current Position Ġ== Ġm Indicator Options . pageSize Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( i Ġ* Ġnormal Width Ġ+ Ġi Ġ* Ġindicator Gap ) Ġ+ Ġ( checked Width Ġ- Ġnormal Width ) Ġ* Ġm Indicator Options . slide Progress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( i Ġ* Ġnormal Width Ġ+ Ġi Ġ* Ġindicator Gap ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Rect F . set ( left , Ġ 0 f , Ġleft Ġ+ Ġnormal Width , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġslider Height , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ== Ġcurrent Position Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġchecked Color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġslide Progress Ġ= Ġm Indicator Options . slide Progress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Position Ġ== Ġm Indicator Options . pageSize Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevaluate Ġ= Ġarg b Evaluator ?. evaluate ( slide Progress , Ġchecked Color , Ġm Indicator Options . normal Slider Color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġ( evaluate Ġas ĠInt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġ( m Indicator Options . pageSize Ġ- Ġ 1 ) Ġ* Ġ( normal Width Ġ+ Ġm Indicator Options . slider Gap ) Ġ+ Ġchecked Width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġright Ġ- Ġchecked Width Ġ+ Ġ( checked Width Ġ- Ġnormal Width ) Ġ* Ġ( slide Progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Rect F . set ( left , Ġ 0 f , Ġright , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġslider Height , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( slide Progress Ġ< Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevaluate Ġ= Ġarg b Evaluator ?. evaluate ( slide Progress , Ġchecked Color , Ġm Indicator Options . normal Slider Color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġ( evaluate Ġas ĠInt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġi Ġ* Ġnormal Width Ġ+ Ġi Ġ* Ġindicator Gap ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġleft Ġ+ Ġnormal Width Ġ+ Ġ( checked Width Ġ- Ġnormal Width ) Ġ* Ġ( 1 Ġ- Ġslide Progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Rect F . set ( left , Ġ 0 f , Ġright , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġslider Height , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Position Ġ== Ġm Indicator Options . pageSize Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( slide Progress Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevaluate Ġ= Ġarg b Evaluator ?. evaluate ( 1 Ġ- Ġslide Progress , Ġchecked Color , Ġm Indicator Options . normal Slider Color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġevaluate Ġas ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġleft Ġ+ Ġnormal Width Ġ+ Ġ( checked Width Ġ- Ġnormal Width ) Ġ* Ġslide Progress ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Rect F . set ( left , Ġ 0 f , Ġright , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġslider Height , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( slide Progress Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevaluate Ġ= Ġarg b Evaluator ?. evaluate ( 1 Ġ- Ġslide Progress , Ġchecked Color , Ġm Indicator Options . normal Slider Color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġevaluate Ġas ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġi Ġ* Ġnormal Width Ġ+ Ġi Ġ* Ġindicator Gap Ġ+ Ġnormal Width Ġ+ Ġ( indicator Gap Ġ+ Ġchecked Width ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġright Ġ- Ġ( normal Width ) Ġ- Ġ( checked Width Ġ- Ġnormal Width ) Ġ* Ġ( slide Progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Rect F . set ( left , Ġ 0 f , Ġright , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġslider Height , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( current Position Ġ+ Ġ 1 Ġ!= Ġi Ġ|| Ġm Indicator Options . slide Progress Ġ== Ġ 0 f )) Ġ{ Ġ// Ġ éģ¿åħį å¤ļ ä½Ļ ç»ĺ åĪ¶ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġm Indicator Options . normal Slider Color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġi Ġ* ĠminWidth Ġ+ Ġi Ġ* Ġindicator Gap Ġ+ Ġ( checked Width Ġ- ĠminWidth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Rect F . set ( left , Ġ 0 f , Ġleft Ġ+ ĠminWidth , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġslider Height , Ġslider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdraw Unchecked Slider ( canvas : ĠCanvas , ĠpageSize : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil ĠpageSize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġm Indicator Options . normal Slider Color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġi Ġ* ĠmaxWidth Ġ+ Ġi Ġ* Ġ+ m Indicator Options . slider Gap Ġ+ Ġ( maxWidth Ġ- ĠminWidth ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Rect F . set ( left , Ġ 0 f , Ġleft Ġ+ ĠminWidth , Ġm Indicator Options . slider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġm Indicator Options . slider Height , Ġm Indicator Options . slider Height ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdraw In equality Slider ( canvas : ĠCanvas , ĠpageSize : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġleft Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil ĠpageSize ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġslider Width Ġ= Ġ( if Ġ( i Ġ== Ġm Indicator Options . current Position ) ĠmaxWidth Ġelse ĠminWidth ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġif Ġ( i Ġ== Ġm Indicator Options . current Position ) Ġm Indicator Options . checked Slider Color Ġelse Ġm Indicator Options . normal Slider Color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Rect F . set ( left , Ġ 0 f , Ġleft Ġ+ Ġslider Width , Ġm Indicator Options . slider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġm Indicator Options . slider Height , Ġm Indicator Options . slider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ+= Ġslider Width Ġ+ Ġm Indicator Options . slider Gap ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdraw Checked Slider ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġm Indicator Options . checked Slider Color ĊĠĠĠĠĠĠĠ Ġwhen Ġ( m Indicator Options . slide Mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIndicator Slide Mode . S MO OTH Ġ-> Ġdraw Smooth Slider ( canvas ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIndicator Slide Mode . W ORM Ġ-> Ġdraw W orm Slider ( canvas ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIndicator Slide Mode . COLOR Ġ-> Ġdraw Color Slider ( canvas ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdraw Color Slider ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Position Ġ= Ġm Indicator Options . current Position ĊĠĠĠĠĠĠĠ Ġval Ġslide Progress Ġ= Ġm Indicator Options . slide Progress ĊĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġcurrent Position Ġ* ĠminWidth Ġ+ Ġcurrent Position Ġ* Ġm Indicator Options . slider Gap ĊĠĠĠĠĠĠĠ Ġif Ġ( slide Progress Ġ< Ġ 0 . 9 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevaluate Ġ= Ġarg b Evaluator ?. evaluate ( slide Progress , Ġm Indicator Options . checked Slider Color , Ġm Indicator Options . normal Slider Color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġ( evaluate Ġas ĠInt ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Rect F . set ( left , Ġ 0 f , Ġleft Ġ+ ĠminWidth , Ġm Indicator Options . slider Height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġm Indicator Options . slider Height , Ġm Indicator Options . slider Height ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġnext Slider Left Ġ= Ġleft Ġ+ Ġm Indicator Options . slider Gap Ġ+ Ġm Indicator Options . normal Slider Width ĊĠĠĠĠĠĠĠ Ġif Ġ( current Position Ġ== Ġm Indicator Options . pageSize Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnext Slider Left Ġ= Ġ 0 f ; ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġevaluate Ġ= Ġarg b Evaluator ?. evaluate ( 1 Ġ- Ġslide Progress , Ġm Indicator Options . checked Slider Color , Ġm Indicator Options . normal Slider Color ) ĊĠĠĠĠĠĠĠ Ġm Paint . color Ġ= Ġevaluate Ġas ĠInt ĊĠĠĠĠĠĠĠ Ġm Rect F . set ( next Slider Left , Ġ 0 f , Ġnext Slider Left Ġ+ ĠminWidth , Ġm Indicator Options . slider Height ) ĊĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġm Indicator Options . slider Height , Ġm Indicator Options . slider Height ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdraw W orm Slider ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġslider Height Ġ= Ġm Indicator Options . slider Height ĊĠĠĠĠĠĠĠ Ġval Ġslide Progress Ġ= Ġm Indicator Options . slide Progress ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Position Ġ= Ġm Indicator Options . current Position ĊĠĠĠĠĠĠĠ Ġval Ġdistance Ġ= Ġm Indicator Options . slider Gap Ġ+ Ġm Indicator Options . normal Slider Width ĊĠĠĠĠĠĠĠ Ġval Ġstart Coordinate X Ġ= ĠIndicator Utils . get Coordinate X ( m Indicator Options , ĠmaxWidth , Ġcurrent Position ) ĊĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġstart Coordinate X Ġ+ ĠMath . max ( distance Ġ* Ġ( slide Progress Ġ- Ġ 0 . 5 f ) Ġ* Ġ 2 . 0 f , Ġ 0 f ) Ġ- Ġm Indicator Options . normal Slider Width Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġval Ġright Ġ= Ġstart Coordinate X Ġ+ ĠMath . min ( distance Ġ* Ġslide Progress Ġ* Ġ 2 f , Ġdistance ) Ġ+ Ġm Indicator Options . normal Slider Width Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġm Rect F . set ( left , Ġ 0 f , Ġright , Ġslider Height ) ĊĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġslider Height , Ġslider Height ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdraw Smooth Slider ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Position Ġ= Ġm Indicator Options . current Position ĊĠĠĠĠĠĠĠ Ġval Ġindicator Gap Ġ= Ġm Indicator Options . slider Gap ĊĠĠĠĠĠĠĠ Ġval Ġslider Height Ġ= Ġm Indicator Options . slider Height ĊĠĠĠĠĠĠĠ Ġval Ġleft Ġ= Ġcurrent Position Ġ* ĠmaxWidth Ġ+ Ġcurrent Position Ġ* Ġ+ indicator Gap Ġ+ Ġ( maxWidth Ġ+ Ġindicator Gap ) Ġ* Ġm Indicator Options . slide Progress ĊĠĠĠĠĠĠĠ Ġm Rect F . set ( left , Ġ 0 f , Ġleft Ġ+ ĠmaxWidth , Ġslider Height ) ĊĠĠĠĠĠĠĠ Ġdraw Round Rect ( canvas , Ġslider Height , Ġslider Height ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġdraw Round Rect ( canvas : ĠCanvas , Ġrx : ĠFloat , Ġry : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdraw Dash ( canvas ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġdraw Dash ( canvas : ĠCanvas ) Ġ{} Ċ } Ċ