/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 . ĠJetBrains Ġs . r . o . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠMIT Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġjet brains . liv emap . demo Ċ Ċ import Ġjet brains . datal ore . base . geometry . Double Vector Ċ import Ġjet brains . datal ore . base . geometry . Rectangle Ċ import Ġjet brains . datal ore . base . geometry . Vector Ċ import Ġjet brains . datal ore . vis . canvas . awt . A wt Animation Timer Peer Ċ import Ġjet brains . datal ore . vis . canvas . awt . A wt Canvas Control Ċ import Ġjet brains . datal ore . vis . canvas . awt . A wt Event Peer Ċ import Ġjava . awt . Dimension Ċ import Ġjavax . swing . J Frame Ċ import Ġjavax . swing . J Frame . EXIT _ ON _ CLOSE Ċ import Ġjavax . swing . JPanel Ċ Ċ class ĠFeatures Raw A wt Demo Ġ{ ĊĠĠĠ Ġfun Ġstart () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcanvas Size Ġ= ĠDimension ( 8 0 0 , Ġ 6 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġcanvas Container Ġ= ĠJPanel ( null ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġcanvas Size ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcanvas Control Ġ= ĠA wt Canvas Control ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcanvas Size . to Vector (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA wt Event Peer ( canvas Container , ĠRectangle ( Vector . ZERO , Ġcanvas Size . to Vector ())), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA wt Animation Timer Peer () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠFeatures Demo Model ( canvas Size . toDouble Vector ()). show ( canvas Control ) ĊĊĠĠĠĠĠĠĠ ĠJ Frame (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġcanvas Size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Close Operation Ġ= ĠEXIT _ ON _ CLOSE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( canvas Container ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcanvas Container . add ( canvas Control . component ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFeatures Raw A wt Demo (). start () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠDimension . to Vector () Ġ= ĠVector ( width , Ġheight ) Ċ fun ĠDimension . toDouble Vector () Ġ= ĠDouble Vector ( width . toDouble (), Ġheight . toDouble ())