diff options
author | Sven Gothel <[email protected]> | 2011-11-11 06:02:30 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2011-11-11 06:02:30 +0100 |
commit | f3e05fe62b91134ac601520c6f9c44d6d31fcd86 (patch) | |
tree | 3e013fb53f9e65c63e885acad23c52692889322b /src | |
parent | 3a6f6fd237505e8ced20b64579cca42e61751c51 (diff) |
Revert introduction of NativeSurfaceHolder and NativeWindowHolder interfaces
I was too fast introducing these accessors, since they are currently not needed
and hence redundant.
Complete
- 7bc4c218b47033cb66f4eb5e707a86a0a4e60cff
Partial in regards to the holder interfaces only:
- d8fa00d35a49f4faf5f04aeb7e2bba4e972965f5
- f51e3dad6c4bd1f6d0001cecf6a0f692400ed602
- 46542168d64b37f544f61802693f15b59b224e4e
Diffstat (limited to 'src')
12 files changed, 13 insertions, 144 deletions
diff --git a/src/jogl/classes/javax/media/opengl/GLDrawable.java b/src/jogl/classes/javax/media/opengl/GLDrawable.java index e2048b288..2b86a04ba 100644 --- a/src/jogl/classes/javax/media/opengl/GLDrawable.java +++ b/src/jogl/classes/javax/media/opengl/GLDrawable.java @@ -42,7 +42,6 @@ package javax.media.opengl; import javax.media.nativewindow.AbstractGraphicsConfiguration; import javax.media.nativewindow.NativeSurface; -import javax.media.nativewindow.NativeSurfaceHolder; /** An abstraction for an OpenGL rendering target. A GLDrawable's @@ -51,7 +50,7 @@ import javax.media.nativewindow.NativeSurfaceHolder; create an OpenGL context, but all implementations of {@link GLAutoDrawable} do so upon creation. */ -public interface GLDrawable extends NativeSurfaceHolder { +public interface GLDrawable { /** * Creates a new context for drawing to this drawable that will * optionally share display lists and other server-side OpenGL @@ -159,6 +158,14 @@ public interface GLDrawable extends NativeSurfaceHolder { */ public GLProfile getGLProfile(); + /** + * Returns the underlying native surface which surface handle + * represents this OpenGL drawable's native resource. + * + * @see #getHandle() + */ + public NativeSurface getNativeSurface(); + /** * This is the GL/Windowing drawable handle.<br> * It is usually the {@link javax.media.nativewindow.NativeSurface#getSurfaceHandle()}, diff --git a/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java b/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java index f02649949..3c2b7aed6 100644 --- a/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java +++ b/src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLDrawableFactory.java @@ -52,7 +52,6 @@ import javax.media.nativewindow.DefaultGraphicsScreen; import javax.media.nativewindow.NativeSurface; import javax.media.nativewindow.NativeWindow; import javax.media.nativewindow.NativeWindowFactory; -import javax.media.nativewindow.NativeWindowHolder; import javax.media.nativewindow.ProxySurface; import javax.media.nativewindow.macosx.MacOSXGraphicsDevice; import javax.media.opengl.GL; @@ -268,12 +267,7 @@ public class MacOSXCGLDrawableFactory extends GLDrawableFactoryImpl { final MacOSXJAWTWindow r = (MacOSXJAWTWindow) nwThis; return r.isOffscreenLayerSurface() ? r : null; } else { - // parent surface host, eg. via native parenting w/ NewtCanvasAWT NativeWindow nwParent = nwThis.getParent(); - if(null != nwParent && nwParent instanceof NativeWindowHolder) { - NativeWindowHolder nwh = (NativeWindowHolder) nwParent; - nwParent = nwh.getNativeWindow(); - } if(null != nwParent && nwParent instanceof MacOSXJAWTWindow) { final MacOSXJAWTWindow r = (MacOSXJAWTWindow) nwParent; return r.isOffscreenLayerSurface() ? r : null; diff --git a/src/nativewindow/classes/javax/media/nativewindow/NativeSurface.java b/src/nativewindow/classes/javax/media/nativewindow/NativeSurface.java index 0a9115f8c..b2a2bc4ee 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/NativeSurface.java +++ b/src/nativewindow/classes/javax/media/nativewindow/NativeSurface.java @@ -36,7 +36,7 @@ package javax.media.nativewindow; the component is alive and realized/visible, NativeSurface must be able provide information such as the surface handle while it is locked.<P> */ -public interface NativeSurface extends SurfaceUpdatedListener, NativeSurfaceHolder { +public interface NativeSurface extends SurfaceUpdatedListener { /** Unlocked state */ public static final int LOCK_SURFACE_UNLOCKED = 0; diff --git a/src/nativewindow/classes/javax/media/nativewindow/NativeSurfaceHolder.java b/src/nativewindow/classes/javax/media/nativewindow/NativeSurfaceHolder.java deleted file mode 100644 index 46d8b3488..000000000 --- a/src/nativewindow/classes/javax/media/nativewindow/NativeSurfaceHolder.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright (c) 2011 JogAmp Community. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of JogAmp Community. - */ - -package javax.media.nativewindow; - -/** - * This interface allows access to it's implementation's NativeSurface reference. - */ -public interface NativeSurfaceHolder { - /** - * Returns the {@link NativeSurface} object. - * <p> - * The returned object might be this instance in case this Object is a NativeSurface, - * or a contained NativeSurface instance. - * </p> - */ - public NativeSurface getNativeSurface(); -} diff --git a/src/nativewindow/classes/javax/media/nativewindow/NativeWindow.java b/src/nativewindow/classes/javax/media/nativewindow/NativeWindow.java index 1696cdb01..76ac72953 100644 --- a/src/nativewindow/classes/javax/media/nativewindow/NativeWindow.java +++ b/src/nativewindow/classes/javax/media/nativewindow/NativeWindow.java @@ -51,7 +51,7 @@ import javax.media.nativewindow.util.Point; implementation of {@link NativeWindowFactory NativeWindowFactory} which can create NativeWindow objects for its components. <P> */ -public interface NativeWindow extends NativeSurface, NativeWindowHolder { +public interface NativeWindow extends NativeSurface { /** * destroys the window and releases diff --git a/src/nativewindow/classes/javax/media/nativewindow/NativeWindowHolder.java b/src/nativewindow/classes/javax/media/nativewindow/NativeWindowHolder.java deleted file mode 100644 index 0c8b31aaa..000000000 --- a/src/nativewindow/classes/javax/media/nativewindow/NativeWindowHolder.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright (c) 2011 JogAmp Community. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of JogAmp Community. - */ - -package javax.media.nativewindow; - -/** - * This interface allows access to it's implementation's NativeWindow reference. - */ -public interface NativeWindowHolder { - /** - * Returns the {@link NativeWindow} object. - * <p> - * The returned object might be this instance in case this Object is a NativeWindow, - * or a contained NativeWindow instance. - * </p> - */ - public NativeWindow getNativeWindow(); -} diff --git a/src/nativewindow/classes/jogamp/nativewindow/WrappedSurface.java b/src/nativewindow/classes/jogamp/nativewindow/WrappedSurface.java index c4c33707d..65ecc48fe 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/WrappedSurface.java +++ b/src/nativewindow/classes/jogamp/nativewindow/WrappedSurface.java @@ -29,7 +29,6 @@ package jogamp.nativewindow; import javax.media.nativewindow.AbstractGraphicsConfiguration; -import javax.media.nativewindow.NativeSurface; import javax.media.nativewindow.ProxySurface; import javax.media.nativewindow.SurfaceChangeable; @@ -50,10 +49,6 @@ public class WrappedSurface extends ProxySurface implements SurfaceChangeable { surfaceHandle = 0; } - public NativeSurface getNativeSurface() { - return this; - } - public long getSurfaceHandle() { return surfaceHandle; } diff --git a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java index 109ae020f..efd3522b8 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java +++ b/src/nativewindow/classes/jogamp/nativewindow/jawt/JAWTWindow.java @@ -165,10 +165,6 @@ public abstract class JAWTWindow implements NativeWindow { // NativeSurface // - public NativeSurface getNativeSurface() { - return this; - } - private RecursiveLock surfaceLock = LockFactory.createRecursiveLock(); protected abstract int lockSurfaceImpl() throws NativeWindowException; @@ -258,10 +254,6 @@ public abstract class JAWTWindow implements NativeWindow { // NativeWindow // - public NativeWindow getNativeWindow() { - return this; - } - public synchronized void destroy() { invalidate(); if(null!=component) { diff --git a/src/nativewindow/classes/jogamp/nativewindow/windows/GDISurface.java b/src/nativewindow/classes/jogamp/nativewindow/windows/GDISurface.java index bf3b649cf..68cf8af45 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/windows/GDISurface.java +++ b/src/nativewindow/classes/jogamp/nativewindow/windows/GDISurface.java @@ -29,7 +29,6 @@ package jogamp.nativewindow.windows; import javax.media.nativewindow.AbstractGraphicsConfiguration; -import javax.media.nativewindow.NativeSurface; import javax.media.nativewindow.NativeWindowException; import javax.media.nativewindow.ProxySurface; @@ -57,10 +56,6 @@ public class GDISurface extends ProxySurface { surfaceHandle=0; } - public NativeSurface getNativeSurface() { - return this; - } - protected int lockSurfaceImpl() { if (0 != surfaceHandle) { throw new InternalError("surface not released"); diff --git a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java index 126ee5289..1ce8f09ca 100644 --- a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java +++ b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java @@ -40,11 +40,8 @@ import java.security.PrivilegedAction; import javax.media.nativewindow.Capabilities; import javax.media.nativewindow.CapabilitiesImmutable; -import javax.media.nativewindow.NativeSurface; -import javax.media.nativewindow.NativeSurfaceHolder; import javax.media.nativewindow.NativeWindow; import javax.media.nativewindow.NativeWindowException; -import javax.media.nativewindow.NativeWindowHolder; import javax.media.nativewindow.WindowClosingProtocol; import javax.media.nativewindow.awt.AWTWindowClosingProtocol; import javax.swing.MenuSelectionManager; @@ -64,7 +61,7 @@ import com.jogamp.newt.event.awt.AWTKeyAdapter; import com.jogamp.newt.event.awt.AWTMouseAdapter; @SuppressWarnings("serial") -public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProtocol, NativeSurfaceHolder, NativeWindowHolder { +public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProtocol { public static final boolean DEBUG = Debug.debug("Window"); NativeWindow nativeWindow = null; @@ -200,9 +197,6 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto * or {@link #addNotify()} hasn't been called yet.*/ public NativeWindow getNativeWindow() { return nativeWindow; } - /** See {@link #getNativeWindow()} */ - public NativeSurface getNativeSurface() { return nativeWindow; } - public int getDefaultCloseOperation() { return awtWindowClosingProtocol.getDefaultCloseOperation(); } diff --git a/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java b/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java index 51a2aa73b..e9ac272c8 100644 --- a/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java +++ b/src/newt/classes/com/jogamp/newt/opengl/GLWindow.java @@ -195,10 +195,6 @@ public class GLWindow implements GLAutoDrawable, Window, NEWTEventConsumer, FPSC return window.getRequestedCapabilities(); } - public NativeWindow getNativeWindow() { - return window; - } - public final Window getWindow() { return window; } @@ -680,18 +676,8 @@ public class GLWindow implements GLAutoDrawable, Window, NEWTEventConsumer, FPSC // GLDrawable methods // - - /** - * {@inheritDoc} - * <p> - * Be aware that the returned NativeSurface may change. - * If this inner {@link GLDrawable} representation became realized (see {@link #isRealized()}) - * this {@link GLDrawable}'s {@link NativeSurface} instance is being returned. - * Otherwise this {@link Window} {@link NativeSurface}'s is being returned. - * </p> - */ public final NativeSurface getNativeSurface() { - return null!=drawable ? drawable.getNativeSurface() : window.getNativeSurface(); + return null!=drawable ? drawable.getNativeSurface() : null; } public final long getHandle() { diff --git a/src/newt/classes/jogamp/newt/WindowImpl.java b/src/newt/classes/jogamp/newt/WindowImpl.java index 180cd568e..e8d6997c2 100644 --- a/src/newt/classes/jogamp/newt/WindowImpl.java +++ b/src/newt/classes/jogamp/newt/WindowImpl.java @@ -538,10 +538,6 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer // NativeSurface // - public NativeSurface getNativeSurface() { - return this; - } - public final int lockSurface() { windowLock.lock(); surfaceLock.lock(); @@ -634,10 +630,6 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer // NativeWindow // - public NativeWindow getNativeWindow() { - return this; - } - // public final void destroy() - see below public final NativeWindow getParent() { |