package Ġcom . le ha ine . little kt . graph . node . ui Ċ Ċ import Ġcom . le ha ine . little kt . graph . Scene Graph Ċ import Ġcom . le ha ine . little kt . graph . node . Node Ċ import Ġcom . le ha ine . little kt . graph . node . addTo Ċ import Ġcom . le ha ine . little kt . graph . node . annotation . Scene Graph Dsl Marker Ċ import Ġcom . le ha ine . little kt . graph . node . component . Drawable Ċ import Ġcom . le ha ine . little kt . graphics . Batch Ċ import Ġcom . le ha ine . little kt . graphics . Camera Ċ import Ġkotlin . contracts . Experimental Contracts Ċ import Ġkotlin . contracts . Invocation Kind Ċ import Ġkotlin . contracts . contract Ċ Ċ /** Ċ Ġ* ĠAdds Ġa Ġ[ Panel ] Ġto Ġthe Ġcurrent Ġ[ Node ] Ġas Ġa Ġchild Ġand Ġthen Ġtriggers Ġthe Ġ[ callback ] Ċ Ġ* Ġ@ param Ġcallback Ġthe Ġcallback Ġthat Ġis Ġinvoked Ġwith Ġa Ġ[ Panel ] Ġcontext Ġin Ġorder Ġto Ġinitialize Ġany Ġvalues Ċ Ġ* Ġ@ return Ġthe Ġnewly Ġcreated Ġ[ Panel ] Ċ Ġ*/ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ inline Ġfun ĠNode . panel ( callback : Ġ@ Scene Graph Dsl Marker ĠPanel . () Ġ-> ĠUnit Ġ= Ġ{} ): ĠPanel Ġ{ ĊĠĠĠ Ġcontract Ġ{ Ġcalls In Place ( callback , ĠInvocation Kind . EX ACT LY _ ON CE ) Ġ} ĊĠĠĠ Ġreturn ĠPanel (). also ( callback ). addTo ( this ) Ċ } Ċ Ċ /** Ċ Ġ* ĠAdds Ġa Ġ[ Panel ] Ġto Ġthe Ġ Ġ[ Scene Graph . root ] Ġas Ġa Ġchild Ġand Ġthen Ġtriggers Ġthe Ġ[ callback ] Ċ Ġ* Ġ@ param Ġcallback Ġthe Ġcallback Ġthat Ġis Ġinvoked Ġwith Ġa Ġ[ Panel ] Ġcontext Ġin Ġorder Ġto Ġinitialize Ġany Ġvalues Ċ Ġ* Ġ@ return Ġthe Ġnewly Ġcreated Ġ[ Panel ] Ċ Ġ*/ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ inline Ġfun ĠScene Graph <* >. panel ( callback : Ġ@ Scene Graph Dsl Marker ĠPanel . () Ġ-> ĠUnit Ġ= Ġ{} ): ĠPanel Ġ{ ĊĠĠĠ Ġcontract Ġ{ Ġcalls In Place ( callback , ĠInvocation Kind . EX ACT LY _ ON CE ) Ġ} ĊĠĠĠ Ġreturn Ġroot . panel ( callback ) Ċ } ĊĊ Ċ /** Ċ Ġ* ĠA Ġ[ Control ] Ġthat Ġprovides Ġan Ġopaque Ġbackground . Ċ Ġ* Ġ@ author ĠCol ton ĠDaily Ċ Ġ* Ġ@ date Ġ 1 / 2 1 / 2 0 2 2 Ċ Ġ*/ Ċ open Ġclass ĠPanel Ġ: ĠControl () Ġ{ ĊĊĠĠĠ Ġvar Ġmode : ĠMode Ġ= ĠMode . BACKGROUND ĊĊĠĠĠ Ġvar Ġpanel : ĠDrawable ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget Theme Drawable ( panel Theme Var ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawable Overrides [ panel Theme Var ] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġpanel Theme Var Ġget () Ġ= Ġif Ġ( mode Ġ== ĠMode . BACKGROUND ) Ġtheme Vars . panel Ġelse Ġtheme Vars . panel Foreground ĊĊĠĠĠ Ġoverride Ġfun Ġrender ( batch : ĠBatch , Ġcamera : ĠCamera ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpanel . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . draw ( batch , Ġglobal X , Ġglobal Y , Ġwidth , Ġheight , Ġscale X , Ġscale Y , Ġrotation , Ġit . mod ulate ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠMode Ġ{ ĊĠĠĠĠĠĠĠ ĠBACK GROUND , ĊĠĠĠĠĠĠĠ ĠFO REG ROUND ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠTheme Vars Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpanel Ġ= Ġ" panel " ĊĠĠĠĠĠĠĠ Ġval Ġpanel Foreground Ġ= Ġ" panel Fg " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtheme Vars Ġ= ĠTheme Vars () ĊĠĠĠ Ġ} Ċ }