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