summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-03-07 12:48:03 +0100
committerSven Gothel <[email protected]>2012-03-07 12:48:03 +0100
commitd28e1b139f14b10b9e22750ac44dbc18f08a0d34 (patch)
tree40ba16e7232f9df113e954cd4e56e61027040779
parent7b450386d876c52805295804c9ebf9a109ed5508 (diff)
AndroidWindow.surfaceChanged(.., int pFormat, ..): Use passed pixel-format if valid
Turns out on Android 4.0.3 / Pandaboard ES (at least), the NDK method 'ANativeWindow_getFormat()' returns '1'.
-rw-r--r--src/newt/classes/jogamp/newt/driver/android/AndroidWindow.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/newt/classes/jogamp/newt/driver/android/AndroidWindow.java b/src/newt/classes/jogamp/newt/driver/android/AndroidWindow.java
index 5be36fd76..ec687277a 100644
--- a/src/newt/classes/jogamp/newt/driver/android/AndroidWindow.java
+++ b/src/newt/classes/jogamp/newt/driver/android/AndroidWindow.java
@@ -292,7 +292,7 @@ public class AndroidWindow extends jogamp.newt.WindowImpl implements Callback2 {
}
/**
- Canvas cLock = null;
+ android.graphics.Canvas cLock = null;
@Override
protected int lockSurfaceImpl() {
@@ -300,7 +300,7 @@ public class AndroidWindow extends jogamp.newt.WindowImpl implements Callback2 {
throw new InternalError("surface already locked");
}
if (0 != surfaceHandle) {
- cLock = nsv.getHolder().lockCanvas();
+ cLock = androidView.getHolder().lockCanvas();
}
return ( null != cLock ) ? LOCK_SUCCESS : LOCK_SURFACE_NOT_READY;
}
@@ -310,7 +310,7 @@ public class AndroidWindow extends jogamp.newt.WindowImpl implements Callback2 {
if (null == cLock) {
throw new InternalError("surface not locked");
}
- nsv.getHolder().unlockCanvasAndPost(cLock);
+ androidView.getHolder().unlockCanvasAndPost(cLock);
cLock=null;
} */
@@ -354,7 +354,11 @@ public class AndroidWindow extends jogamp.newt.WindowImpl implements Callback2 {
surface = aHolder.getSurface();
surfaceHandle = getSurfaceHandle0(surface);
acquire0(surfaceHandle);
- format = getSurfaceVisualID0(surfaceHandle);
+ if(PixelFormat.UNKNOWN == aFormat) {
+ format = getSurfaceVisualID0(surfaceHandle);
+ } else {
+ format = aFormat;
+ }
final int nWidth = getWidth0(surfaceHandle);
final int nHeight = getHeight0(surfaceHandle);
capsByFormat = (GLCapabilitiesImmutable) fixCaps(format, getRequestedCapabilities());