package Ġcom . so y wiz . k orge . view Ċ Ċ import Ġcom . so y wiz . k ds .* Ċ import Ġcom . so y wiz . k orge . debug .* Ċ import Ġcom . so y wiz . k orge . render .* Ċ import Ġcom . so y wiz . kor im . bitmap .* Ċ import Ġcom . so y wiz . kor io . file .* Ċ import Ġcom . so y wiz . k orm a . geom .* Ċ import Ġcom . so y wiz . kor ui .* Ċ Ċ inline Ġfun ĠContainer . n ine Patch ( Ċ ĉ n ine Patch : ĠN ine Patch B mp Slice ?, Ġwidth : ĠDouble Ġ= Ġn ine Patch ?. d width Ġ?: Ġ 1 6 . 0 , Ġheight : ĠDouble Ġ= Ġn ine Patch ?. d height Ġ?: Ġ 1 6 . 0 , Ċ ĉ callback : Ġ@ View Dsl Marker ĠN ine Patch Ex . () Ġ-> ĠUnit Ġ= Ġ{} Ċ ) Ġ= ĠN ine Patch Ex ( n ine Patch , Ġwidth , Ġheight ). addTo ( this , Ġcallback ) Ċ Ċ class ĠN ine Patch Ex ( Ċ ĉ n ine Patch : ĠN ine Patch B mp Slice ?, Ċ ĉ override Ġvar Ġwidth : ĠDouble Ġ= Ġn ine Patch ?. width ?. toDouble () Ġ?: Ġ 1 6 . 0 , Ċ ĉ override Ġvar Ġheight : ĠDouble Ġ= Ġn ine Patch ?. height ?. toDouble () Ġ?: Ġ 1 6 . 0 Ċ ) Ġ: ĠView (), ĠView File Ref Ġby ĠView File Ref . Mixin () Ġ{ ĊĠĠĠ Ġvar Ġn ine Patch : ĠN ine Patch B mp Slice ? Ġ= Ġn ine Patch Ċ ĉ var Ġsmoothing Ġ= Ġtrue ĊĊ ĉ private Ġval Ġbounds Ġ= ĠRectangle Int () ĊĊ ĉ override Ġfun Ġrender Internal ( ctx : ĠRender Context ) Ġ{ Ċĉ ĉ if Ġ(! visible ) Ġreturn ĊĠĠĠĠĠĠĠ Ġlazy Load Render Internal ( ctx , Ġthis ) ĊĊĉ ĉ val Ġm Ġ= Ġglobal Matrix ĊĊĉ ĉ val Ġx scale Ġ= Ġm . a Ċĉ ĉ val Ġy scale Ġ= Ġm . d ĊĊĉ ĉ bounds . set To ( 0 , Ġ 0 , Ġ( width Ġ* Ġx scale ). toInt (), Ġ( height Ġ* Ġy scale ). toInt ()) ĊĊĉ ĉ m . keep Ġ{ Ċĉĉ ĉ pre scale ( 1 . 0 Ġ/ Ġx scale , Ġ 1 . 0 Ġ/ Ġy scale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn ine Patch Ġ= Ġn ine Patch ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( n ine Patch Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre compute Vertices If Required () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt va Cached Ġ= Ġthis @ N ine Patch Ex . t va Cached ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( t va Cached Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cached Matrix Ġ!= Ġm ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcached Matrix . copyFrom ( m ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt va Cached . copyFrom ( t va !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt va Cached . apply Matrix ( m ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġctx . batch . draw Vertices ( t va Cached , Ġctx . get Tex ( n ine Patch . content . bmp ), Ġsmoothing , Ġblend Mode . factors ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċĉ ĉ } Ċ ĉ } ĊĊĠĠĠ Ġprivate Ġvar Ġt va : ĠText ured VertexArray ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġt va Cached : ĠText ured VertexArray ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcached Matrix : ĠMatrix Ġ= ĠMatrix () ĊĊĠĠĠ Ġprivate Ġvar Ġcached N ine Patch : ĠN ine Patch B mp Slice ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġcached Bounds Ġ= ĠRectangle Int () ĊĊĠĠĠ Ġprivate Ġfun Ġre compute Vertices If Required () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Bounds Ġ= Ġthis . bounds ĊĠĠĠĠĠĠĠ Ġif Ġ( cached Bounds . rect Ġ== Ġview Bounds . rect Ġ&& Ġcached N ine Patch Ġ== Ġn ine Patch ) Ġreturn ĊĠĠĠĠĠĠĠ Ġcached Bounds . rect . copyFrom ( view Bounds . rect ) ĊĠĠĠĠĠĠĠ Ġcached N ine Patch Ġ= Ġn ine Patch ĊĠĠĠĠĠĠĠ Ġval Ġn ine Patch Ġ= Ġn ine Patch ĊĠĠĠĠĠĠĠ Ġif Ġ( n ine Patch Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt va Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt va Cached Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġnum Qu ads Ġ= Ġn ine Patch . info . total Segments ĊĠĠĠĠĠĠĠ Ġval Ġindices Ġ= ĠText ured VertexArray . quad Indices ( num Qu ads ) ĊĠĠĠĠĠĠĠ Ġval Ġt va Ġ= ĠText ured VertexArray ( num Qu ads Ġ* Ġ 4 , Ġindices ) ĊĠĠĠĠĠĠĠ Ġvar Ġindex Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġmatrix Ġ= ĠMatrix () ĊĠĠĠĠĠĠĠ Ġn ine Patch . info . compute Scale ( view Bounds ) Ġ{ Ġsegment , Ġx , Ġy , Ġwidth , Ġheight Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbmp Slice Ġ= Ġn ine Patch . get Segment B mp Slice ( segment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt va . quad ( index ++ Ġ* Ġ 4 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġx . toFloat (), Ġy . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth . toFloat (), Ġheight . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmatrix , Ġbmp Slice , Ġrender Color Mul , Ġrender Color Add ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . t va Ġ= Ġt va ĊĠĠĠĠĠĠĠ Ġthis . t va Cached Ġ= ĠText ured VertexArray ( num Qu ads Ġ* Ġ 4 , Ġindices ) ĊĠĠĠĠĠĠĠ Ġthis . cached Matrix . set To Nan () ĊĠĠĠ Ġ} ĊĊ ĉ override Ġfun Ġget Local Bounds Internal ( out : ĠRectangle ) Ġ{ Ċĉ ĉ out . set To ( 0 . 0 , Ġ 0 . 0 , Ġwidth , Ġheight ) Ċ ĉ } ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġforce Load SourceFile ( views : ĠViews , Ġcurrent V fs : ĠV fs File , Ġsource File : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġbase Force Load SourceFile ( views , Ġcurrent V fs , Ġsource File ) ĊĠĠĠĠĠĠĠ Ġ// println (" ### ĠTrying Ġto Ġload Ġsource Image =$ source Image ") ĊĠĠĠĠĠĠĠ Ġn ine Patch Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent V fs [" $ source File "]. read N ine Patch () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠN ine Patch Bitmap 3 2 ( Bitmap 3 2 ( 6 2 , Ġ 6 2 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbuild Debug Component ( views : ĠViews , Ġcontainer : ĠUi Container ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontainer . ui Col lapsible Section (" 9 - Patch Image ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Editable Value (:: source File , Ġkind Ġ= ĠUi Text Editable Value . Kind . FILE ( views . current V fs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . base Name . endsWith (". 9 . png ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . build Debug Component ( views , Ġcontainer ) ĊĠĠĠ Ġ} Ċ } Ċ