/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠJean Ġd ' Arc . Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ġof Ġthis Ġsoftware Ċ Ġ* Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ċ Ġ* Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ċ Ġ* Ġsublicense , Ġand / or Ġsell Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ġcopies Ġor Ġsubstantial Ċ Ġ* Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR ĠIMPLIED , ĠINCLUDING ĠBUT Ċ Ġ* ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNON - INFRINGEMENT . Ċ Ġ* ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , Ċ Ġ* ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE Ċ Ġ* ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġengine . core Ċ Ċ import Ġkotlinx . coroutines . channels . Channel Ċ import Ġorg . w 3 c . dom . Image Ċ Ċ @ Suppress (" Spell Checking Inspection ") Ċ class ĠTexture Ġprivate Ġconstructor ( val Ġsource : ĠImage ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠDEFAULT Ġ= ĠTexture ( Image (). apply Ġ{ Ġsrc Ġ= Ġ" data : image / png ; base 6 4 , i VB OR w 0 KG go AAA AN SU h EU g AAAA g AAAA IC AY AAA DED 7 6 L AAA AD 0 l EQ V QY l WP 4 Tw A wj Aw FA IS 1 / w GY Km Mj AAAA A El FT k Su Qm CC " Ġ}) ĊĠĠĠĠĠĠĠ Ġval ĠDEFAULT _ NORMAL Ġ= ĠTexture ( Image (). apply Ġ{ Ġsrc Ġ= Ġ" data : image / png ; base 6 4 , i VB OR w 0 KG go AAA AN SU h EU g AAAA g AAAA IC AI AA AB Lb S nc AAA AB mJ LR 0 Q AL g Au AC 5 pt 0 w / AAAA FU l EQ V QI 1 2 N sa Pj Pg A 0 w Me AA g 1 M CA J HS Ag 9 s SM u 6 AAAA A El FT k Su Qm CC " Ġ}) ĊĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġfetch ( filename : ĠString ): ĠTexture Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠChannel < Texture >( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage Ġ= ĠImage () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage . addEventListener (" load ", Ġ{ Ġchannel . try Send ( Texture ( image )) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage . src Ġ= Ġfilename ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġchannel . receive () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ