package Ġcom . xt . endo Ċ Ċ import Ġcom . ec lip ses ource . v 8 . V 8 Ċ import Ġcom . ec lip ses ource . v 8 . V 8 Array Ċ import Ġcom . ec lip ses ource . v 8 . V 8 Object Ċ import Ġcom . ec lip ses ource . v 8 . V 8 Value Ċ import Ġcom . xt . js core . JS Context Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġcu iming h ui Ġon Ġ 2 0 1 8 / 7 / 1 8 . Ċ Ġ*/ Ċ Ċ interface ĠE DO Struct Ġ{ ĊĊĠĠĠ Ġfun Ġto JS Object ( context : ĠV 8 ): ĠV 8 Object Ċ Ċ } Ċ Ċ class ĠE DO Callback ( private Ġval Ġscript Object : ĠV 8 Object ?, Ġprivate Ġval Ġidx : ĠInt ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġnative Block : Ġ(( arguments : ĠList < Any >) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġinvoke ( var arg Ġarguments : ĠAny ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġnative Block ?. let Ġ{ Ġit . invoke ( arguments . toList ()); Ġreturn Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġscript Object Ġ= Ġscript Object Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ ĠJS Context . setCurrent Context ( EDO Exporter . shared Exporter . context With Runtime ( script Object . runtime )) ĊĠĠĠĠĠĠĠ Ġval Ġv 8 Array Ġ= ĠV 8 Array ( script Object . runtime ) ĊĠĠĠĠĠĠĠ Ġv 8 Array . push ( idx ) ĊĠĠĠĠĠĠĠ Ġv 8 Array . push ( EDO Object Transfer . convertTo JS Array With Java List ( arguments . toList (), Ġscript Object . runtime )) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscript Object . execute Function ("__ invoke Callback ", Ġv 8 Array ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĠV 8 . get Undefined () Ġ} ĊĠĠĠĠĠĠĠ Ġv 8 Array . release () ĊĠĠĠĠĠĠĠ Ġreturn ĠE DO Object Transfer . convertTo Java Object With JS Value ( result , Ġresult Ġas ? ĠV 8 Object ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġinvoke And Return V 8 Object ( var arg Ġarguments : ĠAny ): ĠV 8 Value ? Ġ{ ĊĠĠĠĠĠĠĠ Ġnative Block ?. let Ġ{ Ġit . invoke ( arguments . toList ()); Ġreturn Ġnull Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġscript Object Ġ= Ġscript Object Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ ĠJS Context . setCurrent Context ( EDO Exporter . shared Exporter . context With Runtime ( script Object . runtime )) ĊĠĠĠĠĠĠĠ Ġval Ġv 8 Array Ġ= ĠV 8 Array ( script Object . runtime ) ĊĠĠĠĠĠĠĠ Ġv 8 Array . push ( idx ) ĊĠĠĠĠĠĠĠ Ġv 8 Array . push ( EDO Object Transfer . convertTo JS Array With Java List ( arguments . toList (), Ġscript Object . runtime )) ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscript Object . execute Function ("__ invoke Callback ", Ġv 8 Array ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĠV 8 . get Undefined () Ġ} ĊĠĠĠĠĠĠĠ Ġv 8 Array . release () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult Ġas ? ĠV 8 Value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate With Block ( block : Ġ( arguments : ĠList < Any >) Ġ-> ĠUnit ): ĠE DO Callback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcallback Ġ= ĠE DO Callback ( null , Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . native Block Ġ= Ġblock ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcallback ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠC GRect ( val Ġx : ĠDouble , Ġval Ġy : ĠDouble , Ġval Ġwidth : ĠDouble , Ġval Ġheight : ĠDouble ): ĠE DO Struct Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġto JS Object ( context : ĠV 8 ): ĠV 8 Object Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv 8 Object Ġ= ĠV 8 Object ( context ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" x ", Ġx ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" y ", Ġy ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" width ", Ġwidth ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" height ", Ġheight ) ĊĠĠĠĠĠĠĠ Ġreturn Ġv 8 Object ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static Ġfun Ġfrom JS Object ( v 8 Object : ĠV 8 Object ): ĠE DO Struct Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠC GRect ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" x "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" y "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" width "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" height ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠCG Point ( val Ġx : ĠDouble , Ġval Ġy : ĠDouble ): ĠE DO Struct Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġto JS Object ( context : ĠV 8 ): ĠV 8 Object Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv 8 Object Ġ= ĠV 8 Object ( context ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" x ", Ġx ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" y ", Ġy ) ĊĠĠĠĠĠĠĠ Ġreturn Ġv 8 Object ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static Ġfun Ġfrom JS Object ( v 8 Object : ĠV 8 Object ): ĠE DO Struct Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCG Point ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" x "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" y ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠCG Size ( val Ġwidth : ĠDouble , Ġval Ġheight : ĠDouble ): ĠE DO Struct Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġto JS Object ( context : ĠV 8 ): ĠV 8 Object Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv 8 Object Ġ= ĠV 8 Object ( context ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" width ", Ġwidth ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" height ", Ġheight ) ĊĠĠĠĠĠĠĠ Ġreturn Ġv 8 Object ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static Ġfun Ġfrom JS Object ( v 8 Object : ĠV 8 Object ): ĠE DO Struct Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCG Size ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" width "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" height ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠC GA ff ine Transform ( val Ġa : ĠDouble , Ġval Ġb : ĠDouble , Ġval Ġc : ĠDouble , Ġval Ġd : ĠDouble , Ġval Ġtx : ĠDouble , Ġval Ġty : ĠDouble ): ĠE DO Struct Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġto JS Object ( context : ĠV 8 ): ĠV 8 Object Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv 8 Object Ġ= ĠV 8 Object ( context ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" a ", Ġa ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" b ", Ġb ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" c ", Ġc ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" d ", Ġd ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" tx ", Ġtx ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" ty ", Ġty ) ĊĠĠĠĠĠĠĠ Ġreturn Ġv 8 Object ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static Ġfun Ġfrom JS Object ( v 8 Object : ĠV 8 Object ): ĠE DO Struct Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠC GA ff ine Transform ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" a "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" b "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" c "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" d "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" tx "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" ty ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠUI Edge Insets ( val Ġtop : ĠDouble , Ġval Ġleft : ĠDouble , Ġval Ġbottom : ĠDouble , Ġval Ġright : ĠDouble ): ĠE DO Struct Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġto JS Object ( context : ĠV 8 ): ĠV 8 Object Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv 8 Object Ġ= ĠV 8 Object ( context ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" top ", Ġtop ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" left ", Ġleft ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" bottom ", Ġbottom ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" right ", Ġright ) ĊĠĠĠĠĠĠĠ Ġreturn Ġv 8 Object ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static Ġfun Ġfrom JS Object ( v 8 Object : ĠV 8 Object ): ĠE DO Struct Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠUI Edge Insets ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" top "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" left "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" bottom "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getDouble (" right ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠUI Range ( val Ġlocation : ĠInt , Ġval Ġlength : ĠInt ): ĠE DO Struct Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġto JS Object ( context : ĠV 8 ): ĠV 8 Object Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv 8 Object Ġ= ĠV 8 Object ( context ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" location ", Ġlocation ) ĊĠĠĠĠĠĠĠ Ġv 8 Object . add (" length ", Ġlength ) ĊĠĠĠĠĠĠĠ Ġreturn Ġv 8 Object ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static Ġfun Ġfrom JS Object ( v 8 Object : ĠV 8 Object ): ĠE DO Struct Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠUI Range ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getInteger (" location "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv 8 Object . getInteger (" length ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }