From 71fb7c1271cc1dbbcacdaf6da093055ec61835d3 Mon Sep 17 00:00:00 2001 From: Sven Gothel <sgothel@jausoft.com> Date: Fri, 30 Sep 2011 17:07:33 +0200 Subject: Android: Use standard launch mode; Add default actions to NewtBaseActivity; Add RedSquare ES1 + ES2 --- .../newt/driver/android/NewtBaseActivity.java | 28 +++++++++++-- .../newt/driver/android/NewtVersionActivity.java | 49 +--------------------- 2 files changed, 26 insertions(+), 51 deletions(-) (limited to 'src/newt/classes/jogamp') diff --git a/src/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java b/src/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java index 358fcc994..9a2a0ea2c 100644 --- a/src/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java +++ b/src/newt/classes/jogamp/newt/driver/android/NewtBaseActivity.java @@ -31,15 +31,18 @@ import javax.media.opengl.GLProfile; import com.jogamp.newt.Window; import com.jogamp.newt.opengl.GLWindow; +import com.jogamp.opengl.util.Animator; import jogamp.newt.driver.android.AndroidWindow; import android.app.Activity; -import android.content.Context; import android.os.Bundle; import android.util.Log; public class NewtBaseActivity extends Activity { + AndroidWindow window = null; + Animator animator = null; + boolean isInvokedByExternalActivity = false; Activity extActivity = this; @@ -56,16 +59,21 @@ public class NewtBaseActivity extends Activity { window = ((GLWindow)window).getWindow(); } if(window instanceof AndroidWindow) { + this.window = (AndroidWindow)window; if(isInvokedByExternalActivity) { - extActivity.setContentView(((AndroidWindow)window).getView()); + extActivity.setContentView(this.window.getView()); } else { - super.setContentView(((AndroidWindow)window).getView()); + super.setContentView(this.window.getView()); } } else { throw new IllegalArgumentException("Given NEWT Window is not an Android Window: "+window.getClass()); } } + public void setAnimator(Animator animator) { + this.animator = animator; + } + @Override public void onCreate(Bundle savedInstanceState) { Log.d(MD.TAG, "onCreate"); @@ -103,11 +111,17 @@ public class NewtBaseActivity extends Activity { if(!isInvokedByExternalActivity) { super.onResume(); } + if(null != animator) { + animator.start(); + } } @Override public void onPause() { Log.d(MD.TAG, "onPause"); + if(null != animator) { + animator.pause(); + } if(!isInvokedByExternalActivity) { super.onPause(); } @@ -124,6 +138,14 @@ public class NewtBaseActivity extends Activity { @Override public void onDestroy() { Log.d(MD.TAG, "onDestroy"); + if(null != animator) { + animator.stop(); + animator = null; + } + if(null != window) { + window.destroy(); + window = null; + } if(!isInvokedByExternalActivity) { super.onDestroy(); } diff --git a/src/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java b/src/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java index 5842a285d..d37901793 100644 --- a/src/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java +++ b/src/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java @@ -30,17 +30,13 @@ package jogamp.newt.driver.android; import com.jogamp.common.GlueGenVersion; import com.jogamp.common.os.Platform; import com.jogamp.common.util.VersionUtil; -import com.jogamp.newt.opengl.GLWindow; import com.jogamp.opengl.JoglVersion; -import com.jogamp.opengl.util.Animator; import android.os.Bundle; import android.util.Log; import android.widget.TextView; public class NewtVersionActivity extends NewtBaseActivity { - GLWindow glWindow = null; - Animator animator = null; TextView tv = null; @Override @@ -57,50 +53,7 @@ public class NewtVersionActivity extends NewtBaseActivity { tv = new TextView(this); tv.setText(VersionUtil.getPlatformInfo()+Platform.NEWLINE+GlueGenVersion.getInstance()+Platform.NEWLINE+JoglVersion.getInstance()+Platform.NEWLINE); setContentView(tv); - /** - // create GLWindow (-> incl. underlying NEWT Display, Screen & Window) - GLCapabilities caps = new GLCapabilities(GLProfile.get(GLProfile.GLES1)); - glWindow = GLWindow.create(caps); - setContentView(glWindow); - - glWindow.addGLEventListener(new GearsES1(1)); - glWindow.getWindow().getScreen().addScreenModeListener(new ScreenModeListener() { - public void screenModeChangeNotify(ScreenMode sm) { } - public void screenModeChanged(ScreenMode sm, boolean success) { - System.err.println("ScreenMode Changed: "+sm); - } - }); - glWindow.setVisible(true); - animator = new Animator(glWindow); - animator.setUpdateFPSFrames(60, System.err); */ - - Log.d(MD.TAG, "onCreate - X"); - } - - @Override - public void onResume() { - super.onResume(); - if(null != animator) { - animator.start(); - } - } - @Override - public void onPause() { - super.onPause(); - if(null != animator) { - animator.pause(); - } - } - - @Override - public void onDestroy() { - super.onDestroy(); - if(null != animator) { - animator.stop(); - } - if(null != glWindow) { - glWindow.destroy(); - } + Log.d(MD.TAG, "onCreate - X"); } } -- cgit v1.2.3