/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 Ġx ep 4 2 6 Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . gmail . x ep 4 2 6 . d ynam ict ime warp ing example Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics .* Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . Drag Event Ċ import Ġandroid . view . View Ċ import Ġkotlin . math . max Ċ import Ġkotlin . math . min Ċ import Ġkotlin . math . round ToInt Ċ Ċ class ĠDistance HUD Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull , Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠView ( context , Ġattrs , Ġdef Style Attr ){ ĊĊĠĠĠ Ġprivate Ġval Ġpaint Ġ= ĠPaint () ĊĠĠĠ Ġprivate Ġval Ġpath Ġ= ĠPath () ĊĠĠĠ Ġvar Ġcolor Ġ= ĠColor . rgb ( 2 5 5 , 2 5 5 , 2 5 5 ) ĊĠĠĠ Ġvar Ġthreshold Ġ= Ġ 1 0 0 f ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠRe strict Ġthreshold Ġvalue Ġto Ġcanvas ĊĠĠĠĠĠĠĠ Ġthreshold Ġ= Ġmin ( max ( threshold , Ġ 0 f ), canvas . height . toFloat () Ġ- Ġ 1 0 ) ĊĊĠĠĠĠĠĠĠ Ġpaint . color Ġ= Ġcolor ĊĠĠĠĠĠĠĠ Ġpaint . text Size Ġ= Ġ 3 5 f ; ĊĠĠĠĠĠĠĠ Ġpaint . style Ġ= ĠPaint . Style . FILL ĊĠĠĠĠĠĠĠ Ġpaint . path Effect Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġcanvas . draw Text (" âĸ · ", Ġ 5 f , Ġcanvas . height - threshold + 1 2 , Ġpaint ) ĊĠĠĠĠĠĠĠ Ġcanvas . draw Text (" âĹ ģ ", Ġcanvas . width Ġ- Ġ 4 0 f , Ġcanvas . height - threshold + 1 2 , Ġpaint ) ĊĠĠĠĠĠĠĠ Ġcanvas . draw Text (" Threshold : Ġ${ threshold . round ToInt () }", Ġcanvas . width . toFloat ()/ 2 - 1 2 0 , Ġcanvas . height . toFloat ()- 3 0 , paint ) ĊĊĠĠĠĠĠĠĠ Ġpath . reset () ĊĠĠĠĠĠĠĠ Ġpath . moveTo ( 5 0 f , canvas . height - threshold ) ĊĠĠĠĠĠĠĠ Ġpath . lineTo ( canvas . width . toFloat ()- 4 8 , Ġcanvas . height - threshold ) ĊĠĠĠĠĠĠĠ Ġpath . close () ĊĠĠĠĠĠĠĠ Ġpaint . stroke Width Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠ Ġpaint . path Effect Ġ= ĠDash Path Effect ( float ArrayOf ( 1 0 f , Ġ 2 0 f ), Ġ 0 f ) ĊĠĠĠĠĠĠĠ Ġpaint . style Ġ= ĠPaint . Style . ST RO KE ĊĠĠĠĠĠĠĠ Ġcanvas . draw Path ( path , Ġpaint ) ĊĊĠĠĠ Ġ} Ċ }