diff options
author | Kenneth Russel <[email protected]> | 2005-11-09 23:40:41 +0000 |
---|---|---|
committer | Kenneth Russel <[email protected]> | 2005-11-09 23:40:41 +0000 |
commit | c01ade1249ca5175510a4d6a699ac0772c6b11d9 (patch) | |
tree | ac75b18ca28d586ddb80b9e17821022d5e69e8ab /src/demos/context | |
parent | f35f87174f74988f1a2dbeab98b7529de0af3b36 (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-x | src/demos/context/DualContext.java | 10 |
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(); + } } |