1** 2** Copyright 2006, The Android Open Source Project 3** 4** Licensed under the Apache License, Version 2.0 (the "License"); 5** you may not use this file except in compliance with the License. 6** You may obtain a copy of the License at 7** 8** http://www.apache.org/licenses/LICENSE-2.0 9** 10** Unless required by applicable law or agreed to in writing, software 11** distributed under the License is distributed on an "AS IS" BASIS, 12** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13** See the License for the specific language governing permissions and 14** limitations under the License. 15*/ 16 17// This source file is automatically generated 18 19package com.google.android.gles_jni; 20 21import android.app.AppGlobals; 22import android.compat.annotation.UnsupportedAppUsage; 23import android.content.pm.ApplicationInfo; 24import android.content.pm.IPackageManager; 25import android.os.Build; 26import android.os.UserHandle; 27import android.util.Log; 28 29import java.nio.Buffer; 30 31import javax.microedition.khronos.opengles.GL10; 32import javax.microedition.khronos.opengles.GL10Ext; 33import javax.microedition.khronos.opengles.GL11; 34import javax.microedition.khronos.opengles.GL11Ext; 35import javax.microedition.khronos.opengles.GL11ExtensionPack; 36 37public class GLImpl implements GL10, GL10Ext, GL11, GL11Ext, GL11ExtensionPack { 38 39 // Private accessors for native code 40 41 native private static void _nativeClassInit(); 42 static { 43 _nativeClassInit(); 44 } 45 46 Buffer _colorPointer = null; 47 Buffer _normalPointer = null; 48 Buffer _texCoordPointer = null; 49 Buffer _vertexPointer = null; 50 Buffer _pointSizePointerOES = null; 51 Buffer _matrixIndexPointerOES = null; 52 Buffer _weightPointerOES = null; 53 54 private boolean haveCheckedExtensions; 55 private boolean have_OES_blend_equation_separate; 56 private boolean have_OES_blend_subtract; 57 private boolean have_OES_framebuffer_object; 58 private boolean have_OES_texture_cube_map; 59 60 @UnsupportedAppUsage 61 public GLImpl() { 62 } 63 64 public void glGetPointerv(int pname, java.nio.Buffer[] params) { 65 throw new UnsupportedOperationException("glGetPointerv"); 66 } 67 68 private static boolean allowIndirectBuffers(String appName) { 69 boolean result = false; 70 int version = 0; 71 IPackageManager pm = AppGlobals.getPackageManager(); 72 try { 73 ApplicationInfo applicationInfo = pm.getApplicationInfo(appName, 0, UserHandle.myUserId()); 74 if (applicationInfo != null) { 75 version = applicationInfo.targetSdkVersion; 76 } 77 } catch (android.os.RemoteException e) { 78 // ignore 79 } 80 Log.e("OpenGLES", String.format( 81 "Application %s (SDK target %d) called a GL11 Pointer method with an indirect Buffer.", 82 appName, version)); 83 if (version <= Build.VERSION_CODES.CUPCAKE) { 84 result = true; 85 } 86 return result; 87 } 88 89