aboutsummaryrefslogtreecommitdiffstats
path: root/src/newt/classes/jogamp
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-10-16 20:40:02 +0200
committerSven Gothel <[email protected]>2011-10-16 20:40:02 +0200
commit7eaeacc4148f0ec6146e5cc8db010a7414a7b419 (patch)
treece239b697fda34b0307da7eaa82358912ef01b59 /src/newt/classes/jogamp
parent32b643624ad6d7533bb45143b717c68d6ea878e7 (diff)
NEWT/OSX: Adding 'fake' lockSurface based on [view canDraw]. Can't use lockFocus(), deadlocks since we render separate to focus mgmt.
Diffstat (limited to 'src/newt/classes/jogamp')
-rw-r--r--src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java b/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java
index 8886cf630..695a03e40 100644
--- a/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java
+++ b/src/newt/classes/jogamp/newt/driver/macosx/MacWindow.java
@@ -34,17 +34,18 @@
package jogamp.newt.driver.macosx;
-import javax.media.nativewindow.*;
-
-import com.jogamp.newt.event.*;
-
-import jogamp.newt.*;
-
+import javax.media.nativewindow.GraphicsConfigurationFactory;
+import javax.media.nativewindow.NativeWindow;
+import javax.media.nativewindow.NativeWindowException;
import javax.media.nativewindow.util.Insets;
import javax.media.nativewindow.util.InsetsImmutable;
import javax.media.nativewindow.util.Point;
import javax.media.nativewindow.util.PointImmutable;
+import jogamp.newt.WindowImpl;
+
+import com.jogamp.newt.event.KeyEvent;
+
public class MacWindow extends WindowImpl {
// Window styles
@@ -172,6 +173,16 @@ public class MacWindow extends WindowImpl {
}
@Override
+ protected int lockSurfaceImpl() {
+ return lockSurface0(getWindowHandle()) ? LOCK_SUCCESS : LOCK_SURFACE_NOT_READY;
+ }
+
+ @Override
+ protected void unlockSurfaceImpl() {
+ unlockSurface0(getWindowHandle());
+ }
+
+ @Override
public final long getSurfaceHandle() {
return surfaceHandle;
}
@@ -443,6 +454,8 @@ public class MacWindow extends WindowImpl {
boolean opaque, boolean fullscreen, int windowStyle,
int backingStoreType,
int screen_idx, long view);
+ private native boolean lockSurface0(long window);
+ private native void unlockSurface0(long window);
private native void requestFocus0(long window, boolean force);
/** in case of a child window, it actually only issues orderBack(..) */
private native void orderOut0(long window);