diff options
author | Kenneth Russel <[email protected]> | 2005-11-09 20:11:30 +0000 |
---|---|---|
committer | Kenneth Russel <[email protected]> | 2005-11-09 20:11:30 +0000 |
commit | dba4677caf231ac26c70518a3e82651b0e01c8f2 (patch) | |
tree | 53b494a55ff1c4a00c6d2bd1dbb3e4b7e66b8b5e /src/classes/com/sun/opengl/impl/x11/X11OnscreenGLDrawable.java | |
parent | 23e6684c5ae7047f39620e861b607db2f761799d (diff) |
Refactored JOGL's use of the JAWT to enable it to be more lazily
loaded. Separated out AWT-specific native code into a new jogl_awt
native library on all platforms. Added a static helper method to the
JAWT class to fetch the JAWT which is now called by all users. Added a
new NativeLibLoader entry point to load the native code for the AWT
implementation. Renamed the X11 platform's "lockAWT" and "unlockAWT"
methods to "lockToolkit" and "unlockToolkit", respectively. In order
to change this behavior only two methods in X11GLDrawableFactory need
to be overridden. (During the writing of this checkin comment it was
noted that these methods are currently static, but that will be fixed
in a subsequent checkin.) Added the new jogl_awt native library to the
the "dist" target's error checking code. Tested on Windows; more
testing, including build testing, is needed on other platforms.
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@429 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'src/classes/com/sun/opengl/impl/x11/X11OnscreenGLDrawable.java')
-rw-r--r-- | src/classes/com/sun/opengl/impl/x11/X11OnscreenGLDrawable.java | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/classes/com/sun/opengl/impl/x11/X11OnscreenGLDrawable.java b/src/classes/com/sun/opengl/impl/x11/X11OnscreenGLDrawable.java index 49000fc14..810de42c5 100644 --- a/src/classes/com/sun/opengl/impl/x11/X11OnscreenGLDrawable.java +++ b/src/classes/com/sun/opengl/impl/x11/X11OnscreenGLDrawable.java @@ -91,7 +91,7 @@ public class X11OnscreenGLDrawable extends X11GLDrawable { } public void swapBuffers() throws GLException { - lockAWT(); + lockToolkit(); try { boolean didLock = false; @@ -109,7 +109,7 @@ public class X11OnscreenGLDrawable extends X11GLDrawable { unlockSurface(); } } finally { - unlockAWT(); + unlockToolkit(); } } @@ -120,7 +120,7 @@ public class X11OnscreenGLDrawable extends X11GLDrawable { if (drawable != 0) { throw new GLException("Surface already locked"); } - ds = getJAWT().GetDrawingSurface(component); + ds = JAWT.getJAWT().GetDrawingSurface(component); if (ds == null) { // Widget not yet realized return LOCK_SURFACE_NOT_READY; @@ -142,7 +142,7 @@ public class X11OnscreenGLDrawable extends X11GLDrawable { if (dsi == null) { // Widget not yet realized ds.Unlock(); - getJAWT().FreeDrawingSurface(ds); + JAWT.getJAWT().FreeDrawingSurface(ds); ds = null; return LOCK_SURFACE_NOT_READY; } @@ -154,7 +154,7 @@ public class X11OnscreenGLDrawable extends X11GLDrawable { // Widget not yet realized ds.FreeDrawingSurfaceInfo(dsi); ds.Unlock(); - getJAWT().FreeDrawingSurface(ds); + JAWT.getJAWT().FreeDrawingSurface(ds); ds = null; dsi = null; x11dsi = null; @@ -172,7 +172,7 @@ public class X11OnscreenGLDrawable extends X11GLDrawable { } ds.FreeDrawingSurfaceInfo(dsi); ds.Unlock(); - getJAWT().FreeDrawingSurface(ds); + JAWT.getJAWT().FreeDrawingSurface(ds); ds = null; dsi = null; x11dsi = null; @@ -180,12 +180,4 @@ public class X11OnscreenGLDrawable extends X11GLDrawable { drawable = 0; visualID = 0; } - - //---------------------------------------------------------------------- - // Internals only below this point - // - - private JAWT getJAWT() { - return X11GLDrawableFactory.getJAWT(); - } } |