package Ġcom . ric ardo jr so usa . mov ook . utils Ċ Ċ import Ġandroid . graphics .* Ċ import Ġcom . squareup . pic asso . Transformation Ċ Ċ class ĠRo unded Transformation ( private Ġval Ġradius : ĠFloat ? Ġ= Ġnull , Ġprivate Ġval Ġmargin : ĠFloat Ġ= Ġ 0 f ) Ġ: ĊĠĠĠ ĠTransformation Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġtransform ( source : ĠBitmap ): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpaint Ġ= ĠPaint (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Anti Alias Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshader Ġ= ĠBitmap Shader ( source , ĠShader . Tile Mode . CLAMP , ĠShader . Tile Mode . CLAMP ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= ĠBitmap . create Bitmap ( source . width , Ġsource . height , ĠBitmap . Config . ARGB _ 8 8 8 8 ) ĊĠĠĠĠĠĠĠ ĠCanvas ( output ). draw Round Rect ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmargin , Ġmargin , Ġsource . width Ġ- Ġmargin , Ġsource . height Ġ- Ġmargin , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġradius Ġ?: Ġsource . width . toFloat () Ġ/ Ġ 2 , Ġradius Ġ?: Ġsource . height . toFloat () Ġ/ Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaint ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ( source Ġ!= Ġoutput ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource . recycle () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġoutput ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġkey (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" rounded ( radius =$ radius , Ġmargin =$ margin )" ĊĠĠĠ Ġ} Ċ }