package Ġme . anno . ui . base . groups Ċ Ċ import Ġme . anno . ui . Panel Ċ import Ġme . anno . ui . style . Style Ċ import Ġkotlin . math . max Ċ Ċ open Ġclass ĠPanel Stack ( sorter : ĠComparator < Panel > ?, Ġstyle : ĠStyle ) Ġ: ĠPanel List ( sorter , Ġstyle ) Ġ{ ĊĊĠĠĠ Ġconstructor ( style : ĠStyle ) Ġ: Ġthis ( null , Ġstyle ) ĊĊĠĠĠ Ġoverride Ġfun Ġcalculate Size ( w : ĠInt , Ġh : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . calculate Size ( w , Ġh ) ĊĠĠĠĠĠĠĠ Ġvar Ġmin W Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġmin H Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( child Ġin Ġchildren ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild . calculate Size ( w , Ġh ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin W Ġ= Ġmax ( min W , Ġchild . min W ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin H Ġ= Ġmax ( min H , Ġchild . min H ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . min W Ġ= Ġmin W ĊĠĠĠĠĠĠĠ Ġthis . min H Ġ= Ġmin H ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Position ( x : ĠInt , Ġy : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setPosition ( x , Ġy ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( child Ġin Ġchildren ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild . set Pos Size ( x , Ġy , Ġw , Ġh ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġif Ġthey Ġare Ġoverlapping , Ġwe Ġneed Ġto Ġredraw Ġthe Ġothers Ġas Ġwell ĊĠĠĠ Ġoverride Ġfun Ġcaptures Child Events ( lx 0 : ĠInt , Ġly 0 : ĠInt , Ġlx 1 : ĠInt , Ġly 1 : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw s Overlay Over Children ( lx 0 : ĠInt , Ġly 0 : ĠInt , Ġlx 1 : ĠInt , Ġly 1 : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġchildren . size Ġ> Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclone (): ĠPanel Stack Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclone Ġ= ĠPanel Stack ( sorter , Ġstyle ) ĊĠĠĠĠĠĠĠ Ġcopy ( clone ) ĊĠĠĠĠĠĠĠ Ġreturn Ġclone ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval ĠclassName : ĠString Ġ= Ġ" Panel Stack " Ċ Ċ }