package Ġcom . arch eros . road map . util Ċ Ċ import Ġandroid . graphics .* Ċ import Ġcom . squareup . pic asso . Transformation Ċ Ċ class ĠRo unded C orners Transform Ġ: ĠTransformation Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtransform ( source : ĠBitmap ): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= ĠMath . min ( source . width , Ġsource . height ) ĊĠĠĠĠĠĠĠ Ġval Ġx Ġ= Ġ( source . width Ġ- Ġsize ) Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġ( source . height Ġ- Ġsize ) Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġval Ġsquared Bitmap Ġ= ĠBitmap . create Bitmap ( source , Ġx , Ġy , Ġsize , Ġsize ) ĊĠĠĠĠĠĠĠ Ġif Ġ( squared Bitmap Ġ!= Ġsource ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource . recycle () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= Ġsize Ġ/ Ġ 2 f ĊĠĠĠĠĠĠĠ Ġval Ġrounded Bitmap Ġ= Ġcreate Rounded Rect Bitmap ( squared Bitmap , Ġr , Ġr , Ġr , Ġr ) ĊĠĠĠĠĠĠĠ Ġsquared Bitmap . recycle () ĊĠĠĠĠĠĠĠ Ġreturn Ġrounded Bitmap ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġkey (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" rounded _ corners " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate Rounded Rect Bitmap ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap : ĠBitmap , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtop Left Corner : ĠFloat , Ġtop Right Corner : ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Right Corner : ĠFloat , Ġbottom Left Corner : ĠFloat ĊĠĠĠĠĠĠĠ Ġ): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= ĠBitmap . create Bitmap ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap . width , Ġbitmap . height , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap . Config . ARGB _ 8 8 8 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcanvas Ġ= ĠCanvas ( output ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= ĠColor . WHITE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpaint Ġ= ĠPaint () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrect Ġ= ĠRect ( 0 , Ġ 0 , Ġbitmap . width , Ġbitmap . height ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrect F Ġ= ĠRect F ( rect ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpath Ġ= ĠPath () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrad ii Ġ= Ġfloat ArrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Left Corner , Ġbottom Left Corner , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Right Corner , Ġtop Right Corner , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Right Corner , Ġbottom Right Corner , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Left Corner , Ġbottom Left Corner ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaint . is Anti Alias Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw ARGB ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaint . color Ġ= Ġcolor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath . add Round Rect ( rect F , Ġrad ii , ĠPath . Direction . CW ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Path ( path , Ġpaint ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaint . xfer mode Ġ= ĠPort er D uff X fer mode ( Port er D uff . Mode . SRC _ IN ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . draw Bitmap ( bitmap , Ġrect , Ġrect , Ġpaint ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġoutput ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }