summaryrefslogtreecommitdiffstats
path: root/src/demos/applets/JOGLNewtApplet1Run.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/demos/applets/JOGLNewtApplet1Run.java')
-rwxr-xr-xsrc/demos/applets/JOGLNewtApplet1Run.java80
1 files changed, 80 insertions, 0 deletions
diff --git a/src/demos/applets/JOGLNewtApplet1Run.java b/src/demos/applets/JOGLNewtApplet1Run.java
new file mode 100755
index 0000000..08522de
--- /dev/null
+++ b/src/demos/applets/JOGLNewtApplet1Run.java
@@ -0,0 +1,80 @@
+package demos.applets;
+
+import java.applet.*;
+import java.awt.Container;
+
+import javax.media.opengl.*;
+import javax.media.nativewindow.*;
+import com.sun.javafx.newt.*;
+import com.sun.javafx.newt.opengl.*;
+
+/** Shows how to deploy an applet using JOGL. This demo must be
+ referenced from a web page via an <applet> tag. */
+
+public class JOGLNewtApplet1Run extends Applet {
+ JOGLNewtAppletBase base;
+
+ 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 handleWindowEvents=true;
+ boolean useGLInEventHandler=false;
+ boolean glDebug=false;
+ boolean glTrace=false;
+ String tmp;
+ try {
+ glEventListenerClazzName = getParameter("gl_event_listener_class");
+ glProfileName = getParameter("gl_profile");
+ glSwapInterval = JOGLNewtAppletBase.str2Int(getParameter("gl_swap_interval"), glSwapInterval);
+ useGLInEventHandler = JOGLNewtAppletBase.str2Bool(getParameter("gl_use_in_events"), useGLInEventHandler);
+ glDebug = JOGLNewtAppletBase.str2Bool(getParameter("gl_debug"), glDebug);
+ glTrace = JOGLNewtAppletBase.str2Bool(getParameter("gl_trace"), glTrace);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if(null==glEventListenerClazzName) {
+ throw new RuntimeException("No applet parameter 'gl_event_listener_class'");
+ }
+ base = new JOGLNewtAppletBase(glEventListenerClazzName,
+ glProfileName,
+ glSwapInterval,
+ handleWindowEvents,
+ useGLInEventHandler,
+ glDebug,
+ glTrace);
+
+ try {
+ GLCapabilities caps = new GLCapabilities(GLProfile.get(glProfileName));
+ Display nDisplay = NewtFactory.createDisplay(NativeWindowFactory.TYPE_AWT, null); // local display
+ Screen nScreen = NewtFactory.createScreen(NativeWindowFactory.TYPE_AWT, nDisplay, 0); // screen 0
+ Window nWindow = NewtFactory.createWindow(NativeWindowFactory.TYPE_AWT, new Object[] { container },
+ nScreen, caps, true /* undecorated */);
+ // nWindow.setPosition(x, y);
+ // nWindow.setSize(width, height);
+ if(null!=nWindow) {
+ base.init(nWindow);
+ }
+ } catch (Throwable t) {
+ throw new RuntimeException(t);
+ }
+ }
+
+ public void start() {
+ base.start();
+ }
+
+ public void stop() {
+ base.stop();
+ }
+
+ public void destroy() {
+ base.destroy();
+ }
+}
+