package Ġorg . dh is 2 . u ic omp onent s . map Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . drawable . Bitmap Drawable Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġorg . dh is 2 . Bindings . dp Ċ import Ġorg . dh is 2 . R Ċ Ċ object ĠTe i Markers Ġ{ ĊĊĠĠĠ Ġfun Ġget Marker ( context : ĠContext , Ġbitmap : ĠBitmap ): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdrawable : ĠDrawable Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . get Drawable ( context , ĠR . drawable . ic _ image _ poi ) !! ĊĠĠĠĠĠĠĠ Ġdrawable . mutate () ĊĊĠĠĠĠĠĠĠ Ġval Ġcanvas Marker Ġ= ĠBitmap . create Bitmap ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . intrinsic Width , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . intrinsic Height , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap . Config . ARGB _ 8 8 8 8 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġmarker Bitmap Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap . create Bitmap ( canvas Marker . width , Ġcanvas Marker . height , Ġcanvas Marker . config ) ĊĠĠĠĠĠĠĠ Ġval Ġcanvas Ġ= ĠCanvas ( marker Bitmap ) ĊĊĠĠĠĠĠĠĠ Ġdrawable . setBounds ( 0 , Ġ 0 , Ġcanvas . width , Ġcanvas . height ) ĊĠĠĠĠĠĠĠ Ġdrawable . draw ( canvas ) ĊĊĠĠĠĠĠĠĠ Ġcanvas . draw Bitmap ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas . width Ġ/ Ġ 2 f Ġ- Ġbitmap . width Ġ/ Ġ 2 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 . dp . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġmarker Bitmap ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Marker ( context : ĠContext , Ġte i Image : ĠDrawable , Ġcolor : ĠInt ): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Marker ( context , Ġdrawable To Bitmap ( te i Image )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdrawable To Bitmap ( drawable : ĠDrawable ): ĠBitmap Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( drawable Ġis ĠBitmap Drawable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Drawable : ĠBitmap Drawable Ġ= Ġdrawable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bitmap Drawable . bitmap Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbitmap Drawable . bitmap ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġbitmap : ĠBitmap Ġ= Ġif Ġ( drawable . intrinsic Width Ġ<= Ġ 0 Ġ|| Ġdrawable . intrinsic Height Ġ<= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap . create Bitmap ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap . Config . ARGB _ 8 8 8 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ// ĠSingle Ġcolor Ġbitmap Ġwill Ġbe Ġcreated Ġof Ġ 1 x 1 Ġpixel ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap . create Bitmap ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . intrinsic Width , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable . intrinsic Height , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap . Config . ARGB _ 8 8 8 8 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġcanvas Ġ= ĠCanvas ( bitmap ) ĊĠĠĠĠĠĠĠ Ġdrawable . setBounds ( 0 , Ġ 0 , Ġcanvas . width , Ġcanvas . height ) ĊĠĠĠĠĠĠĠ Ġdrawable . draw ( canvas ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbitmap ĊĠĠĠ Ġ} Ċ } Ċ