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 19 package com.google.android.gles_jni; 20 21 import android.app.ActivityThread; 22 import android.content.pm.ApplicationInfo; 23 import android.content.pm.IPackageManager; 24 import android.os.Build; 25 import android.util.Log; 26 27 import java.nio.Buffer; 28 import javax.microedition.khronos.opengles.GL10; 29 import javax.microedition.khronos.opengles.GL10Ext; 30 import javax.microedition.khronos.opengles.GL11; 31 import javax.microedition.khronos.opengles.GL11Ext; 32 import javax.microedition.khronos.opengles.GL11ExtensionPack; 33 34 public class GLImpl implements GL10, GL10Ext, GL11, GL11Ext, GL11ExtensionPack { 35 36 // Private accessors for native code 37 38 native private static void _nativeClassInit(); 39 static { 40 _nativeClassInit(); 41 } 42 43 Buffer _colorPointer = null; 44 Buffer _normalPointer = null; 45 Buffer _texCoordPointer = null; 46 Buffer _vertexPointer = null; 47 Buffer _pointSizePointerOES = null; 48 Buffer _matrixIndexPointerOES = null; 49 Buffer _weightPointerOES = null; 50 51 private boolean haveCheckedExtensions; 52 private boolean have_OES_blend_equation_separate; 53 private boolean have_OES_blend_subtract; 54 private boolean have_OES_framebuffer_object; 55 private boolean have_OES_texture_cube_map; 56 57 public GLImpl() { 58 } 59 60 public void glGetPointerv(int pname, java.nio.Buffer[] params) { 61 throw new UnsupportedOperationException("glGetPointerv"); 62 } 63 64 private static boolean allowIndirectBuffers(String appName) { 65 boolean result = false; 66 int version = 0; 67 IPackageManager pm = ActivityThread.getPackageManager(); 68 try { 69 ApplicationInfo applicationInfo = pm.getApplicationInfo(appName, 0); 70 if (applicationInfo != null) { 71 version = applicationInfo.targetSdkVersion; 72 } 73 } catch (android.os.RemoteException e) { 74 // ignore 75 } 76 Log.e("OpenGLES", String.format( 77 "Application %s (SDK target %d) called a GL11 Pointer method with an indirect Buffer.", 78 appName, version)); 79 if (version <= Build.VERSION_CODES.CUPCAKE) { 80 result = true; 81 } 82 return result; 83 } 84 85