package Ġorg . open rnd r . panel . tools Ċ Ċ import Ġorg . open rnd r . color . Color RGB a Ċ import Ġorg . open rnd r . draw . Drawer Ċ import Ġorg . open rnd r . draw . Font Image Map Ċ import Ġorg . open rnd r . draw . is olated Ċ import Ġorg . open rnd r . math . Vector 2 Ċ import Ġorg . open rnd r . panel . Control Manager Ċ import Ġorg . open rnd r . panel . elements . Body Ċ import Ġorg . open rnd r . panel . elements . Element Ċ import Ġorg . open rnd r . text . writer Ċ import Ġkotlin . math . max Ċ Ċ class ĠTooltip ( val Ġparent : ĠElement , Ġval Ġposition : ĠVector 2 , Ġval Ġmessage : ĠString ) Ġ{ ĊĠĠĠ Ġfun Ġdraw ( drawer : ĠDraw er ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġfont Url Ġ= Ġ( parent . root () Ġas ĠBody ). control Manager . font Manager . resolve (" default ") Ġ?: Ġerror (" no Ġfont ") ĊĠĠĠĠĠĠĠ Ġval ĠfontSize Ġ= Ġ 1 4 . 0 ĊĠĠĠĠĠĠĠ Ġval Ġfont Map Ġ= ĠFont Image Map . from Url ( font Url , ĠfontSize ) ĊĠĠĠĠĠĠĠ Ġval Ġlines Ġ= Ġmessage . split ("\ n ") ĊĊĠĠĠĠĠĠĠ Ġdrawer . is olated Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . font Map Ġ= Ġfont Map ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmax X Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmax Y Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter ( drawer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( line Ġin Ġlines ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Line () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext ( line , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax X Ġ= Ġmax ( max X , Ġcursor . x ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Y Ġ= Ġcursor . y ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgap less NewLine () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Y Ġ= Ġcursor . y ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . translate ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . translate ( 1 0 . 0 , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . stroke Weight Ġ= Ġ 0 . 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . stroke Ġ= ĠColor RGB a . WHITE . op ac ify ( 0 . 2 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . fill Ġ= ĠColor RGB a . GRAY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . rectangle ( 0 . 0 , Ġ 0 . 0 , Ġmax X Ġ+ Ġ 2 0 . 0 , Ġmax Y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . fill Ġ= ĠColor RGB a . BLACK ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . translate ( 1 0 . 0 , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter ( drawer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( line Ġin Ġlines ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Line () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext ( line ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }