diff options
author | Kenneth Russel <[email protected]> | 2006-07-21 22:34:00 +0000 |
---|---|---|
committer | Kenneth Russel <[email protected]> | 2006-07-21 22:34:00 +0000 |
commit | e552d800ee9df3761108c044342612c8bda1f304 (patch) | |
tree | 690a4a58c5beafd4fefdcd434b371bfbc793e165 /src/classes/com/sun/opengl/impl/macosx/MacOSXOnscreenGLDrawable.java | |
parent | 595b8c26d0e4446239542ba076477b557611dfa0 (diff) |
Added support for sharing of textures, etc. between GLPbuffers and
GLJPanels when the Java2D/JOGL bridge is active on Mac OS X. This
required adding an alternate implementation for pbuffer drawables and
contexts on OS X which uses CGL rather than the NextStep OpenGL APIs.
Tested with advance Mustang bits on Mac OS X; Water and
HWShadowmapsSimple demos (which use pbuffers) are now working within
the JRefract harness when the Java2D/JOGL bridge is active.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@855 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'src/classes/com/sun/opengl/impl/macosx/MacOSXOnscreenGLDrawable.java')
-rw-r--r-- | src/classes/com/sun/opengl/impl/macosx/MacOSXOnscreenGLDrawable.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/classes/com/sun/opengl/impl/macosx/MacOSXOnscreenGLDrawable.java b/src/classes/com/sun/opengl/impl/macosx/MacOSXOnscreenGLDrawable.java index c9e993237..2cb501020 100644 --- a/src/classes/com/sun/opengl/impl/macosx/MacOSXOnscreenGLDrawable.java +++ b/src/classes/com/sun/opengl/impl/macosx/MacOSXOnscreenGLDrawable.java @@ -53,6 +53,7 @@ public class MacOSXOnscreenGLDrawable extends MacOSXGLDrawable { public static final int LOCK_SUCCESS = 3; protected Component component; + protected long nsView; // NSView private List/*<WeakReference<GLContext>>*/ createdContexts = new ArrayList(); @@ -126,6 +127,10 @@ public class MacOSXOnscreenGLDrawable extends MacOSXGLDrawable { } } + public long getView() { + return nsView; + } + public int lockSurface() throws GLException { if (!realized) { return LOCK_SURFACE_NOT_READY; @@ -205,4 +210,13 @@ public class MacOSXOnscreenGLDrawable extends MacOSXGLDrawable { macosxdsi = null; nsView = 0; } + + public void setOpenGLMode(int mode) { + if (mode != NSOPENGL_MODE) + throw new GLException("OpenGL mode switching not supported for on-screen GLDrawables"); + } + + public int getOpenGLMode() { + return NSOPENGL_MODE; + } } |