Android Open Source - Backyard-Brains-Android-App Continuous G L Surface View






From Project

Back to project page Backyard-Brains-Android-App.

License

The source code is released under:

GNU General Public License

If you think the Android project Backyard-Brains-Android-App listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Backyard Brains Android App/*from www . jav a2s.co  m*/
 * Copyright (C) 2011 Backyard Brains
 * by Nathan Dotz <nate (at) backyardbrains.com>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package com.backyardbrains.drawing;

import android.content.SharedPreferences;
import android.opengl.GLSurfaceView;
import android.view.MotionEvent;
import android.view.SurfaceHolder;

import com.backyardbrains.BackyardAndroidActivity;
import com.backyardbrains.view.ScaleListener;
import com.backyardbrains.view.TwoDimensionScaleGestureDetector;

public class ContinuousGLSurfaceView extends GLSurfaceView {

  @SuppressWarnings("unused")
  private static final String TAG = ContinuousGLSurfaceView.class
      .getCanonicalName();
  protected TwoDimensionScaleGestureDetector mScaleDetector;

  protected OscilloscopeRenderer renderer;
  protected SharedPreferences settings;

  public ContinuousGLSurfaceView(BackyardAndroidActivity context) {
    super(context);
    settings = ((BackyardAndroidActivity) context)
        .getPreferences(BackyardAndroidActivity.MODE_PRIVATE);

    assignRenderer(context);
  }

  protected void assignRenderer(BackyardAndroidActivity context) {
    renderer = new OscilloscopeRenderer(context);
    setRenderer(renderer);
    mScaleDetector = new TwoDimensionScaleGestureDetector(context,
        new ScaleListener(renderer));
  }

  @Override
  public void surfaceCreated(SurfaceHolder holder) {
    super.surfaceCreated(holder);
    setKeepScreenOn(true);
    readSettings();
  }

  @Override
  public void surfaceDestroyed(SurfaceHolder holder) {
    saveSettings();
    setKeepScreenOn(false);
    super.surfaceDestroyed(holder);
  }

  @Override
  public boolean onTouchEvent(MotionEvent event) {
    mScaleDetector.onTouchEvent(event);
    return super.onTouchEvent(event);
  }

  protected void readSettings() {
    renderer.setAutoScaled(settings.getBoolean("continuousAutoscaled",
        renderer.isAutoScaled()));
    renderer.setGlWindowHorizontalSize(settings.getInt(
        "continuousGlWindowHorizontalSize",
        renderer.getGlWindowHorizontalSize()));
    renderer.setGlWindowVerticalSize(settings.getInt(
        "continuousGlWindowVerticalSize",
        renderer.getGlWindowVerticalSize()));
  }

  protected void saveSettings() {
    final SharedPreferences.Editor editor = settings.edit();
    editor.putBoolean("continuousAutoscaled", renderer.isAutoScaled());
    editor.putInt("continuousGlWindowHorizontalSize",
        renderer.getGlWindowHorizontalSize());
    editor.putInt("continuousGlWindowVerticalSize",
        renderer.getGlWindowVerticalSize());
    editor.commit();

  }

}




Java Source Code List

com.backyardbrains.BackyardAndroidActivity.java
com.backyardbrains.BackyardBrainsApplication.java
com.backyardbrains.BackyardBrainsConfigurationActivity.java
com.backyardbrains.FileListActivity.java
com.backyardbrains.TriggerActivity.java
com.backyardbrains.audio.AudioService.java
com.backyardbrains.audio.MicListener.java
com.backyardbrains.audio.ReceivesAudio.java
com.backyardbrains.audio.RecordingSaver.java
com.backyardbrains.audio.RingBuffer.java
com.backyardbrains.audio.TriggerAverager.java
com.backyardbrains.drawing.ContinuousGLSurfaceView.java
com.backyardbrains.drawing.OscilloscopeRenderer.java
com.backyardbrains.drawing.ThresholdGlSurfaceView.java
com.backyardbrains.drawing.ThresholdRenderer.java
com.backyardbrains.view.ScaleListener.java
com.backyardbrains.view.TwoDimensionScaleGestureDetector.java
com.backyardbrains.view.UIFactory.java