package Ġme . anno . ui . base . text Ċ Ċ import Ġme . anno . config . Default Style Ċ import Ġme . anno . ecs . pref ab . Prefab Save able Ċ import Ġme . anno . gpu . GFX Ċ import Ġme . anno . gpu . drawing . Draw Texts Ċ import Ġme . anno . ui . Panel Ċ import Ġme . anno . ui . base . constraints . AxisAlignment Ċ import Ġme . anno . ui . style . Style Ċ import Ġkotlin . math . max Ċ Ċ open Ġclass ĠSimple Text Panel ( style : ĠStyle ) Ġ: ĠPanel ( style ) Ġ{ ĊĊĠĠĠ Ġvar Ġtext Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue 2 Ġ= Ġvalue . trim () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( field Ġ!= Ġvalue 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinvalidate Drawing () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar ĠtextColor Ġ= Ġstyle . getColor (" textColor ", ĠDefault Style . icon Gray ) ĊĠĠĠ Ġvar Ġfocus TextColor Ġ= Ġstyle . getColor (" textColor Focused ", Ġ- 1 ) ĊĊĠĠĠ Ġoverride Ġfun Ġcalculate Size ( w : ĠInt , Ġh : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfont Ġ= ĠDraw Texts . mono space Font ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġtext . if Empty Ġ{ Ġ"." Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . calculate Size ( w , Ġh ) ĊĠĠĠĠĠĠĠ Ġval Ġw 2 Ġ= Ġfont . sample Width Ġ* Ġtext . length Ġ+ Ġ 4 ĊĠĠĠĠĠĠĠ Ġval Ġh 2 Ġ= Ġfont . sample Height Ġ+ Ġ 4 ĊĠĠĠĠĠĠĠ Ġmin W Ġ= Ġmax ( 1 , Ġw 2 ) ĊĠĠĠĠĠĠĠ Ġmin H Ġ= Ġmax ( 1 , Ġh 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( x 0 : ĠInt , Ġy 0 : ĠInt , Ġx 1 : ĠInt , Ġy 1 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdraw Background ( x 0 , Ġy 0 , Ġx 1 , Ġy 1 ) ĊĠĠĠĠĠĠĠ ĠG FX . load Textures Sync . push ( true ) ĊĠĠĠĠĠĠĠ Ġval Ġoffset Ġ= Ġwhen Ġ( alignment X ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAxis Alignment . MIN Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAxis Alignment . CENTER Ġ-> Ġw Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAxis Alignment . MAX Ġ-> Ġw Ġ- Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠDraw Texts . draw Simple Text Char By Char ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx Ġ+ Ġoffset , Ġy Ġ+ Ġ 2 , Ġ 2 , Ġ// Ġid k ... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext , ĠtextColor , ĠbackgroundColor , Ġalignment X ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠG FX . load Textures Sync . pop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclone (): ĠSimple Text Panel Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclone Ġ= ĠSimple Text Panel ( style ) ĊĠĠĠĠĠĠĠ Ġcopy ( clone ) ĊĠĠĠĠĠĠĠ Ġreturn Ġclone ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcopy ( clone : ĠPref ab Save able ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . copy ( clone ) ĊĠĠĠĠĠĠĠ Ġclone Ġas ĠSimple Text Panel ĊĠĠĠĠĠĠĠ Ġclone . text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġclone . textColor Ġ= ĠtextColor ĊĠĠĠĠĠĠĠ Ġclone . focus TextColor Ġ= Ġfocus TextColor ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval ĠclassName : ĠString Ġ= Ġ" Simple Text Panel " Ċ Ċ }