package Ġch . lead rian . samp . k amp . view . composite Ċ Ċ import Ġch . lead rian . samp . k amp . core . api . constants . Text Draw Alignment Ċ import Ġch . lead rian . samp . k amp . core . api . constants . Text Draw Font Ċ import Ġch . lead rian . samp . k amp . core . api . data . Color Ċ import Ġch . lead rian . samp . k amp . core . api . data . Colors Ċ import Ġch . lead rian . samp . k amp . core . api . entity . Player Ċ import Ġch . lead rian . samp . k amp . core . api . text . Text Key Ċ import Ġch . lead rian . samp . k amp . view . Value Supplier Ċ import Ġch . lead rian . samp . k amp . view . View Context Ċ import Ġch . lead rian . samp . k amp . view . base . Background View Ċ import Ġch . lead rian . samp . k amp . view . base . Click ableView Ċ import Ġch . lead rian . samp . k amp . view . base . Text Transformer Ċ import Ġch . lead rian . samp . k amp . view . base . TextView Ċ import Ġch . lead rian . samp . k amp . view . base . onClick Ċ import Ġch . lead rian . samp . k amp . view . factory . View Factory Ċ import Ġch . lead rian . samp . k amp . view . layout . View Dimension Ċ import Ġch . lead rian . samp . k amp . view . layout . percent Ċ import Ġch . lead rian . samp . k amp . view . layout . pixels Ċ import Ġch . lead rian . samp . k amp . view . style . ButtonStyle Ċ import Ġch . lead rian . samp . k amp . view . style . Style Ċ import Ġjava . util . Locale Ċ Ċ open Ġclass ĠButton View ( ĊĠĠĠĠĠĠĠ Ġplayer : ĠPlayer , ĊĠĠĠĠĠĠĠ Ġview Context : ĠView Context , ĊĠĠĠĠĠĠĠ Ġview Factory : ĠView Factory Ċ ) Ġ: ĠClick ableView ( player , Ġview Context ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġbackground View : ĠBackground View ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠtextView : ĠTextView ĊĊĠĠĠ Ġvar Ġtext Padding : ĠView Dimension Ġ= Ġ 0 . pixels () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground View . set Padding ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠbackgroundColor Supplier : ĠValue Supplier < Color > Ġ= ĠValue Supplier ( Colors . GRE Y ) ĊĊĠĠĠ Ġvar ĠbackgroundColor : ĠColor Ġby ĠbackgroundColor Supplier ĊĊĠĠĠ Ġfun ĠbackgroundColor ( backgroundColor Supplier : Ġ() Ġ-> ĠColor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . backgroundColor Supplier . value ( backgroundColor Supplier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġdisabled BackgroundColor Supplier : ĠValue Supplier < Color > Ġ= ĠValue Supplier ( Colors . LIGHT _ GRAY ) ĊĊĠĠĠ Ġvar Ġdisabled BackgroundColor : ĠColor Ġby Ġdisabled BackgroundColor Supplier ĊĊĠĠĠ Ġfun Ġdisabled BackgroundColor ( disabled BackgroundColor Supplier : Ġ() Ġ-> ĠColor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . disabled BackgroundColor Supplier . value ( disabled BackgroundColor Supplier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġtext BackgroundColor Supplier : ĠValue Supplier < Color > Ġ= ĠValue Supplier ( Colors . BLACK ) ĊĊĠĠĠ Ġvar Ġtext BackgroundColor : ĠColor Ġby Ġtext BackgroundColor Supplier ĊĊĠĠĠ Ġfun Ġtext BackgroundColor ( text BackgroundColor Supplier : Ġ() Ġ-> ĠColor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . text BackgroundColor Supplier . value ( text BackgroundColor Supplier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġdisabled Text BackgroundColor Supplier : ĠValue Supplier < Color > Ġ= ĠValue Supplier ( Colors . DARK _ GRAY ) ĊĊĠĠĠ Ġvar Ġdisabled Text BackgroundColor : ĠColor Ġby Ġdisabled Text BackgroundColor Supplier ĊĊĠĠĠ Ġfun Ġdisabled Text BackgroundColor ( disabled Text BackgroundColor Supplier : Ġ() Ġ-> ĠColor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . disabled Text BackgroundColor Supplier . value ( disabled Text BackgroundColor Supplier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠtextColor Supplier : ĠValue Supplier < Color > Ġ= ĠValue Supplier ( Colors . BLACK ) ĊĊĠĠĠ Ġvar ĠtextColor : ĠColor Ġby ĠtextColor Supplier ĊĊĠĠĠ Ġfun ĠtextColor ( textColor Supplier : Ġ() Ġ-> ĠColor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . textColor Supplier . value ( textColor Supplier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġdisabled TextColor Supplier : ĠValue Supplier < Color > Ġ= ĠValue Supplier ( Colors . DARK _ GRAY ) ĊĊĠĠĠ Ġvar Ġdisabled TextColor : ĠColor Ġby Ġdisabled TextColor Supplier ĊĊĠĠĠ Ġfun Ġdisabled TextColor ( disabled TextColor Supplier : Ġ() Ġ-> ĠColor ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . disabled TextColor Supplier . value ( disabled TextColor Supplier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġfont : ĠText Draw Font ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠtextView . font ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . font Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġoutline Size : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠtextView . outline Size ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . outline Size Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġshadow Size : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠtextView . shadow Size ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . shadow Size Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġalignment : ĠText Draw Alignment ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠtextView . alignment ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . alignment Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġtext : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠtextView . text ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġtext Transformer : ĠText Transformer ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠtextView . text Transformer ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Transformer Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Text ( text : ĠString , Ġvar arg Ġargs : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . textView . setText ( text , Ġ* args ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Text ( text Key : ĠText Key ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . textView . setText ( text Key ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Text ( text Key : ĠText Key , Ġvar arg Ġargs : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . textView . setText ( text Key , Ġ* args ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtext ( text Supplier : Ġ( Locale ) Ġ-> ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . textView . text ( text Supplier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġapply Style ( style : ĠStyle ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . apply Style ( style ) ĊĠĠĠĠĠĠĠ Ġif Ġ( style Ġis ĠButton Style ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Padding Ġ= Ġstyle . button Text Padding ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= Ġstyle . button BackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled BackgroundColor Ġ= Ġstyle . disabled Button BackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextColor Ġ= Ġstyle . button TextColor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled TextColor Ġ= Ġstyle . disabled Button TextColor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext BackgroundColor Ġ= Ġstyle . button Text BackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Text BackgroundColor Ġ= Ġstyle . disabled ButtonText BackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfont Ġ= Ġstyle . button Text Font ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutline Size Ġ= Ġstyle . button Text Outline Size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshadow Size Ġ= Ġstyle . button Text Shadow Size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalignment Ġ= Ġstyle . button Text Alignment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Transformer Ġ= Ġstyle . button Text Transformer ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( view Factory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground View Ġ= Ġthis @ Button View . background View Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this @ Button View . isEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Button View . backgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Button View . disabled BackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Padding ( text Padding ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ{ Ġthis @ Button View . click () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView Ġ= ĠtextView Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this @ Button View . isEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Button View . textColor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Button View . disabled TextColor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this @ Button View . isEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Button View . text BackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Button View . disabled Text BackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalignment Ġ= ĠText Draw Alignment . CENTER ED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfont Ġ= ĠText Draw Font . FONT 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutline Size Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshadow Size Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġletter Height Ġ= Ġ 1 0 0 . percent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ{ Ġthis @ Button View . click () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġenable () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Enable () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Enable () ĊĠĠĠĠĠĠĠ Ġbackground View . enable () ĊĠĠĠĠĠĠĠ ĠtextView . enable () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Disable () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Disable () ĊĠĠĠĠĠĠĠ Ġbackground View . disable () ĊĠĠĠĠĠĠĠ ĠtextView . disable () ĊĠĠĠ Ġ} Ċ Ċ }