blob: 4a4e4ca1766aa5aefb7d6f03cdaaede77b4efb90 [file] [log] [blame]
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.opengl.cts;
import android.app.Activity;
import android.content.Context;
import android.opengl.GLSurfaceView;
import android.opengl.GLSurfaceView.Renderer;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class OpenGLES20ActivityOne extends Activity {
public static final String EXTRA_VIEW_TYPE = "viewType";
public static final String EXTRA_VIEW_INDEX = "viewIndex";
OpenGLES20View view;
Renderer mRenderer;
int mRendererType;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
int viewType = getIntent().getIntExtra(EXTRA_VIEW_TYPE, -1);
int viewIndex = getIntent().getIntExtra(EXTRA_VIEW_INDEX, -1);
view = new OpenGLES20View(this, viewType, viewIndex);
setContentView(view);
}
public int getNoOfAttachedShaders() {
return ((RendererBase)mRenderer).mShaderCount[0];
}
public int glGetError() {
return ((RendererBase)mRenderer).mError;
}
@Override
protected void onPause() {
super.onPause();
if (view != null) {
view.onPause();
}
}
@Override
protected void onResume() {
super.onResume();
if(view != null) {
view.onResume();
}
}
class OpenGLES20View extends GLSurfaceView {
public OpenGLES20View(Context context, int type, int index) {
super(context);
setEGLContextClientVersion(2);
if(type == Constants.SHADER) {
if(index == 1) {
mRenderer = new RendererOneShaderTest();
}else if(index == 2) {
mRenderer = new RendererTwoShaderTest();
}else if(index == 3) {
mRenderer = new RendererThreeShaderTest();
}else if(index == 4) {
mRenderer = new RendererFourShaderTest();
}else if(index == 5) {
mRenderer = new RendererFiveShaderTest();
}else if(index == 6) {
mRenderer = new RendererSixShaderTest();
}else if(index == 7) {
mRenderer = new RendererSevenShaderTest();
}else if(index == 8) {
mRenderer = new RendererEightShaderTest();
}else if(index == 9) {
mRenderer = new RendererNineShaderTest();
}else if(index == 10) {
mRenderer = new RendererTenShaderTest();
}else {
throw new RuntimeException();
}
}else if(type == Constants.PROGRAM) {
if(index == 1) {
mRenderer = new RendererOneProgramTest();
}
}
setRenderer(mRenderer);
}
@Override
public void setEGLContextClientVersion(int version) {
super.setEGLContextClientVersion(version);
}
}
}