19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.opengl; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport javax.microedition.khronos.opengles.GL; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport javax.microedition.khronos.opengles.GL10; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport javax.microedition.khronos.opengles.GL10Ext; 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport javax.microedition.khronos.opengles.GL11; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport javax.microedition.khronos.opengles.GL11Ext; 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport javax.microedition.khronos.opengles.GL11ExtensionPack; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The abstract base class for a GL wrapper. Provides 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * some convenient instance variables and default implementations. 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectabstract class GLWrapperBase 3129406daf21c2dfa4d893b421d39137eb47fb3aa6Jack Palevich implements GL, GL10, GL10Ext, GL11, GL11Ext, GL11ExtensionPack { 32d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich public GLWrapperBase(GL gl) { 33d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich mgl = (GL10) gl; 34d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich if (gl instanceof GL10Ext) { 35d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich mgl10Ext = (GL10Ext) gl; 36d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich } 37d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich if (gl instanceof GL11) { 38d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich mgl11 = (GL11) gl; 39d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich } 40d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich if (gl instanceof GL11Ext) { 41d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich mgl11Ext = (GL11Ext) gl; 42d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich } 43d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich if (gl instanceof GL11ExtensionPack) { 44d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich mgl11ExtensionPack = (GL11ExtensionPack) gl; 45d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich } 46d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich } 47d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich 48d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich protected GL10 mgl; 49d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich protected GL10Ext mgl10Ext; 50d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich protected GL11 mgl11; 51d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich protected GL11Ext mgl11Ext; 52d70213e70ed4b2648d696a554a0ba7dac4c32757Jack Palevich protected GL11ExtensionPack mgl11ExtensionPack; 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 54