1b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang/* 2b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * Copyright (C) 2012 The Android Open Source Project 3b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * 4b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * Licensed under the Apache License, Version 2.0 (the "License"); 5b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * you may not use this file except in compliance with the License. 6b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * You may obtain a copy of the License at 7b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * 8b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * http://www.apache.org/licenses/LICENSE-2.0 9b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * 10b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * Unless required by applicable law or agreed to in writing, software 11b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * distributed under the License is distributed on an "AS IS" BASIS, 12b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * See the License for the specific language governing permissions and 14b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang * limitations under the License. 15b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang */ 16b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang 17b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Changpackage com.android.gallery3d.ui; 18b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang 19ba7d106f7e4fcb0036e694449e6fc5b002526309Owen Linimport javax.microedition.khronos.opengles.GL11; 20ffc2a4a77f7164dd435d07c11a3df290c4b64079Angus Kongimport javax.microedition.khronos.opengles.GL11ExtensionPack; 21ba7d106f7e4fcb0036e694449e6fc5b002526309Owen Lin 22b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang// This mimics corresponding GL functions. 23b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Changpublic class GLId { 24b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang static int sNextId = 1; 25b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang 26b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang public synchronized static void glGenTextures(int n, int[] textures, int offset) { 27b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang while (n-- > 0) { 28b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang textures[offset + n] = sNextId++; 29b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang } 30b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang } 31b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang 32b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang public synchronized static void glGenBuffers(int n, int[] buffers, int offset) { 33b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang while (n-- > 0) { 34b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang buffers[offset + n] = sNextId++; 35b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang } 36b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang } 37b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang 38ba7d106f7e4fcb0036e694449e6fc5b002526309Owen Lin public synchronized static void glDeleteTextures(GL11 gl, int n, int[] textures, int offset) { 39ba7d106f7e4fcb0036e694449e6fc5b002526309Owen Lin gl.glDeleteTextures(n, textures, offset); 40b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang } 41b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang 42ba7d106f7e4fcb0036e694449e6fc5b002526309Owen Lin public synchronized static void glDeleteBuffers(GL11 gl, int n, int[] buffers, int offset) { 43ba7d106f7e4fcb0036e694449e6fc5b002526309Owen Lin gl.glDeleteBuffers(n, buffers, offset); 44b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang } 45ffc2a4a77f7164dd435d07c11a3df290c4b64079Angus Kong 46ffc2a4a77f7164dd435d07c11a3df290c4b64079Angus Kong public synchronized static void glDeleteFramebuffers( 47ffc2a4a77f7164dd435d07c11a3df290c4b64079Angus Kong GL11ExtensionPack gl11ep, int n, int[] buffers, int offset) { 48ffc2a4a77f7164dd435d07c11a3df290c4b64079Angus Kong gl11ep.glDeleteFramebuffersOES(n, buffers, offset); 49ffc2a4a77f7164dd435d07c11a3df290c4b64079Angus Kong } 50b29a27f475a2c449abdda8d4e03d30914feed8c6Chih-Chung Chang} 51