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.content.pm.ApplicationInfo; 23import android.content.pm.IPackageManager; 24import android.os.Build; 25import android.util.Log; 26 27import java.nio.Buffer; 28import javax.microedition.khronos.opengles.GL10; 29import javax.microedition.khronos.opengles.GL10Ext; 30import javax.microedition.khronos.opengles.GL11; 31import javax.microedition.khronos.opengles.GL11Ext; 32import javax.microedition.khronos.opengles.GL11ExtensionPack; 33 34public 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 = AppGlobals.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