package Ġorg . kal as im . sim s . moon . viewer Ċ Ċ import Ġorg . open rnd r . application Ċ import Ġorg . open rnd r . color . Color RGB a Ċ import Ġorg . open rnd r . draw . color Buffer Ċ import Ġorg . open rnd r . draw . load Font Ċ import Ġorg . open rnd r . draw . load Image Ċ import Ġorg . open rnd r . extra . fx . blur . Box Blur Ċ import Ġorg . open rnd r . svg . load SVG Ċ import Ġjava . awt . geom . Point 2 D Ċ import Ġjava . lang . Math . cos Ċ Ċ fun Ġmain () Ġ= Ġapplication Ġ{ ĊĊĠĠĠ Ġvar Ġcounter Ġ= Ġ 0 ĊĊĠĠĠ Ġconfigure Ġ{ ĊĠĠĠĠĠĠĠ Ġwidth Ġ= Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠ Ġheight Ġ= Ġ 8 0 0 ĊĠĠĠĠĠĠĠ Ġwindow Resizable Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" L un ar ĠWater ĠMin ing " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprogram Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimage Ġ= Ġload Image (" src / main / resources / 1 0 2 4 px - Ph le gra _ Mont es _ on _ M ars _ ES A 2 1 1 1 2 7 . jpg ") ĊĊĠĠĠĠĠĠĠ Ġval Ġtr uck Ġ= Ġload SVG (" src / main / resources / tractor - svg repo - com . svg ") ĊĠĠĠĠĠĠĠ Ġval Ġbase Ġ= Ġload SVG (" src / main / resources / base . svg ") ĊĊĠĠĠĠĠĠĠ Ġval Ġfont Ġ= Ġload Font (" file : IBM _ P lex _ Mono / IB MP lex Mono - Bold . ttf ", Ġ 2 4 . 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġx Scale Ġ= Ġwidth . toDouble () Ġ/ Ġ( image . width * 1 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġy Scale Ġ= Ġheight . toDouble () Ġ/ Ġ( image . height * 1 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġblur Ġ= ĠBox Blur () ĊĊ Ċ // ĠĠĠĠĠĠĠ Ġextend ( Screen Recorder ()) ĊĊĠĠĠĠĠĠĠ Ġextend Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblur . window Ġ= Ġ( cos ( seconds Ġ* ĠMath . PI ) Ġ* Ġ 4 . 0 Ġ+ Ġ 5 . 0 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbl urred Ġ= Ġcolor Buffer ( image . width , Ġimage . height ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġblur . apply ( image , Ġbl urred ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdraw Ġbackground Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . draw Style . color Matrix Ġ= Ġt int ( Color RGB a . BLUE ) Ġ* Ġinvert ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . image ( bl urred , Ġ 0 . 0 , Ġ 0 . 0 , Ġwidth . toDouble (), Ġheight . toDouble ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( drawer ) Ġ{ Ċ Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġvisualize Ġhold - state Ġ( except Ġfor Ġmoving ) Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġif Ġcomponent Ġis Ġon Ġhold Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( har v ester . is Scheduled ){ Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . fill Ġ= Ġnull Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . stroke Ġ= ĠColor RGB a . PIN K Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . stroke Weight Ġ= Ġ 4 . 0 Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsub 0 Ġ= ĠCircle ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . grid Position . map Coordinates . x Ġ* Ġx Scale , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . grid Position . map Coordinates . y Ġ* Ġy Scale , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 0 . 0 ). contour . sub ( 0 . 0 , Ġ 0 . 5 Ġ+ Ġ 0 . 5 0 Ġ* Ġsin ( seconds )) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . contour ( sub 0 ) Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdraw Ġbase ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefaults () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbase Coordinates Ġ= ĠPoint 2 D . Double ( 1 0 0 . 0 , 1 0 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslate ( base Coordinates . x Ġ* Ġx Scale , Ġbase Coordinates . y Ġ* Ġy Scale - 9 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale ( 0 . 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomposition ( base ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdraw Ġinfo ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefaults () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . fill Ġ= ĠColor RGB a . WHITE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . font Map Ġ= Ġfont ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer . text (" Frame : Ġ${ counter ++ }", Ġwidth Ġ- Ġ 1 5 0 . 0 , Ġheight Ġ- Ġ 5 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ