summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsrc/demos/applets/JOGLNewtApplet1Run.java160
-rwxr-xr-xsrc/demos/applets/JOGLNewtAppletBase.java242
2 files changed, 0 insertions, 402 deletions
diff --git a/src/demos/applets/JOGLNewtApplet1Run.java b/src/demos/applets/JOGLNewtApplet1Run.java
deleted file mode 100755
index b321c14..0000000
--- a/src/demos/applets/JOGLNewtApplet1Run.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package demos.applets;
-
-import java.applet.*;
-import java.awt.Container;
-import java.awt.event.MouseListener;
-import java.awt.event.MouseMotionListener;
-import java.awt.event.KeyListener;
-
-import javax.media.opengl.*;
-import com.jogamp.newt.awt.NewtCanvasAWT;
-import com.jogamp.newt.opengl.GLWindow;
-import java.awt.BorderLayout;
-
-/**
- * Simple GLEventListener deployment as an applet using JOGL. This demo must be
- * referenced from a web page via an <applet> tag.
- *
- * <p>
- * Example of an applet tag using GearsES2 within the applet area (normal case):
- * <pre>
- &lt;applet width=100 height=100&gt;
- &lt;param name="java_arguments" value="-Dsun.java2d.noddraw=true"&gt;
- &lt;param name="gl_event_listener_class" value="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"&gt;
- &lt;param name="gl_profile" value="GL2"&gt;
- &lt;param name="gl_swap_interval" value="1"&gt;
- &lt;param name="gl_debug" value="false"&gt;
- &lt;param name="gl_trace" value="false"&gt;
- &lt;param name="jnlp_href" value="jogl-newt-applet-runner.jnlp"&gt;
- &lt;/applet&gt;Hello Gears !
- * </pre>
- * </p>
- *
- * <p>
- * Example of an applet tag using GearsES2 in an undecorated, translucent and always-on-top window:
- * <pre>
- &lt;applet width=1 height=1&gt;
- &lt;param name="java_arguments" value="-Dsun.java2d.noddraw=true"&gt;
- &lt;param name="gl_event_listener_class" value="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"&gt;
- &lt;param name="gl_profile" value="GL2"&gt;
- &lt;param name="gl_swap_interval" value="1"&gt;
- &lt;param name="gl_undecorated" value="true"&gt;
- &lt;param name="gl_alwaysontop" value="true"&gt;
- &lt;param name="gl_opaque" value="false"&gt;
- &lt;param name="gl_dx" value="10"&gt;
- &lt;param name="gl_dy" value="0"&gt;
- &lt;param name="gl_width" value="100"&gt;
- &lt;param name="gl_height" value="100"&gt;
- &lt;param name="gl_debug" value="false"&gt;
- &lt;param name="gl_trace" value="false"&gt;
- &lt;param name="jnlp_href" value="jogl-newt-applet-runner.jnlp"&gt;
- &lt;/applet&gt;Hello Gears !
- * </pre>
- * </p>
- */
-@SuppressWarnings("serial")
-public class JOGLNewtApplet1Run extends Applet {
- GLWindow glWindow;
- NewtCanvasAWT newtCanvasAWT;
- JOGLNewtAppletBase base;
- /** if valid glStandalone:=true (own window) ! */
- int glXd=Integer.MAX_VALUE, glYd=Integer.MAX_VALUE, glWidth=Integer.MAX_VALUE, glHeight=Integer.MAX_VALUE;
- boolean glStandalone = false;
-
- public void init() {
- if(!(this instanceof Container)) {
- throw new RuntimeException("This Applet is not a AWT Container");
- }
- Container container = (Container) this; // have to think about that, we may use a Container
-
- String glEventListenerClazzName=null;
- String glProfileName=null;
- int glSwapInterval=0;
- boolean glDebug=false;
- boolean glTrace=false;
- boolean glUndecorated=false;
- boolean glAlwaysOnTop=false;
- boolean glOpaque=true;
- try {
- glEventListenerClazzName = getParameter("gl_event_listener_class");
- glProfileName = getParameter("gl_profile");
- glSwapInterval = JOGLNewtAppletBase.str2Int(getParameter("gl_swap_interval"), glSwapInterval);
- glDebug = JOGLNewtAppletBase.str2Bool(getParameter("gl_debug"), glDebug);
- glTrace = JOGLNewtAppletBase.str2Bool(getParameter("gl_trace"), glTrace);
- glUndecorated = JOGLNewtAppletBase.str2Bool(getParameter("gl_undecorated"), glUndecorated);
- glAlwaysOnTop = JOGLNewtAppletBase.str2Bool(getParameter("gl_alwaysontop"), glAlwaysOnTop);
- glOpaque = JOGLNewtAppletBase.str2Bool(getParameter("gl_opaque"), glOpaque);
- glXd = JOGLNewtAppletBase.str2Int(getParameter("gl_dx"), glXd);
- glYd = JOGLNewtAppletBase.str2Int(getParameter("gl_dy"), glYd);
- glWidth = JOGLNewtAppletBase.str2Int(getParameter("gl_width"), glWidth);
- glHeight = JOGLNewtAppletBase.str2Int(getParameter("gl_height"), glHeight);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if(null==glEventListenerClazzName) {
- throw new RuntimeException("No applet parameter 'gl_event_listener_class'");
- }
- glStandalone = Integer.MAX_VALUE>glXd && Integer.MAX_VALUE>glYd && Integer.MAX_VALUE>glWidth && Integer.MAX_VALUE>glHeight;
-
- base = new JOGLNewtAppletBase(glEventListenerClazzName,
- glSwapInterval,
- glDebug,
- glTrace);
-
- try {
- GLProfile.initSingleton(false);
- GLCapabilities caps = new GLCapabilities(GLProfile.get(glProfileName));
- caps.setBackgroundOpaque(glOpaque);
- glWindow = GLWindow.create(caps);
- glWindow.setUndecorated(glUndecorated);
- glWindow.setAlwaysOnTop(glAlwaysOnTop);
- if(glStandalone) {
- newtCanvasAWT = null;
- } else {
- newtCanvasAWT = new NewtCanvasAWT(glWindow);
- container.setLayout(new BorderLayout());
- container.add(newtCanvasAWT, BorderLayout.CENTER);
- }
- base.init(glWindow);
- if(base.isValid()) {
- GLEventListener glEventListener = base.getGLEventListener();
-
- if(glEventListener instanceof MouseListener) {
- addMouseListener((MouseListener)glEventListener);
- }
- if(glEventListener instanceof MouseMotionListener) {
- addMouseMotionListener((MouseMotionListener)glEventListener);
- }
- if(glEventListener instanceof KeyListener) {
- addKeyListener((KeyListener)glEventListener);
- }
- }
- } catch (Throwable t) {
- throw new RuntimeException(t);
- }
- }
-
- public void start() {
- if(glStandalone) {
- glWindow.setSize(glWidth, glHeight);
- final java.awt.Point p0 = this.getLocationOnScreen();
- glWindow.setPosition(p0.x+glXd, p0.y+glYd);
- }
- base.start();
- }
-
- public void stop() {
- base.stop();
- }
-
- public void destroy() {
- glWindow.setVisible(false); // hide 1st
- if(!glStandalone) {
- glWindow.reparentWindow(null); // get out of newtCanvasAWT
- this.remove(newtCanvasAWT); // remove newtCanvasAWT
- }
- base.destroy(); // destroy glWindow unrecoverable
- base=null;
- }
-}
-
diff --git a/src/demos/applets/JOGLNewtAppletBase.java b/src/demos/applets/JOGLNewtAppletBase.java
deleted file mode 100755
index c8c6ac6..0000000
--- a/src/demos/applets/JOGLNewtAppletBase.java
+++ /dev/null
@@ -1,242 +0,0 @@
-package demos.applets;
-
-import java.lang.reflect.*;
-
-import javax.media.nativewindow.NativeWindow;
-import javax.media.opengl.*;
-import com.jogamp.opengl.util.*;
-
-import com.jogamp.newt.event.*;
-import com.jogamp.newt.opengl.GLWindow;
-
-/** Shows how to deploy an applet using JOGL. This demo must be
- referenced from a web page via an &lt;applet&gt; tag. */
-
-public class JOGLNewtAppletBase extends WindowAdapter implements KeyListener, MouseListener, GLEventListener {
- String glEventListenerClazzName;
- int glSwapInterval;
- boolean glDebug;
- boolean glTrace;
-
- GLEventListener glEventListener = null;
- GLWindow glWindow = null;
- Animator glAnimator=null;
- boolean isValid = false;
- NativeWindow awtParent;
-
- public JOGLNewtAppletBase(String glEventListenerClazzName,
- int glSwapInterval,
- boolean glDebug,
- boolean glTrace) {
-
- this.glEventListenerClazzName=glEventListenerClazzName;
- this.glSwapInterval=glSwapInterval;
- this.glDebug = glDebug;
- this.glTrace = glTrace;
- }
-
- public GLEventListener getGLEventListener() { return glEventListener; }
- public GLWindow getGLWindow() { return glWindow; }
- public Animator getGLAnimator() { return glAnimator; }
- public boolean isValid() { return isValid; }
-
- public static boolean str2Bool(String str, boolean def) {
- if(null==str) return def;
- try {
- return Boolean.valueOf(str).booleanValue();
- } catch (Exception ex) { ex.printStackTrace(); }
- return def;
- }
-
- public static int str2Int(String str, int def) {
- if(null==str) return def;
- try {
- return Integer.parseInt(str);
- } catch (Exception ex) { ex.printStackTrace(); }
- return def;
- }
-
- public static GLEventListener createInstance(String clazzName) {
- Object instance = null;
-
- try {
- Class<?> clazz = Class.forName(clazzName);
- instance = clazz.newInstance();
- } catch (Throwable t) {
- t.printStackTrace();
- throw new RuntimeException("Error while instantiating demo: "+clazzName);
- }
- if( null == instance ) {
- throw new RuntimeException("Null GLEventListener: "+clazzName);
- }
- if( !(instance instanceof GLEventListener) ) {
- throw new RuntimeException("Not a GLEventListener: "+clazzName);
- }
- return (GLEventListener) instance;
- }
-
- public static boolean setField(Object instance, String fieldName, Object value) {
- try {
- Field f = instance.getClass().getField(fieldName);
- if(f.getType().isInstance(value)) {
- f.set(instance, value);
- return true;
- } else {
- System.out.println(instance.getClass()+" '"+fieldName+"' field not assignable with "+value.getClass()+", it's a: "+f.getType());
- }
- } catch (NoSuchFieldException nsfe) {
- System.out.println(instance.getClass()+" has no '"+fieldName+"' field");
- } catch (Throwable t) {
- t.printStackTrace();
- }
- return false;
- }
-
- public void init(GLWindow glWindow) {
- init(Thread.currentThread().getThreadGroup(), glWindow);
- }
-
- public void init(ThreadGroup tg, GLWindow glWindow) {
- this.glWindow = glWindow;
-
- glEventListener = createInstance(glEventListenerClazzName);
-
- try {
- if(!setField(glEventListener, "window", glWindow)) {
- setField(glEventListener, "glWindow", glWindow);
- }
-
- glWindow.addGLEventListener(this);
- glWindow.addGLEventListener(glEventListener);
-
- if(glEventListener instanceof WindowListener) {
- glWindow.addWindowListener((WindowListener)glEventListener);
- }
- glWindow.addWindowListener(this);
-
- if(glEventListener instanceof MouseListener) {
- glWindow.addMouseListener((MouseListener)glEventListener);
- }
- glWindow.addMouseListener(this);
-
- if(glEventListener instanceof KeyListener) {
- glWindow.addKeyListener((KeyListener)glEventListener);
- }
- glWindow.addKeyListener(this);
-
- glWindow.setUpdateFPSFrames(FPSCounter.DEFAULT_FRAMES_PER_INTERVAL, System.err);
-
- // glAnimator = new FPSAnimator(canvas, 60);
- glAnimator = new Animator(tg, glWindow);
- } catch (Throwable t) {
- throw new RuntimeException(t);
- }
- isValid = true;
- }
-
- public void start() {
- if(isValid) {
- glWindow.setVisible(true);
- glAnimator.start();
- awtParent = glWindow.getParent();
- }
- }
-
- public void stop() {
- if(null!=glAnimator) {
- glAnimator.stop();
- glWindow.setVisible(false);
- }
- }
-
- public void destroy() {
- isValid = false;
- if(null!=glAnimator) {
- glAnimator.stop();
- glAnimator.remove(glWindow);
- glAnimator=null;
- }
- if(null!=glWindow) {
- glWindow.destroy();
- glWindow=null;
- }
- }
-
- // ***********************************************************************************
- // ***********************************************************************************
- // ***********************************************************************************
-
- public void init(GLAutoDrawable drawable) {
- GL _gl = drawable.getGL();
-
- if(glDebug) {
- try {
- _gl = _gl.getContext().setGL( GLPipelineFactory.create("javax.media.opengl.Debug", null, _gl, null) );
- } catch (Exception e) {e.printStackTrace();}
- }
-
- if(glTrace) {
- try {
- // Trace ..
- _gl = _gl.getContext().setGL( GLPipelineFactory.create("javax.media.opengl.Trace", null, _gl, new Object[] { System.err } ) );
- } catch (Exception e) {e.printStackTrace();}
- }
-
- if(glSwapInterval>=0) {
- _gl.setSwapInterval(glSwapInterval);
- }
- }
- public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
- }
- public void display(GLAutoDrawable drawable) {
- }
- public void dispose(GLAutoDrawable drawable) {
- }
-
- // ***********************************************************************************
- // ***********************************************************************************
- // ***********************************************************************************
-
- public void keyPressed(KeyEvent e) {
- }
- public void keyReleased(KeyEvent e) {
- }
- public void keyTyped(KeyEvent e) {
- if(e.getKeyChar()=='d') {
- glWindow.setUndecorated(!glWindow.isUndecorated());
- } if(e.getKeyChar()=='f') {
- glWindow.setFullscreen(!glWindow.isFullscreen());
- } else if(e.getKeyChar()=='a') {
- glWindow.setAlwaysOnTop(!glWindow.isAlwaysOnTop());
- } else if(e.getKeyChar()=='r' && null!=awtParent) {
- if(null == glWindow.getParent()) {
- glWindow.reparentWindow(awtParent);
- } else {
- glWindow.reparentWindow(null);
- }
- }
- }
-
- // ***********************************************************************************
- // ***********************************************************************************
- // ***********************************************************************************
-
- public void mouseClicked(MouseEvent e) {
- }
- public void mouseEntered(MouseEvent e) {
- }
- public void mouseExited(MouseEvent e) {
- }
- public void mousePressed(MouseEvent e) {
- }
- public void mouseReleased(MouseEvent e) {
- }
- public void mouseMoved(MouseEvent e) {
- }
- public void mouseDragged(MouseEvent e) {
- }
- public void mouseWheelMoved(MouseEvent e) {
- }
-
-}
-