1 /* 2 * Copyright (C) 2010 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 package com.replica.replicaisland; 18 19 import javax.microedition.khronos.opengles.GL10; 20 21 public class BufferLibrary extends BaseObject { 22 private static final int GRID_LIST_SIZE = 256; 23 private FixedSizeArray<Grid> mGridList; 24 BufferLibrary()25 public BufferLibrary() { 26 super(); 27 28 mGridList = new FixedSizeArray<Grid>(GRID_LIST_SIZE); 29 } 30 31 @Override reset()32 public void reset() { 33 removeAll(); 34 } 35 add(Grid grid)36 public void add(Grid grid) { 37 mGridList.add(grid); 38 } 39 removeAll()40 public void removeAll() { 41 mGridList.clear(); 42 } 43 generateHardwareBuffers(GL10 gl)44 public void generateHardwareBuffers(GL10 gl) { 45 if (sSystemRegistry.contextParameters.supportsVBOs) { 46 final int count = mGridList.getCount(); 47 for (int x = 0; x < count; x++) { 48 Grid grid = mGridList.get(x); 49 grid.generateHardwareBuffers(gl); 50 } 51 } 52 } 53 releaseHardwareBuffers(GL10 gl)54 public void releaseHardwareBuffers(GL10 gl) { 55 if (sSystemRegistry.contextParameters.supportsVBOs) { 56 final int count = mGridList.getCount(); 57 for (int x = 0; x < count; x++) { 58 Grid grid = mGridList.get(x); 59 grid.releaseHardwareBuffers(gl); 60 } 61 } 62 } 63 invalidateHardwareBuffers()64 public void invalidateHardwareBuffers() { 65 if (sSystemRegistry.contextParameters.supportsVBOs) { 66 final int count = mGridList.getCount(); 67 for (int x = 0; x < count; x++) { 68 Grid grid = mGridList.get(x); 69 grid.invalidateHardwareBuffers(); 70 } 71 } 72 } 73 74 } 75