package Ġdev . j atz uk . snow wall paper . opengl . util Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . opengl . GLES 2 0 .* Ċ import Ġandroid . opengl . GL Utils . tex Image 2 D Ċ import Ġdev . j atz uk . snow wall paper . utilities . Logger Ċ import Ġdev . j atz uk . snow wall paper . utilities . Texture Provider Ċ Ċ private Ġconst Ġval ĠTAG Ġ= Ġ" Texture Helper " Ċ Ċ fun Ġload Texture To OpenGL ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġtexture Type : ĠTexture Provider . Texture Type Ċ ): ĠPair < Int , ĠInt >? Ġ{ ĊĠĠĠ Ġval Ġtexture Objects Ids Ġ= Ġint ArrayOf ( 0 ) ĊĠĠĠ Ġgl Gen Textures ( 1 , Ġtexture Objects Ids , Ġ 0 ) ĊĊĠĠĠ Ġif Ġ( texture Objects Ids [ 0 ] Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLogger . e (" Could Ġnot Ġgenerate Ġa Ġnew ĠOpen ĠGL Ġtexture Ġobject ", ĠTAG ) ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġbitmap Ġ= ĠTexture Provider . load Texture ( context , Ġtexture Type ) ĊĠĠĠ Ġif Ġ( bitmap Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLogger . e (" Bitmap Ġtype Ġ${ texture Type . name } Ġcould Ġnot Ġbe Ġloaded ", ĠTAG ) ĊĠĠĠĠĠĠĠ Ġgl Delete Textures ( 1 , Ġtexture Objects Ids , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠglBind Texture ( GL _ TEXTURE _ 2 D , Ġtexture Objects Ids [ 0 ]) ĊĊĠĠĠ Ġgl TexParameter i ( GL _ TEXTURE _ 2 D , ĠGL _ TEXTURE _ MIN _ FILTER , ĠGL _ LINEAR ) ĊĠĠĠ Ġgl TexParameter i ( GL _ TEXTURE _ 2 D , ĠGL _ TEXTURE _ MAG _ FILTER , ĠGL _ LINEAR ) ĊĠĠĠ Ġtex Image 2 D ( GL _ TEXTURE _ 2 D , Ġ 0 , Ġbitmap , Ġ 0 ) ĊĊĠĠĠ Ġgl Generate Mip map ( GL _ TEXTURE _ 2 D ) ĊĠĠĠ ĠglBind Texture ( GL _ TEXTURE _ 2 D , Ġ 0 ) ĊĠĠĠ ĠLogger . d (" Bitmap Ġgeneration ID : Ġ${ bitmap . generation Id }", ĠTAG ) ĊĠĠĠ ĠLogger . d (" Texture Ġtype : Ġ${ texture Type . name } Ġloaded Ġsuccessfully ", ĠTAG ) ĊĊĠĠĠ Ġreturn Ġtexture Objects Ids [ 0 ] Ġto Ġbitmap . generation Id Ċ } Ċ