package Ġcom . extensions Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . drawable . Bitmap Drawable Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . util . Display Metrics Ċ import Ġandroidx . core . content . Context Compat Ċ Ċ fun ĠContext . get Dim en ( dim en : ĠInt ) Ġ= Ġresources . get Dimension ( dim en ) Ċ Ċ fun ĠContext . get Compact Color ( color : ĠInt ) Ġ= ĠContext Compat . getColor ( this , Ġcolor ) Ċ Ċ fun ĠContext . get Compact Drawable ( drawable : ĠInt ) Ġ= ĠContext Compat . get Drawable ( this , Ġdrawable ) Ċ Ċ fun ĠContext . getColor State ( color : ĠInt ) Ġ= ĠContext Compat . getColor State List ( this , Ġcolor ) ĊĊ Ċ fun ĠContext . dp To Px ( dp : ĠFloat ): ĠFloat Ġ{ ĊĠĠĠ Ġval Ġdisplay Metrics Ġ= Ġthis . resources . display Metrics ĊĠĠĠ Ġreturn ĠMath . round ( dp Ġ* Ġ( display Metrics . xd pi Ġ/ ĠDisplay Metrics . D ENS ITY _ DEFAULT )). toFloat () Ċ } Ċ Ċ /** Ċ Ġ* Ġthe Ġnormal Ġ[ Drawable . to Bitmap ] Ġmethod Ġcrashes Ġwhen Ġusing Ġcolor Ġdraw ables , Ġthis Ġmethod Ġworks Ċ Ġ*/ Ċ fun ĠDrawable . to Bitmap (): ĠBitmap Ġ{ ĊĠĠĠ Ġif Ġ( this Ġis ĠBitmap Drawable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbitmap ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġwidth Ġ= Ġif Ġ( bounds . isEmpty ) Ġintr insic Width Ġelse Ġbounds . width () ĊĠĠĠ Ġval Ġheight Ġ= Ġif Ġ( bounds . isEmpty ) Ġintr insic Height Ġelse Ġbounds . height () ĊĊĠĠĠ Ġreturn ĠBitmap . create Bitmap ( width . non Zero (), Ġheight . non Zero (), ĠBitmap . Config . ARGB _ 8 8 8 8 ). also Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcanvas Ġ= ĠCanvas ( it ) ĊĠĠĠĠĠĠĠ Ġset Bounds ( 0 , Ġ 0 , Ġcanvas . width , Ġcanvas . height ) ĊĠĠĠĠĠĠĠ Ġdraw ( canvas ) ĊĠĠĠ Ġ} Ċ }