From 3972522e561f3d47ce4b0abce0cfa428d97f11bd Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Wed, 14 Sep 2011 09:49:37 +0200
Subject: Relocated VersionApplet

---
 .../classes/jogamp/opengl/awt/VersionApplet.java   | 168 +++++++++++++++++++++
 1 file changed, 168 insertions(+)
 create mode 100644 src/jogl/classes/jogamp/opengl/awt/VersionApplet.java

(limited to 'src/jogl')

diff --git a/src/jogl/classes/jogamp/opengl/awt/VersionApplet.java b/src/jogl/classes/jogamp/opengl/awt/VersionApplet.java
new file mode 100644
index 000000000..5856bf3a0
--- /dev/null
+++ b/src/jogl/classes/jogamp/opengl/awt/VersionApplet.java
@@ -0,0 +1,168 @@
+package jogamp.opengl.awt;
+
+import java.applet.Applet;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Frame;
+import java.awt.GridLayout;
+import java.awt.TextArea;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import java.util.List;
+
+import javax.media.opengl.GLProfile;
+import javax.media.opengl.awt.GLCanvas;
+import javax.media.opengl.GL;
+import javax.media.opengl.GLAutoDrawable;
+import javax.media.opengl.GLCapabilities;
+import javax.media.opengl.GLCapabilitiesImmutable;
+import javax.media.opengl.GLDrawableFactory;
+import javax.media.opengl.GLEventListener;
+
+import com.jogamp.common.GlueGenVersion;
+import com.jogamp.common.os.Platform;
+import com.jogamp.common.util.VersionUtil;
+import com.jogamp.opengl.JoglVersion;
+
+@SuppressWarnings("serial")
+public class VersionApplet extends Applet {
+  TextArea tareaVersion;
+  TextArea tareaCaps;
+  GLCanvas canvas;
+
+  public static void main(String[] args) {
+    Frame frame = new Frame("JOGL Version Applet");
+    frame.setSize(800, 600);
+    frame.setLayout(new BorderLayout());
+
+    VersionApplet va = new VersionApplet();
+    frame.addWindowListener(new ClosingWindowAdapter(frame, va));
+
+    va.init();
+    frame.add(va, BorderLayout.CENTER);
+    frame.validate();
+        
+    frame.setVisible(true);
+    va.start();
+  }
+
+  static class ClosingWindowAdapter extends WindowAdapter {
+    Frame f;
+    VersionApplet va;
+    public ClosingWindowAdapter(Frame f, VersionApplet va) {
+        this.f = f;
+        this.va = va;
+    }
+    public void windowClosing(WindowEvent ev) {
+        f.setVisible(false);
+        va.stop();
+        va.destroy();
+        f.remove(va);
+        f.dispose();
+        System.exit(0);
+    }
+  }
+
+  private synchronized void my_init() {
+    if(null != canvas) { return; }
+
+    GLProfile glp = GLProfile.getDefault();
+    GLCapabilities glcaps = new GLCapabilities(glp);
+
+    setLayout(new BorderLayout());
+    String s;
+
+    tareaVersion = new TextArea(120, 60);
+    s = VersionUtil.getPlatformInfo().toString();
+    System.err.println(s);
+    tareaVersion.append(s);
+
+    s = GlueGenVersion.getInstance().toString();
+    System.err.println(s);
+    tareaVersion.append(s);
+
+    /*
+    s = NativeWindowVersion.getInstance().toString();
+    System.err.println(s);
+    tareaVersion.append(NativeWindowVersion.getInstance().toString()); 
+    */
+
+    s = JoglVersion.getInstance().toString();
+    System.err.println(s);
+    tareaVersion.append(s);
+
+    tareaCaps = new TextArea(120, 20);
+    GLDrawableFactory factory = GLDrawableFactory.getFactory(glp);
+    List<GLCapabilitiesImmutable> availCaps = factory.getAvailableCapabilities(null);
+    for(int i=0; i<availCaps.size(); i++) {
+        s = ((GLCapabilitiesImmutable) availCaps.get(i)).toString();
+        System.err.println(s);
+        tareaCaps.append(s);
+        tareaCaps.append(Platform.getNewline());
+    }
+
+    Container grid = new Container();
+    grid.setLayout(new GridLayout(2, 1));
+    grid.add(tareaVersion);
+    grid.add(tareaCaps);
+    add(grid, BorderLayout.CENTER);
+
+    canvas = new GLCanvas(glcaps);
+    canvas.addGLEventListener(new GLInfo());
+    canvas.setSize(10, 10);
+    add(canvas, BorderLayout.SOUTH);
+    validate();
+  }
+
+  private synchronized void my_release() {
+      if(null!=canvas) {
+          remove(canvas);
+          canvas.destroy();
+          canvas = null;
+          remove(tareaVersion);
+          tareaVersion=null;
+      }
+  }
+
+  public void init() {
+    System.err.println("VersionApplet: init() - begin");
+    my_init();
+    System.err.println("VersionApplet: init() - end");
+  }
+
+  public void start() {
+    System.err.println("VersionApplet: start() - begin");
+    System.err.println("VersionApplet: start() - end");
+  }
+
+  public void stop() {
+    System.err.println("VersionApplet: stop() - begin");
+    System.err.println("VersionApplet: stop() - end");
+  }
+
+  public void destroy() {
+    System.err.println("VersionApplet: destroy() - start");
+    my_release();
+    System.err.println("VersionApplet: destroy() - end");
+  }
+
+  class GLInfo implements GLEventListener {
+    public void init(GLAutoDrawable drawable) {
+        GL gl = drawable.getGL();
+        String s = JoglVersion.getGLInfo(gl, null).toString();
+        System.err.println(s);
+        tareaVersion.append(s);
+    }
+
+    public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
+    }
+
+    public void display(GLAutoDrawable drawable) {
+    }
+
+    public void dispose(GLAutoDrawable drawable) {
+    }
+  }
+
+}
-- 
cgit v1.2.3