package Ġorg . open rnd r . draw Ċ Ċ import Ġorg . open rnd r . internal . Driver Ċ import Ġorg . open rnd r . math . Vector 2 Ċ import Ġorg . open rnd r . shape . Rectangle Ċ import Ġjava . io . File Ċ import Ġjava . net . Malformed URLException Ċ import Ġjava . net . URL Ċ import Ġjava . nio . ByteBuffer Ċ Ċ /** Ċ Ġ* ĠFile Ġformat Ġused Ġwhile Ġsaving Ġto Ġfile Ċ Ġ*/ Ċ enum Ġclass ĠFile Format Ġ{ ĊĠĠĠ ĠJ PG , ĊĠĠĠ ĠPNG , Ċ } Ċ Ċ /** Ċ Ġ* ĠTexture Ġwrapping Ġmode Ċ Ġ*/ Ċ enum Ġclass ĠWrap Mode Ġ{ ĊĠĠĠ ĠCL AMP _ TO _ EDGE , ĊĠĠĠ ĠRE PEAT , ĊĠĠĠ ĠM IR RO RED _ REPEAT Ċ } Ċ Ċ /** Ċ Ġ* ĠTexture Ġfilters Ġused Ġfor Ġmin ification Ċ Ġ*/ Ċ enum Ġclass ĠMin ifying Filter Ġ{ ĊĠĠĠ ĠNE ARE ST , ĊĠĠĠ ĠLINE AR , ĊĠĠĠ ĠNE ARE ST _ MIP MAP _ NE ARE ST , ĊĠĠĠ ĠLINE AR _ MIP MAP _ NE ARE ST , ĊĠĠĠ ĠNE ARE ST _ MIP MAP _ LINEAR , ĊĠĠĠ ĠLINE AR _ MIP MAP _ LINEAR Ċ } Ċ Ċ /** Ċ Ġ* ĠTexture Ġfilters Ġfor Ġmagn ification Ċ Ġ*/ Ċ enum Ġclass ĠM agn ifying Filter Ġ{ ĊĠĠĠ Ġ/** Ġnearest Ġneighbour , Ġblock y Ġ*/ ĊĠĠĠ ĠNE ARE ST , ĊĠĠĠ ĠLINE AR Ċ } Ċ Ċ /** Ċ Ġ* ĠBuffer Ġmultis ample Ġoptions Ċ Ġ*/ Ċ sealed Ġclass ĠBuffer Mult is ample Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDisable Ġmultis ampling ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġobject ĠDisabled Ġ: ĠBuffer Mult is ample () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠEnable Ġmultis ampling Ġwith Ġa Ġgiven Ġ[ sample Count ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠSample Count ( val Ġsample Count : ĠInt ) Ġ: ĠBuffer Mult is ample () Ċ } ĊĊ Ċ interface ĠColor Buffer Ġ{ ĊĊĠĠĠ Ġ/** Ġthe Ġwidth Ġof Ġthe Ġ[ Color Buffer ] Ġin Ġdevice Ġunits Ġ*/ ĊĠĠĠ Ġval Ġwidth : ĠInt ĊĊĠĠĠ Ġ/** Ġthe Ġheight Ġof Ġthe Ġ[ Color Buffer ] Ġin Ġdevice Ġunits Ġ*/ ĊĠĠĠ Ġval Ġheight : ĠInt ĊĊĠĠĠ Ġ/** Ġthe Ġcontent Ġscale Ġof Ġthe Ġ[ Color Buffer ] Ġ*/ ĊĠĠĠ Ġval Ġcontent Scale : ĠDouble ĊĠĠĠ Ġval Ġformat : ĠColor Format ĊĠĠĠ Ġval Ġtype : ĠColor Type ĊĊĠĠĠ Ġ/** Ġthe Ġmultis ampling Ġmethod Ġused Ġfor Ġthis Ġ[ Color Buffer ] Ġ*/ ĊĠĠĠ Ġval Ġmultis ample : ĠBuffer Mult is ample ĊĊĠĠĠ Ġval Ġbounds : ĠRectangle Ġget () Ġ= ĠRectangle ( Vector 2 . ZERO , Ġwidth Ġ* Ġ 1 . 0 , Ġheight Ġ* Ġ 1 . 0 ) ĊĊĠĠĠ Ġ/** Ġthe Ġwidth Ġof Ġthe Ġ[ Color Buffer ] Ġin Ġpixels Ġ*/ ĊĠĠĠ Ġval Ġeffective Width : ĠInt Ġget () Ġ= Ġ( width Ġ* Ġcontent Scale ). toInt () ĊĊĠĠĠ Ġ/** Ġthe Ġheight Ġof Ġthe Ġ[ Color Buffer ] Ġin Ġpixels Ġ*/ ĊĠĠĠ Ġval Ġeffective Height : ĠInt Ġget () Ġ= Ġ( height Ġ* Ġcontent Scale ). toInt () ĊĊĠĠĠ Ġ/** Ġsave Ġthe Ġ[ Color Buffer ] Ġto Ġ[ File ] Ġ*/ ĊĠĠĠ Ġfun Ġsave ToFile ( file : ĠFile , Ġfile Format : ĠFile Format Ġ= Ġguess From Extension ( file )) ĊĠĠĠ Ġprivate Ġfun Ġguess From Extension ( file : ĠFile ): ĠFile Format Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġextension Ġ= Ġfile . extension . toLowerCase () ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( extension ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" jpg ", Ġ" jpeg " Ġ-> ĠFile Format . JPG ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" png " Ġ-> ĠFile Format . PNG ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" unsupported Ġformat : Ġ\"$ extension \" ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** Ġdest ro ys Ġthe Ġunderlying Ġ[ Color Buffer ] Ġresources Ġ*/ ĊĠĠĠ Ġfun Ġdestroy () ĊĊĠĠĠ Ġ/** Ġbind s Ġthe Ġcolor buffer Ġto Ġa Ġtexture Ġunit , Ġinternal ĠAPI Ġ*/ ĊĠĠĠ Ġfun Ġbind ( unit : ĠInt ) ĊĊĠĠĠ Ġfun Ġwrite ( buffer : ĠByteBuffer ) ĊĠĠĠ Ġfun Ġread ( buffer : ĠByteBuffer ) ĊĊĠĠĠ Ġ/** Ġgenerates Ġmip maps Ġfrom Ġthe Ġtop - level Ġmip map Ġ*/ ĊĠĠĠ Ġfun Ġgenerate Mip maps () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġresolves Ġ( or Ġcopies ) Ġto Ġa Ġnon - multis ample d Ġcolor Ġbuffer ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġresolve To ( target : ĠColor Buffer ) ĊĊĠĠĠ Ġ/** Ġthe Ġwrapping Ġmode Ġto Ġuse Ġin Ġthe Ġhorizontal Ġdirection Ġ*/ ĊĠĠĠ Ġvar Ġwrap U : ĠWrap Mode ĊĊĠĠĠ Ġ/** Ġthe Ġwrapping Ġmode Ġto Ġuse Ġin Ġthe Ġvertical Ġdirection Ġ*/ ĊĠĠĠ Ġvar Ġwrap V : ĠWrap Mode ĊĊĠĠĠ Ġ/** Ġthe Ġfilter Ġto Ġuse Ġwhen Ġdisplaying Ġat Ġsizes Ġsmaller Ġthan Ġthe Ġoriginal Ġ*/ ĊĠĠĠ Ġvar Ġfilter Min : ĠMin ifying Filter ĊĊĠĠĠ Ġ/** Ġthe Ġfilter Ġto Ġuse Ġwhen Ġdisplay Ġat Ġsizes Ġlarger Ġthan Ġthe Ġoriginal Ġ*/ ĊĠĠĠ Ġvar Ġfilter Mag : ĠM agn ifying Filter ĊĊĠĠĠ Ġval Ġshadow : ĠColor Buffer Shadow ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġshould Ġthe Ġv Ġcoordinate Ġbe Ġf lipped Ġbecause Ġthe Ġ[ Color Buffer ] Ġcontents Ġare Ġstored Ġup side - down ? ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġflip V : ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġsets Ġthe Ġ[ Color Buffer ] Ġfilter Ġfor Ġmin ifying Ġand Ġmagn ification ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfilter ( filter Min : ĠMin ifying Filter , Ġfilter Mag : ĠM agn ifying Filter ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . filter Min Ġ= Ġfilter Min ĊĠĠĠĠĠĠĠ Ġthis . filter Mag Ġ= Ġfilter Mag ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Deprecated (" use Ġthe Ġcolor Buffer () Ġbuilder Ġfunction Ġinstead ") ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( width : ĠInt , Ġheight : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Scale : ĠDouble Ġ= Ġ 1 . 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat : ĠColor Format Ġ= ĠColor Format . RGB a , Ġtype : ĠColor Type Ġ= ĠColor Type . UINT 8 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmultis ample : ĠBuffer Mult is ample Ġ= ĠBuffer Mult is ample . Disabled ĊĠĠĠĠĠĠĠ Ġ) Ġ= ĠDriver . instance . create Color Buffer ( width , Ġheight , Ġcontent Scale , Ġformat , Ġtype , Ġmultis ample ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom Url ( url : ĠString ) Ġ= ĠDriver . instance . create Color Buffer From Url ( url ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom File ( file : ĠFile ) Ġ= ĠDriver . instance . create Color Buffer FromFile ( file . absolute Path ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom File ( filename : ĠString ) Ġ= ĠDriver . instance . create Color Buffer FromFile ( filename ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġcreates Ġa Ġ[ Color Buffer ] Ċ Ġ* Ġ@ param Ġwidth Ġthe Ġwidth Ġin Ġdevice Ġunits Ċ Ġ* Ġ@ param Ġheight Ġthe Ġheight Ġin Ġdevice Ġunits Ċ Ġ* Ġ@ param Ġcontent Scale Ġcontent Ġscale Ġused Ġfor Ġden oting Ġhi - dpi Ġcontent Ċ Ġ* Ġ@ param Ġformat Ġthe Ġcolor Ġformat Ċ Ġ* Ġ@ param Ġtype Ġthe Ġcolor Ġtype Ċ Ġ* Ġ@ param Ġformat Ġthe Ġcolor Ġformat Ċ Ġ*/ Ċ fun Ġcolor Buffer ( width : ĠInt , Ġheight : ĠInt , Ġcontent Scale : ĠDouble Ġ= Ġ 1 . 0 , Ġformat : ĠColor Format Ġ= ĠColor Format . RGB a , Ġtype : ĠColor Type Ġ= ĠColor Type . UINT 8 , Ġmultis ample : Buffer Mult is ample Ġ= ĠBuffer Mult is ample . Disabled ): ĠColor Buffer Ġ{ ĊĠĠĠ Ġreturn ĠDriver . driver . create Color Buffer ( width , Ġheight , Ġcontent Scale , Ġformat , Ġtype , Ġmultis ample ) Ċ } Ċ Ċ /** Ċ Ġ* Ġloads Ġan Ġimage Ġfrom Ġa Ġfile Ġor Ġurl Ġencoded Ġas Ġ[ String ] Ċ Ġ*/ Ċ fun Ġload Image ( file Or Url : ĠString ): ĠColor Buffer Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠURL ( file Or Url ) ĊĠĠĠĠĠĠĠ ĠColor Buffer . from Url ( file Or Url ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠMal formed URLException ) Ġ{ ĊĠĠĠĠĠĠĠ ĠColor Buffer . from File ( file Or Url ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġloads Ġan Ġimage Ġfrom Ġ[ file ] Ċ Ġ*/ Ċ fun Ġload Image ( file : ĠFile ): ĠColor Buffer Ġ{ ĊĠĠĠ Ġreturn ĠColor Buffer . from File ( file ) Ċ } Ċ Ċ /** Ċ Ġ* Ġloads Ġan Ġimage Ġfrom Ġan Ġ[ url ] Ċ Ġ*/ Ċ fun Ġload Image ( url : ĠURL ): ĠColor Buffer Ġ{ ĊĠĠĠ Ġreturn ĠColor Buffer . from Url ( url . to External Form ()) Ċ }