2 ** Copyright 2006, The Android Open Source Project
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
8 ** http://www.apache.org/licenses/LICENSE-2.0
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.
17 // This source file is automatically generated
19 package com.google.android.gles_jni;
21 import android.app.AppGlobals;
22 import android.content.pm.ApplicationInfo;
23 import android.content.pm.IPackageManager;
24 import android.os.Build;
25 import android.os.UserHandle;
26 import android.util.Log;
28 import java.nio.Buffer;
29 import javax.microedition.khronos.opengles.GL10;
30 import javax.microedition.khronos.opengles.GL10Ext;
31 import javax.microedition.khronos.opengles.GL11;
32 import javax.microedition.khronos.opengles.GL11Ext;
33 import javax.microedition.khronos.opengles.GL11ExtensionPack;
35 public class GLImpl implements GL10, GL10Ext, GL11, GL11Ext, GL11ExtensionPack {
37 // Private accessors for native code
39 native private static void _nativeClassInit();
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;
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;
61 public void glGetPointerv(int pname, java.nio.Buffer[] params) {
62 throw new UnsupportedOperationException("glGetPointerv");
65 private static boolean allowIndirectBuffers(String appName) {
66 boolean result = false;
68 IPackageManager pm = AppGlobals.getPackageManager();
70 ApplicationInfo applicationInfo = pm.getApplicationInfo(appName, 0, UserHandle.myUserId());
71 if (applicationInfo != null) {
72 version = applicationInfo.targetSdkVersion;
74 } catch (android.os.RemoteException e) {
77 Log.e("OpenGLES", String.format(
78 "Application %s (SDK target %d) called a GL11 Pointer method with an indirect Buffer.",
80 if (version <= Build.VERSION_CODES.CUPCAKE) {