/* Ċ Ġ* ĠCopyright Ġ( c ) ĠFacebook , ĠInc . Ġand Ġits Ġaffiliates . Ċ Ġ* Ċ Ġ* ĠThis Ġsource Ġcode Ġis Ġlicensed Ġunder Ġthe ĠMIT Ġlicense Ġfound Ġin Ġthe Ċ Ġ* ĠLICENSE Ġfile Ġin Ġthe Ġroot Ġdirectory Ġof Ġthis Ġsource Ġtree . Ċ Ġ*/ Ċ Ċ package Ġcom . facebook . f resco . samples . show case . v ito . renderer Ċ Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Color Filter Ċ import Ġandroid . graphics . PixelFormat Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . facebook . f resco . samples . show case . Base Show case Kotlin Fragment Ċ import Ġcom . facebook . f resco . samples . show case . R Ċ import Ġcom . facebook . f resco . samples . show case . v ito . V ito Spin ners Ċ import Ġcom . facebook . f resco . v ito . core . impl . Image Layer DataModel Ċ import Ġcom . facebook . f resco . v ito . core . impl . get Canvas Transformation Ċ import Ġcom . facebook . f resco . v ito . options . Round ing Options Ċ import Ġcom . facebook . f resco . v ito . renderer . Bitmap Image DataModel Ċ import Ġcom . facebook . f resco . v ito . renderer . Color Int Image DataModel Ċ import Ġcom . facebook . f resco . v ito . renderer . Drawable Image DataModel Ċ import Ġcom . facebook . f resco . v ito . renderer . Image DataModel Ċ Ċ class ĠV ito Layer Example Ġ: ĠBase Show case Kotlin Fragment () Ġ{ ĊĊĠ Ġclass ĠExample Image Layer Drawable ( private Ġval Ġimage Layer DataModel : ĠImage Layer DataModel ) Ġ: ĊĠĠĠĠĠ ĠDrawable () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġdraw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠ Ġimage Layer DataModel . configure ( bounds Ġ= Ġbounds ) ĊĠĠĠĠĠ Ġimage Layer DataModel . draw ( canvas ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Alpha ( alpha : ĠInt ) Ġ= ĠUnit ĊĊĠĠĠ Ġoverride Ġfun Ġset Color Filter ( color Filter : ĠColor Filter ?) Ġ= ĠUnit ĊĊĠĠĠ Ġoverride Ġfun Ġget Opacity (): ĠInt Ġ= ĠPixel Format . TRANSP ARENT ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon View Created ( container : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġval Ġw Ġ= Ġ 1 0 0 . dp To Px () ĊĠĠĠ Ġval Ġh Ġ= Ġ 1 0 0 . dp To Px () ĊĠĠĠ Ġcontainer . findViewById < LinearLayout >( R . id . list ). apply Ġ{ ĊĠĠĠĠĠ Ġadd Text (" Example ĠView Ġdimensions : Ġ$ w Ġx Ġ$ h Ġpx ") ĊĠĠĠĠĠ Ġadd Scale Type Examples ( ĊĠĠĠĠĠĠĠĠĠ Ġw , ĊĠĠĠĠĠĠĠĠĠ Ġh , ĊĠĠĠĠĠĠĠĠĠ Ġ" Scale ĠTypes , Ġbitmap Ġ 1 6 0 x 9 0 ", ĊĠĠĠĠĠĠĠĠĠ ĠBitmap Image DataModel ( create Sample Bitmap ( 1 6 0 , Ġ 9 0 , Ġ 1 2 7 ))) ĊĠĠĠĠĠ Ġadd Scale Type Examples ( ĊĠĠĠĠĠĠĠĠĠ Ġw , ĊĠĠĠĠĠĠĠĠĠ Ġh , ĊĠĠĠĠĠĠĠĠĠ Ġ" Scale ĠTypes , Ġbitmap Ġ 3 2 0 x 9 0 ", ĊĠĠĠĠĠĠĠĠĠ ĠBitmap Image DataModel ( create Sample Bitmap ( 3 2 0 , Ġ 9 0 , Ġ 1 2 7 ))) ĊĠĠĠĠĠ Ġadd Scale Type Examples ( ĊĠĠĠĠĠĠĠĠĠ Ġw , ĊĠĠĠĠĠĠĠĠĠ Ġh , ĊĠĠĠĠĠĠĠĠĠ Ġ" Scale ĠTypes , Ġbitmap Ġ 9 0 x 1 6 0 ", ĊĠĠĠĠĠĠĠĠĠ ĠBitmap Image DataModel ( create Sample Bitmap ( 9 0 , Ġ 1 6 0 , Ġ 1 2 7 ))) ĊĠĠĠĠĠ Ġadd Scale Type Examples ( ĊĠĠĠĠĠĠĠĠĠ Ġw , ĊĠĠĠĠĠĠĠĠĠ Ġh , ĊĠĠĠĠĠĠĠĠĠ Ġ" Scale ĠTypes , Ġbitmap Ġ 9 0 x 3 2 0 ", ĊĠĠĠĠĠĠĠĠĠ ĠBitmap Image DataModel ( create Sample Bitmap ( 9 0 , Ġ 3 2 0 , Ġ 1 2 7 ))) ĊĠĠĠĠĠ Ġadd Scale Type Examples ( ĊĠĠĠĠĠĠĠĠĠ Ġw , ĊĠĠĠĠĠĠĠĠĠ Ġh , ĊĠĠĠĠĠĠĠĠĠ Ġ" Scale ĠTypes , Ġbitmap Ġ 8 0 0 x 6 0 0 ", ĊĠĠĠĠĠĠĠĠĠ ĠBitmap Image DataModel ( create Sample Bitmap ( 8 0 0 , Ġ 6 0 0 , Ġ 1 2 7 ))) ĊĠĠĠĠĠ Ġadd Scale Type Examples ( w , Ġh , Ġ" Scale ĠTypes , Ġcolor Ġint ", ĠColor Int Image DataModel ( Color . RED )) ĊĠĠĠĠĠ Ġadd Scale Type Examples ( ĊĠĠĠĠĠĠĠĠĠ Ġw , ĊĠĠĠĠĠĠĠĠĠ Ġh , ĊĠĠĠĠĠĠĠĠĠ Ġ" Scale ĠTypes , Ġdrawable ", ĊĠĠĠĠĠĠĠĠĠ ĠDrawable Image DataModel ( Context Compat . get Drawable ( context , ĠR . drawable . logo ) !! )) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun ĠLinearLayout . add Scale Type Examples ( ĊĠĠĠĠĠ Ġw : ĠInt , ĊĠĠĠĠĠ Ġh : ĠInt , ĊĠĠĠĠĠ Ġtitle : ĠString , ĊĠĠĠĠĠ Ġimage DataModel : ĠImage DataModel ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġadd Row ( title , Ġtrue ) Ġ{ ĊĠĠĠĠĠ Ġfor Ġ( entry Ġin ĠV ito Spin ners . scale Types . first ) Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Layer Example ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentry . first , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġw , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImage Layer DataModel (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Model Ġ= Ġimage DataModel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas Transformation Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentry . second . first ?. get Canvas Transformation ( entry . second . second ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrounding Options Ġ= ĠRound ing Options . as Circle ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun ĠLinearLayout . add Layer Example ( ĊĠĠĠĠĠ Ġtitle : ĠString , ĊĠĠĠĠĠ Ġw : ĠInt , ĊĠĠĠĠĠ Ġh : ĠInt , ĊĠĠĠĠĠ Ġimage Layer DataModel : ĠImage Layer DataModel ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġadd ImageView With Text ( title , Ġw , Ġh ) Ġ{ ĊĠĠĠĠĠ Ġset Image Drawable ( Example Image Layer Drawable ( image Layer DataModel )) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ