diff options
author | Sven Gothel <[email protected]> | 2011-02-28 05:22:24 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2011-02-28 05:22:24 +0100 |
commit | 254052b54cebdb957d83e46e377534ef263d6029 (patch) | |
tree | 7ce8240d982303ed078d3fc8c59db5bba5b8ff6b /src/jogl/classes/javax | |
parent | 3ee26cd01789d0169c5225b3a4e5229e4a1c6676 (diff) |
JOGL GLDrawableFactory: Expose experimental method createProxySurface(..) for new windowing system ad-hoc development.
WARNING: This method may change ro be removed over time!
Diffstat (limited to 'src/jogl/classes/javax')
-rw-r--r-- | src/jogl/classes/javax/media/opengl/GLDrawableFactory.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/jogl/classes/javax/media/opengl/GLDrawableFactory.java b/src/jogl/classes/javax/media/opengl/GLDrawableFactory.java index 395ee3704..c433e8b68 100644 --- a/src/jogl/classes/javax/media/opengl/GLDrawableFactory.java +++ b/src/jogl/classes/javax/media/opengl/GLDrawableFactory.java @@ -52,6 +52,7 @@ import com.jogamp.common.util.ReflectionUtil; import javax.media.nativewindow.AbstractGraphicsDevice; import javax.media.nativewindow.NativeSurface; import javax.media.nativewindow.NativeWindowFactory; +import javax.media.nativewindow.ProxySurface; /** <P> Provides a virtual machine- and operating system-independent mechanism for creating {@link GLDrawable}s. </P> @@ -425,6 +426,23 @@ public abstract class GLDrawableFactory { int width, int height); /** + * Highly experimental API entry, allowing developer of new windowing system bindings + * to leverage the native window handle to produce a NativeSurface implementation (ProxySurface), having the required GLCapabilities.<br> + * Such surface can be used to instantiate a GLDrawable and hence test your new binding w/o the + * costs of providing a full set of abstraction like the AWT GLCanvas or even the native NEWT bindings. + * + * @param device the platform's target device, shall not be <code>null</code> + * @param windowHandle the native window handle + * @param caps the requested GLCapabilties + * @param chooser the custom chooser, may be null for default + * @return The proxy surface wrapping the windowHandle on the device + */ + public abstract ProxySurface createProxySurface(AbstractGraphicsDevice device, + long windowHandle, + GLCapabilitiesImmutable caps, + GLCapabilitiesChooser chooser); + + /** * Returns true if it is possible to create a GLPbuffer. Some older * graphics cards do not have this capability. * |