| Index: platform_tools/android/apps/sample_app/src/main/java/com/skia/SkiaSampleRenderer.java
|
| diff --git a/platform_tools/android/apps/sample_app/src/main/java/com/skia/SkiaSampleRenderer.java b/platform_tools/android/apps/sample_app/src/main/java/com/skia/SkiaSampleRenderer.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..55257094cdd090415a2a0e02ebb75cbdc0626e24
|
| --- /dev/null
|
| +++ b/platform_tools/android/apps/sample_app/src/main/java/com/skia/SkiaSampleRenderer.java
|
| @@ -0,0 +1,113 @@
|
| +/*
|
| + * Copyright 2012 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +
|
| +package com.skia;
|
| +
|
| +import android.opengl.GLSurfaceView;
|
| +import android.os.Handler;
|
| +import android.util.Log;
|
| +
|
| +import javax.microedition.khronos.egl.EGLConfig;
|
| +import javax.microedition.khronos.opengles.GL10;
|
| +import javax.microedition.khronos.opengles.GL11;
|
| +
|
| +public class SkiaSampleRenderer implements GLSurfaceView.Renderer {
|
| +
|
| + private final SkiaSampleView mSampleView;
|
| + private Handler mHandler = new Handler();
|
| + private int mMSAASampleCount;
|
| + private String mCmdLineFlags;
|
| +
|
| + SkiaSampleRenderer(SkiaSampleView view, String cmdLineFlags) {
|
| + mSampleView = view;
|
| + mCmdLineFlags = cmdLineFlags;
|
| + }
|
| +
|
| + @Override
|
| + public void onDrawFrame(GL10 gl) {
|
| + draw();
|
| + }
|
| +
|
| + @Override
|
| + public void onSurfaceChanged(GL10 gl, int width, int height) {
|
| + updateSize(width, height);
|
| + }
|
| +
|
| + @Override
|
| + public void onSurfaceCreated(GL10 gl, EGLConfig config) {
|
| + if (gl instanceof GL11) {
|
| + int value[] = new int[1];
|
| + ((GL11) gl).glGetIntegerv(GL11.GL_SAMPLES, value, 0);
|
| + if (value[0] == 1) {
|
| + mMSAASampleCount = 0;
|
| + } else {
|
| + mMSAASampleCount = value[0];
|
| + }
|
| + }
|
| +
|
| + gl.glClearStencil(0);
|
| + gl.glClear(GL10.GL_STENCIL_BUFFER_BIT);
|
| +
|
| + init((SkiaSampleActivity)mSampleView.getContext(), mCmdLineFlags, mMSAASampleCount);
|
| + }
|
| +
|
| + // Called by JNI and the view.
|
| + synchronized public int getMSAASampleCount() {
|
| + return mMSAASampleCount;
|
| + }
|
| +
|
| + // Called by JNI
|
| + private void startTimer(int ms) {
|
| + // After the delay, queue an event to the Renderer's thread
|
| + // to handle the event on the timer queue
|
| + mHandler.postDelayed(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + mSampleView.queueEvent(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + serviceQueueTimer();
|
| + }
|
| + });
|
| + }
|
| + }, ms);
|
| + }
|
| +
|
| + // Called by JNI
|
| + private void queueSkEvent() {
|
| + mSampleView.queueEvent(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + processSkEvent();
|
| + }
|
| + });
|
| + }
|
| +
|
| + // Called by JNI
|
| + private void requestRender() {
|
| + mSampleView.requestRender();
|
| + }
|
| +
|
| + native void init(SkiaSampleActivity activity, String flags, int msaaSampleCount);
|
| + native void term();
|
| + native void draw();
|
| + native void updateSize(int w, int h);
|
| + native void handleClick(int owner, float x, float y, int state);
|
| + native void showOverview();
|
| + native void nextSample();
|
| + native void previousSample();
|
| + native void goToSample(int position);
|
| + native void toggleRenderingMode();
|
| + native void toggleSlideshow();
|
| + native void toggleFPS();
|
| + native void toggleTiling();
|
| + native void toggleBBox();
|
| + native void processSkEvent();
|
| + native void serviceQueueTimer();
|
| + native void saveToPDF();
|
| + native void postInval();
|
| +}
|
|
|