summaryrefslogtreecommitdiffstats
path: root/src/demos/context
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2005-11-09 23:40:41 +0000
committerKenneth Russel <[email protected]>2005-11-09 23:40:41 +0000
commitc01ade1249ca5175510a4d6a699ac0772c6b11d9 (patch)
treeac75b18ca28d586ddb80b9e17821022d5e69e8ab /src/demos/context
parentf35f87174f74988f1a2dbeab98b7529de0af3b36 (diff)
Made public API changes discussed with expert group to make core JOGL
API more toolkit-agnostic: 1. Decoupled instantiation of GLCanvas and GLJPanel objects from the GLDrawableFactory. GLCanvas and GLJPanel's constructors are now public and the associated factory methods have been removed from the GLDrawableFactory. 2. Changed the signature of GLDrawableFactory. chooseGraphicsConfiguration() to accept and return marker AbstractGraphicsDevice and AbstractGraphicsConfiguration interfaces, respectively. Defined new AWTGraphicsDevice and AWTGraphicsConfiguration wrapper classes simply wrapping the associated objects. An SWT port could define similar wrapper classes for its data types. 3. Allowed overriding of the specific GLDrawableFactory subclass instantiated through GLDrawableFactory.getFactory() by setting the system property "opengl.factory.class.name". For example, an SWT port might swap itself in by specifying the following system property on the command line: -Dopengl.factory.class.name=com.ibm.swt.opengl.SWTGLDrawableFactory Tested on Solaris/SPARC. Also fixed breakage on Solaris/SPARC due to recent split of jogl native library into jogl and jogl_awt pieces. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/jogl-demos/trunk@146 3298f667-5e0e-4b4a-8ed4-a3559d26a5f4
Diffstat (limited to 'src/demos/context')
-rwxr-xr-xsrc/demos/context/DualContext.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/demos/context/DualContext.java b/src/demos/context/DualContext.java
index 0f9fea9..6c43f42 100755
--- a/src/demos/context/DualContext.java
+++ b/src/demos/context/DualContext.java
@@ -62,7 +62,8 @@ public class DualContext extends Canvas {
private int repaintNum;
public DualContext(GLCapabilities capabilities) {
- super(GLDrawableFactory.getFactory().chooseGraphicsConfiguration(capabilities, null, null));
+ super(unwrap((AWTGraphicsConfiguration)
+ GLDrawableFactory.getFactory().chooseGraphicsConfiguration(capabilities, null, null)));
drawable = GLDrawableFactory.getFactory().getGLDrawable(this, capabilities, null);
context1 = drawable.createContext(null);
context2 = drawable.createContext(null);
@@ -142,4 +143,11 @@ public class DualContext extends Canvas {
frame.setSize(800, 400);
frame.setVisible(true);
}
+
+ private static GraphicsConfiguration unwrap(AWTGraphicsConfiguration config) {
+ if (config == null) {
+ return null;
+ }
+ return config.getGraphicsConfiguration();
+ }
}