summaryrefslogtreecommitdiffstats
path: root/src/nativewindow/classes/javax
diff options
context:
space:
mode:
authorsg215889 <[email protected]>2009-07-24 07:29:28 -0700
committersg215889 <[email protected]>2009-07-24 07:29:28 -0700
commit0906140a18690a9dced8dec12dfdd8cf4c95a4df (patch)
tree52f67514b575a61aeba975fad00fd5ab60a52435 /src/nativewindow/classes/javax
parent1f65dedf406455731fb682404a01c96aa85d5ae1 (diff)
Add: Extended support for CVM crosscompile:
- Clean up X11 dependency - NativeWindow: - Seperate X11 out of core. - Add nativewindow.x11.jar and nativewindow.x11.cdc.jar - Newt: - Seperate X11,win,osx out of core. - Add newt.x11.jar, newt.win.jar, newt.osx.jar and the CDC variants Fix: External Context & Drawable (X11 and Windows) - Properly fetch current context values (ctx, display, drawable, ..) - Create GraphicsConfiguration based on the given pixelformat/FBConfig Fix: Java2D OpenGL Usage - Using the external context as shared for the external drawable - JAWTUtil: Skip locking in case of OGL-Flush-Queue - TODO: Windows FBO still does not work .. (X11 is fine)
Diffstat (limited to 'src/nativewindow/classes/javax')
-rw-r--r--src/nativewindow/classes/javax/media/nativewindow/Capabilities.java23
-rw-r--r--src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java10
-rw-r--r--src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsDevice.java2
-rw-r--r--src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java4
4 files changed, 25 insertions, 14 deletions
diff --git a/src/nativewindow/classes/javax/media/nativewindow/Capabilities.java b/src/nativewindow/classes/javax/media/nativewindow/Capabilities.java
index 6c4c93003..9df57b6d2 100644
--- a/src/nativewindow/classes/javax/media/nativewindow/Capabilities.java
+++ b/src/nativewindow/classes/javax/media/nativewindow/Capabilities.java
@@ -57,6 +57,9 @@ public class Capabilities implements Cloneable {
private int transparentValueBlue = -1;
private int transparentValueAlpha = -1;
+ // Switch for on- or offscreen
+ private boolean onscreen = true;
+
/** Creates a Capabilities object. All attributes are in a default
state.
*/
@@ -79,7 +82,8 @@ public class Capabilities implements Cloneable {
other.getGreenBits()==greenBits &&
other.getBlueBits()==blueBits &&
other.getAlphaBits()==alphaBits &&
- other.isBackgroundOpaque()==backgroundOpaque;
+ other.isBackgroundOpaque()==backgroundOpaque &&
+ other.isOnscreen()==onscreen;
if(!backgroundOpaque) {
res = res && other.getTransparentRedValue()==transparentValueRed &&
other.getTransparentGreenValue()==transparentValueGreen &&
@@ -184,6 +188,20 @@ public class Capabilities implements Cloneable {
return backgroundOpaque;
}
+ /** Sets whether the drawable surface supports onscreen.
+ Defaults to true.
+ */
+ public void setOnscreen(boolean onscreen) {
+ this.onscreen=onscreen;
+ }
+
+ /** Indicates whether the drawable surface is onscreen.
+ Defaults to true.
+ */
+ public boolean isOnscreen() {
+ return onscreen;
+ }
+
/** Gets the transparent red value for the frame buffer configuration.
* This value is undefined if {@link #isBackgroundOpaque()} equals true.
* @see #setTransparentRedValue
@@ -242,7 +260,8 @@ public class Capabilities implements Cloneable {
public String toString() {
StringBuffer msg = new StringBuffer();
msg.append("Capabilities[");
- msg.append("Red: " + redBits +
+ msg.append("Onscreen: "+ onscreen +
+ ", Red: " + redBits +
", Green: " + greenBits +
", Blue: " + blueBits +
", Alpha: " + alphaBits +
diff --git a/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java b/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java
index eb0c25aed..cbd485649 100644
--- a/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java
+++ b/src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java
@@ -129,7 +129,8 @@ public abstract class NativeWindowFactory {
}
boolean toolkitLockForced = Debug.getBooleanProperty("nativewindow.locking", true, acc);
- boolean awtToolkitLockDisabled = Debug.getBooleanProperty("java.awt.headless", false, acc);
+ boolean awtToolkitLockDisabled = Debug.getBooleanProperty("java.awt.headless", false, acc) ||
+ Debug.getBooleanProperty("nativewindow.nolocking", true, acc) ;
NativeWindowFactory _factory = null;
@@ -166,13 +167,6 @@ public abstract class NativeWindowFactory {
// primitives in its OpenGL window system binding) makes
// the JOGL library more powerful.
//
- // (FIXME: from code examination, it looks like there are
- // regressions in the support for external GLDrawables in
- // JOGL 2 compared to JOGL 1.1.1. Note that the "default"
- // X display connection from X11Util is being used during
- // construction of the X11ExternalGLXDrawable instead of
- // the result of glXGetCurrentDisplay().)
- //
// The X11AWTNativeWindowFactory provides a locking
// mechanism compatible with the AWT. It may be desirable
// to replace this window factory when using third-party
diff --git a/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsDevice.java b/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsDevice.java
index 911b8f416..f0ea11011 100644
--- a/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsDevice.java
+++ b/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsDevice.java
@@ -34,8 +34,6 @@ package javax.media.nativewindow.x11;
import javax.media.nativewindow.*;
-import com.sun.nativewindow.impl.x11.*;
-
/** Encapsulates a graphics device on X11 platforms.
*/
diff --git a/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java b/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java
index 45146d33e..360036563 100644
--- a/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java
+++ b/src/nativewindow/classes/javax/media/nativewindow/x11/X11GraphicsScreen.java
@@ -33,8 +33,8 @@
package javax.media.nativewindow.x11;
import javax.media.nativewindow.*;
-
-import com.sun.nativewindow.impl.x11.*;
+import com.sun.nativewindow.impl.x11.X11Util;
+import com.sun.nativewindow.impl.x11.X11Lib;
/** Encapsulates a screen index on X11
platforms. Objects of this type are passed to {@link