package Ġv ad io le . color picker Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . util . Display Metrics Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . WindowManager Ċ import Ġandroidx . annotation . Attr Res Ċ import Ġandroidx . annotation . Color Int Ċ import Ġandroidx . core . content . res . use Ċ Ċ fun Ġscreen Dimensions ( context : ĠContext ): ĠDisplay Metrics Ġ{ ĊĠĠĠ Ġval Ġmanager Ġ= Ġcontext . getSystem Service ( Context . WINDOW _ SERVICE ) Ġas ĠWindow Manager ĊĠĠĠ Ġval Ġmetrics Ġ= ĠDisplay Metrics () ĊĠĠĠ Ġmanager . default Display . get Metrics ( metrics ) ĊĠĠĠ Ġreturn Ġmetrics Ċ } Ċ Ċ internal Ġval ĠContext . orientation ĊĠĠĠ Ġget () Ġ= Ġresources . configuration . orientation Ċ Ċ internal Ġin fix Ġfun ĠInt . percent Of ( n : ĠInt ): ĠInt Ġ= Ġ( n Ġ* Ġ( this Ġ/ Ġ 1 0 0 . 0 )). toInt () Ċ Ċ internal Ġfun Ġhue ( color : ĠInt ): ĠInt Ġ= Ġh sv Component ( color , Ġ 0 ) Ċ internal Ġfun Ġsat uration ( color : ĠInt ): ĠInt Ġ= Ġh sv Component ( color , Ġ 1 , Ġ 1 0 0 ) Ċ internal Ġfun Ġvalue ( color : ĠInt ): ĠInt Ġ= Ġh sv Component ( color , Ġ 2 , Ġ 1 0 0 ) Ċ Ċ internal Ġfun Ġh sv Component ( color : ĠInt , Ġindex : ĠInt , Ġmultiplier : ĠInt Ġ= Ġ 1 ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġh sv Ġ= ĠFloat Array ( 3 ) ĊĠĠĠ ĠColor . color To H SV ( color , Ġh sv ) ĊĠĠĠ Ġreturn Ġ( h sv [ index ] Ġ* Ġmultiplier ). toInt () Ċ } Ċ Ċ @ Color Int Ċ internal Ġfun Ġh sv ( hue : ĠFloat , Ġsat uration : ĠFloat , Ġvalue : ĠFloat ): ĠInt Ġ{ ĊĠĠĠ Ġreturn ĠColor . H SV To Color ( float ArrayOf ( hue , Ġsat uration , Ġvalue )) Ċ } Ċ Ċ internal Ġfun ĠView . onClick ( interval Millis : ĠLong Ġ= Ġ 2 0 0 , ĠonClick : Ġ(( View ) Ġ-> ĠUnit )) Ġ{ ĊĠĠĠ Ġset OnClickListener ( De bounc ing OnClickListener ( interval Millis , ĠonClick )) Ċ } Ċ Ċ internal Ġinline Ġval ĠView . abs X Ġget () Ġ= ĠInt Array ( 2 ). apply (:: getLocation On Screen )[ 0 ] Ċ Ċ internal Ġinline Ġval ĠView . abs Y Ġget () Ġ= ĠInt Array ( 2 ). apply (:: getLocation On Screen )[ 1 ] ĊĊ Ċ internal Ġfun ĠView ?. remove Self () Ġ{ ĊĠĠĠ Ġthis Ġ?: Ġreturn ĊĠĠĠ Ġval Ġparent Ġ= Ġparent Ġas ? ĠViewGroup Ġ?: Ġreturn ĊĠĠĠ Ġparent . remove View ( this ) Ċ } Ċ Ċ @ Color Int Ċ internal Ġfun ĠContext . theme Color ( ĊĠĠĠ Ġ@ Attr Res Ġtheme Attr Id : ĠInt , ĊĠĠĠ Ġ@ Color Int Ġdefault : ĠInt Ġ= ĠColor . GRAY Ċ ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġobtain Styled Attributes ( int ArrayOf ( theme Attr Id )). use Ġ{ ĊĠĠĠĠĠĠĠ Ġit . getColor ( 0 , Ġdefault ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġinline Ġval Ġ@ receiver : Color Int ĠInt . hue Ġget () Ġ= Ġh sv Component ( this , Ġ 0 ) Ċ internal Ġinline Ġval Ġ@ receiver : Color Int ĠInt . sat uration Ġget () Ġ= Ġh sv Component ( this , Ġ 1 , Ġ 1 0 0 ) Ċ internal Ġinline Ġval Ġ@ receiver : Color Int ĠInt . value Ġget () Ġ= Ġh sv Component ( this , Ġ 2 , Ġ 1 0 0 ) Ċ