/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 8 - present , Ġal im in abc @ gmail . com . Ċ Ġ* Ċ Ġ* ĠThis Ġsource Ġcode Ġis Ġlicensed Ġunder Ġthe ĠMIT Ġlicense Ġfound Ġin Ġthe Ċ Ġ* ĠLICENSE Ġfile Ġin Ġthe Ġroot Ġdirectory Ġof Ġthis Ġsource Ġtree . Ċ Ġ*/ Ċ package Ġcom . l my . hw vc native . devices Ċ Ċ import Ġandroid . app . Activity Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . opengl . GLES 2 0 Ċ import Ġandroid . util . Log Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġal im in abc @ gmail . com Ġon Ġ 2 0 1 8 / 8 / 6 . Ċ Ġ*/ Ċ object ĠGL Helper Ġ{ Ċ // ĠĠĠ Ġinit Ġ{ Ċ // ĠĠĠĠĠĠĠ ĠSystem . load Library (" gl helper ") Ċ // ĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠP BO _ SUPPORT _ VERSION Ġ= Ġ 0 x 3 0 0 0 0 Ċ Ċ // ĠĠĠ Ġexternal Ġfun Ġgl Read Pixels ( x : ĠInt , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġy : ĠInt , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth : ĠInt , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight : ĠInt , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat : ĠInt , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype : ĠInt ) Ċ // Ċ // ĠĠĠ Ġexternal Ġfun Ġcopy To ByteArray ( src : ĠByteBuffer , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdest : ĠByteArray , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow : ĠInt , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstride : ĠInt , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstride Padding : ĠInt ) Ċ // Ċ // ĠĠĠ Ġexternal Ġfun Ġmemcpy ( src : ĠByteArray , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdest : ĠByteArray , Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlength : ĠInt ) Ċ // Ċ // ĠĠĠ Ġexternal Ġfun Ġgl Version (): ĠString ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĊĠĠĠĠ Ġ* Ġ@ return Ġhex ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġgl Version ( context : ĠContext ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġam Ġ= Ġcontext . getSystem Service ( Context . ACTIVITY _ SERVICE ) Ġas ĠActivity Manager ĊĠĠĠĠĠĠĠ Ġval Ġinfo Ġ= Ġam . device Configuration Info Ġ?: Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġreturn Ġinfo . req Gl Es Version ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġis Support P BO ( context : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGL Helper . gl Version ( context ) Ġ> ĠP BO _ SUPPORT _ VERSION ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck GLES 2 Error ( tag : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĠGLES 2 0 . glGet Error () ĊĠĠĠĠĠĠĠ Ġif Ġ( error Ġ!= ĠGLES 2 0 . GL _ NO _ ERROR ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( tag , Ġ" gl Error Ġ 0 x " Ġ+ ĠInteger . to HexString ( error )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġerror ĊĠĠĠ Ġ} Ċ }