/* Ċ Ġ* Ġ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 . Bitmap Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Color Filter Ċ import Ġandroid . graphics . Matrix Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Horizontal ScrollView Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġcom . facebook . f resco . samples . show case . common . dp To Px Ċ import Ġcom . facebook . f resco . samples . show case . misc . Checker Board Drawable Ċ import Ġcom . facebook . f resco . v ito . renderer . Image DataModel Ċ import Ġcom . facebook . f resco . v ito . renderer . Shape Ċ Ċ fun Ġcreate Sample Bitmap ( w : ĠInt , Ġh : ĠInt , Ġblue : ĠInt Ġ= Ġ 0 ) Ġ= ĊĠĠĠ ĠBitmap . create Bitmap ( w , Ġh , ĠBitmap . Config . ARGB _ 8 8 8 8 ). apply Ġ{ ĊĠĠĠĠĠ Ġfor Ġ( x Ġin Ġ 0 Ġuntil Ġw ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( y Ġin Ġ 0 Ġuntil Ġh ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġset Pixel ( x , Ġy , ĠColor . rgb ( 2 5 5 Ġ* Ġx Ġ/ Ġw , Ġ 2 5 5 Ġ* Ġy Ġ/ Ġh , Ġblue )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ fun ĠLinearLayout . create LinearLayout ( ĊĠĠĠ Ġis Horizontal : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġblock : ĠLinearLayout . () Ġ-> ĠUnit Ċ ): ĠLinearLayout Ġ{ ĊĠ Ġreturn ĠLinearLayout ( context ). apply Ġ{ ĊĠĠĠ Ġthis . orientation Ġ= Ġif Ġ( is Horizontal ) ĠLinearLayout . HORIZONTAL Ġelse ĠLinearLayout . VERTICAL ĊĠĠĠ Ġlayout Params Ġ= ĊĠĠĠĠĠĠĠ ĠLinearLayout . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . WRAP _ CONTENT , ĠViewGroup . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠ Ġblock () ĊĠ Ġ} Ċ } Ċ Ċ fun ĠLinearLayout . add ImageView With Text ( ĊĠĠĠ Ġtitle : ĠString , ĊĠĠĠ Ġw : ĠInt , ĊĠĠĠ Ġh : ĠInt , ĊĠĠĠ Ġpadding : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġblock : ĠImageView . () Ġ-> ĠUnit Ċ ): ĠLinearLayout Ġ{ ĊĠ Ġval Ġll Ġ= Ġcreate LinearLayout Ġ{ ĊĠĠĠ Ġadd Text ( title ) ĊĠĠĠ Ġadd ImageView ( w , Ġh , Ġpadding ). block () ĊĠ Ġ} ĊĠ Ġadd View ( ll ) ĊĠ Ġreturn Ġll Ċ } Ċ Ċ fun ĠLinearLayout . add ImageView ( w : ĠInt , Ġh : ĠInt , Ġpadding : ĠInt Ġ= Ġ 0 ): ĠImageView Ġ{ ĊĠ Ġval Ġmargin Ġ= Ġ 8 . dp To Px ( context ) ĊĠ Ġval Ġview Ġ= ĊĠĠĠĠĠ ĠImageView ( context ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayout . LayoutParams ( w , Ġh ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Margins ( margin , Ġmargin , Ġmargin , Ġmargin ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Padding ( padding , Ġpadding , Ġpadding , Ġpadding ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Background Drawable ( Checker Board Drawable ( resources )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠ Ġadd View ( view ) ĊĠ Ġreturn Ġview Ċ } Ċ Ċ fun ĠLinearLayout . add Row ( ĊĠĠĠ Ġtext : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġscroll H orizontally : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġblock : ĠLinearLayout . () Ġ-> ĠUnit Ċ ) Ġ{ ĊĠ Ġadd Text ( text ) ĊĠ Ġadd View ( ĊĠĠĠĠĠ Ġif Ġ( scroll H orizontally ) Ġ{ ĊĠĠĠĠĠĠĠ ĠHorizontal ScrollView ( context ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayout . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . MATCH _ PARENT , ĠViewGroup . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠĠĠĠĠĠĠ Ġadd View ( create LinearLayout ( true , Ġblock )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate LinearLayout ( true , Ġblock ) ĊĠĠĠĠĠ Ġ}) Ċ } Ċ Ċ fun ĠLinearLayout . add Example ( ĊĠĠĠ Ġw : ĠInt , ĊĠĠĠ Ġh : ĠInt , ĊĠĠĠ Ġimage DataModel : ĠImage DataModel , ĊĠĠĠ Ġshape : ĠShape , ĊĠĠĠ Ġtransformation Matrix : ĠMatrix ? Ġ= Ġnull , ĊĠĠĠ Ġcolor Filter : ĠColor Filter ? Ġ= Ġnull , Ċ ) Ġ{ ĊĠ Ġadd ImageView ( w , Ġh ) ĊĠĠĠĠĠ Ġ. setImage Drawable ( ĊĠĠĠĠĠĠĠĠĠ ĠRenderer Example Drawable ( image DataModel , Ġshape , Ġtransformation Matrix , Ġcolor Filter )) Ċ } Ċ Ċ fun ĠLinearLayout . add Text ( text : ĠString ?) Ġ{ ĊĠ Ġval Ġpadding Ġ= Ġ 8 . dp To Px ( context ) ĊĠ Ġif Ġ( text Ġ!= Ġnull ) Ġ{ ĊĠĠĠ Ġadd View ( ĊĠĠĠĠĠĠĠ ĠTextView ( context ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġthis . text Ġ= Ġtext ĊĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayout . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewGroup . LayoutParams . MATCH _ PARENT , ĠViewGroup . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠĠĠĠĠĠĠ Ġset Padding ( padding , Ġpadding , Ġpadding , Ġpadding ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠ Ġ} Ċ } Ċ