Skip to content

Commit

Permalink
Bug 848: Add test applet ; Bug 816 Bug816AppletGLCanvas02: Remove 2nd…
Browse files Browse the repository at this point in the history
… Animator ; Fix intendation (TAB -> WS)
  • Loading branch information
sgothel committed Oct 4, 2013
1 parent abdc28e commit 3a8c4d6
Show file tree
Hide file tree
Showing 6 changed files with 222 additions and 109 deletions.
4 changes: 2 additions & 2 deletions jnlp-files/jogl-applet-bug816_glcanvas02.html
Expand Up @@ -11,14 +11,14 @@

<P>
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
width="800" height="600">
width="600" height="300">
<param name="code" value="com.jogamp.opengl.test.junit.jogl.demos.es2.awt.Bug816AppletGLCanvas02">
<param name="archive" value="jar/lib/gluegen-rt.jar,
jar/lib/jogl-all.jar,
jar/jogl-test.jar">
<comment>
<embed code="com.jogamp.opengl.test.junit.jogl.demos.es2.awt.Bug816AppletGLCanvas02"
width="800" height="600"
width="600" height="300"
type="application/x-java-applet;version=1.6"
archive="jar/gluegen-rt.jar,
jar/jogl-all.jar,
Expand Down
2 changes: 1 addition & 1 deletion jnlp-files/jogl-applet-bug818_gljpanel01.html
Expand Up @@ -16,7 +16,7 @@
<param name="archive" value="jar/lib/gluegen-rt.jar,
jar/lib/jogl-all.jar,
jar/jogl-test.jar">
<param name="java_arguments" value="-Xms128M -Xmx512M -Dsun.java2d.noddraw=true"/>
<param name="java_arguments" value="-Xms128M -Xmx512M -Dsun.java2d.noddraw=true"/>
<comment>
<embed code="com.jogamp.opengl.test.junit.jogl.demos.gl2.awt.Bug818GLJPanelApplet"
width="750" height="350"
Expand Down
32 changes: 32 additions & 0 deletions jnlp-files/jogl-applet-bug848_glcanvas01.html
@@ -0,0 +1,32 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Bug 848: Applet on OSX w/ CALayer and 2 or more GLCanvas may crash</title>
</head>
<body BGCOLOR="#ffffff">

<P>
Bug 848: Applet on OSX w/ CALayer and 2 or more GLCanvas may 'crash'.
</P>

<P>
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
width="900" height="600">
<param name="code" value="com.jogamp.opengl.test.junit.jogl.demos.es2.awt.Bug848AppletGLCanvas01">
<param name="archive" value="jar/lib/gluegen-rt.jar,
jar/lib/jogl-all.jar,
jar/jogl-test.jar">
<comment>
<embed code="com.jogamp.opengl.test.junit.jogl.demos.es2.awt.Bug848AppletGLCanvas01"
width="900" height="600"
type="application/x-java-applet;version=1.6"
archive="jar/gluegen-rt.jar,
jar/jogl-all.jar,
jar/jogl-test.jar">
<noembed>Sorry, no Java support detected.</noembed>
</embed>
</comment>
</object>
</P>
</body>
</html>
Expand Up @@ -54,81 +54,81 @@
@SuppressWarnings("serial")
public class Bug816AppletGLCanvas01 extends Applet implements GLEventListener {

public Bug816AppletGLCanvas01() {
}

public static JFrame frame;
public static JPanel appletHolder;
public static boolean isApplet = true;

static public void main(String args[]) {
Applet myApplet = null;
isApplet = false;

myApplet = new Bug816AppletGLCanvas01();
appletStarter(myApplet, "Bug861AppletGLCanvasTest01", 800, 600);
}

static public void appletStarter(final Applet des, String frameName, int width, int height) {
appletHolder = new JPanel();
if (frame != null) {
frame.dispose();
frame = null;
public Bug816AppletGLCanvas01() {
}

public static JFrame frame;
public static JPanel appletHolder;
public static boolean isApplet = true;

static public void main(String args[]) {
Applet myApplet = null;
isApplet = false;

myApplet = new Bug816AppletGLCanvas01();
appletStarter(myApplet, "Bug861AppletGLCanvasTest01", 800, 600);
}

static public void appletStarter(final Applet des, String frameName, int width, int height) {
appletHolder = new JPanel();
if (frame != null) {
frame.dispose();
frame = null;
}
frame = new JFrame(frameName);
frame.setVisible(false);
frame.getContentPane().add(appletHolder);

appletHolder.setLayout(null);
des.setBounds(0, 0, width, height);
appletHolder.add(des);

frame.setVisible(true);
int frameBorderSize = appletHolder.getLocationOnScreen().x - frame.getLocationOnScreen().x;
int titleBarHeight = appletHolder.getLocationOnScreen().y - frame.getLocationOnScreen().y;
int frameWidth = width + 2 * frameBorderSize;
int frameHeight = height + titleBarHeight + frameBorderSize;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(frameWidth, frameHeight);
frame.setVisible(true);
des.init();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}

public void init() {
initOpenGLAWT();
}

public void initOpenGLAWT() {
setBackground(Color.gray);
setLayout(null);

GLProfile glp = GLProfile.getDefault();
GLCapabilities caps = new GLCapabilities(glp);
GLCanvas canvas = new GLCanvas((GLCapabilitiesImmutable) caps);
canvas.setBounds(50, 50, 200, 450);
canvas.addGLEventListener(this);
add(canvas);
}

public void init(GLAutoDrawable gLAutoDrawable) {
GL gl = gLAutoDrawable.getGL();
gl.glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
gLAutoDrawable.swapBuffers();
}

public void dispose(GLAutoDrawable glad) {
}

public void display(GLAutoDrawable glad) {
}

public void reshape(GLAutoDrawable glad, int i, int i1, int i2, int i3) {
}
frame = new JFrame(frameName);
frame.setVisible(false);
frame.getContentPane().add(appletHolder);

appletHolder.setLayout(null);
des.setBounds(0, 0, width, height);
appletHolder.add(des);

frame.setVisible(true);
int frameBorderSize = appletHolder.getLocationOnScreen().x - frame.getLocationOnScreen().x;
int titleBarHeight = appletHolder.getLocationOnScreen().y - frame.getLocationOnScreen().y;
int frameWidth = width + 2 * frameBorderSize;
int frameHeight = height + titleBarHeight + frameBorderSize;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(frameWidth, frameHeight);
frame.setVisible(true);
des.init();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}

public void init() {
initOpenGLAWT();
}

public void initOpenGLAWT() {
setBackground(Color.gray);
setLayout(null);

GLProfile glp = GLProfile.getDefault();
GLCapabilities caps = new GLCapabilities(glp);
GLCanvas canvas = new GLCanvas((GLCapabilitiesImmutable) caps);
canvas.setBounds(50, 50, 200, 450);
canvas.addGLEventListener(this);
add(canvas);
}

public void init(GLAutoDrawable gLAutoDrawable) {
GL gl = gLAutoDrawable.getGL();
gl.glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
gLAutoDrawable.swapBuffers();
}

public void dispose(GLAutoDrawable glad) {
}

public void display(GLAutoDrawable glad) {
}

public void reshape(GLAutoDrawable glad, int i, int i1, int i2, int i3) {
}

}
Expand Up @@ -28,8 +28,6 @@
package com.jogamp.opengl.test.junit.jogl.demos.es2.awt;

import java.applet.Applet;
import java.util.ArrayList;
import java.util.List;

import javax.media.opengl.GLAnimatorControl;
import javax.media.opengl.awt.GLCanvas;
Expand All @@ -49,37 +47,34 @@
*/
@SuppressWarnings("serial")
public class Bug816AppletGLCanvas02 extends Applet {
private List<GLAnimatorControl> animators = new ArrayList<GLAnimatorControl>(2);
GLAnimatorControl animator;

@Override
public void init() {
System.err.println("GearsApplet: init() - begin");
new BoxLayout(this, BoxLayout.X_AXIS);
setSize(600, 300);
add(createCanvas());
add(createCanvas());
System.err.println("GearsApplet: init() - end");
}
@Override
public void init() {
System.err.println("GearsApplet: init() - begin");
animator = new Animator();
new BoxLayout(this, BoxLayout.X_AXIS);
setSize(600, 300);
add(createCanvas());
add(createCanvas());
System.err.println("GearsApplet: init() - end");
}

private GLCanvas createCanvas() {
GLCanvas canvas = new GLCanvas();
canvas.addGLEventListener(new GearsES2(1));
canvas.setSize(300, 300);
animators.add(new Animator(canvas));
return canvas;
}
private GLCanvas createCanvas() {
GLCanvas canvas = new GLCanvas();
canvas.addGLEventListener(new GearsES2(1));
canvas.setSize(300, 300);
animator.add(canvas);
return canvas;
}

@Override
public void start() {
for (GLAnimatorControl control : animators) {
control.start();
}
}
@Override
public void start() {
animator.start();
}

@Override
public void stop() {
for (GLAnimatorControl control : animators) {
control.stop();
}
}
@Override
public void stop() {
animator.stop();
}
}
@@ -0,0 +1,86 @@
/**
* Copyright 2013 JogAmp Community. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of JogAmp Community.
*/
package com.jogamp.opengl.test.junit.jogl.demos.es2.awt;

import java.applet.Applet;
import java.util.ArrayList;
import java.util.List;

import javax.media.opengl.GLAnimatorControl;
import javax.media.opengl.awt.GLCanvas;
import javax.swing.BoxLayout;

import com.jogamp.opengl.test.junit.jogl.demos.es2.GearsES2;
import com.jogamp.opengl.util.Animator;

/**
* Bug 848: Applet on OSX w/ CALayer and 2 or more GLCanvas may 'crash'.
* <p>
* Test uses 2x3 GLCanvas in a box layout within the Applet.
* </p>
*/
@SuppressWarnings("serial")
public class Bug848AppletGLCanvas01 extends Applet {
private List<GLAnimatorControl> animators = new ArrayList<GLAnimatorControl>(2);

@Override
public void init() {
System.err.println("GearsApplet: init() - begin");
new BoxLayout(this, BoxLayout.X_AXIS);
setSize(900, 600);
add(createCanvas());
add(createCanvas());
add(createCanvas());
add(createCanvas());
add(createCanvas());
add(createCanvas());
System.err.println("GearsApplet: init() - end");
}

private GLCanvas createCanvas() {
GLCanvas canvas = new GLCanvas();
canvas.addGLEventListener(new GearsES2(1));
canvas.setSize(300, 300);
animators.add(new Animator(canvas));
return canvas;
}

@Override
public void start() {
for (GLAnimatorControl control : animators) {
control.start();
}
}

@Override
public void stop() {
for (GLAnimatorControl control : animators) {
control.stop();
}
}
}

0 comments on commit 3a8c4d6

Please sign in to comment.