diff options
-rwxr-xr-x | src/demos/applets/JOGLNewtApplet1Run.java | 160 | ||||
-rwxr-xr-x | src/demos/applets/JOGLNewtAppletBase.java | 242 |
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> - <applet width=100 height=100> - <param name="java_arguments" value="-Dsun.java2d.noddraw=true"> - <param name="gl_event_listener_class" value="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"> - <param name="gl_profile" value="GL2"> - <param name="gl_swap_interval" value="1"> - <param name="gl_debug" value="false"> - <param name="gl_trace" value="false"> - <param name="jnlp_href" value="jogl-newt-applet-runner.jnlp"> - </applet>Hello Gears ! - * </pre> - * </p> - * - * <p> - * Example of an applet tag using GearsES2 in an undecorated, translucent and always-on-top window: - * <pre> - <applet width=1 height=1> - <param name="java_arguments" value="-Dsun.java2d.noddraw=true"> - <param name="gl_event_listener_class" value="com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2"> - <param name="gl_profile" value="GL2"> - <param name="gl_swap_interval" value="1"> - <param name="gl_undecorated" value="true"> - <param name="gl_alwaysontop" value="true"> - <param name="gl_opaque" value="false"> - <param name="gl_dx" value="10"> - <param name="gl_dy" value="0"> - <param name="gl_width" value="100"> - <param name="gl_height" value="100"> - <param name="gl_debug" value="false"> - <param name="gl_trace" value="false"> - <param name="jnlp_href" value="jogl-newt-applet-runner.jnlp"> - </applet>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 <applet> 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) { - } - -} - |