summaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl/util')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java17
-rw-r--r--src/jogl/classes/com/jogamp/opengl/util/awt/AWTGLReadBufferUtil.java4
2 files changed, 9 insertions, 12 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java b/src/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java
index ae1b459a6..cd6a8ac72 100644
--- a/src/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java
+++ b/src/jogl/classes/com/jogamp/opengl/util/GLReadBufferUtil.java
@@ -132,7 +132,7 @@ public class GLReadBufferUtil {
* @see #GLReadBufferUtil(boolean, boolean)
*/
public boolean readPixels(GL gl, boolean mustFlipVertically) {
- return readPixels(gl, 0, 0, null, null, mustFlipVertically);
+ return readPixels(gl, 0, 0, 0, 0, mustFlipVertically);
}
/**
@@ -141,17 +141,16 @@ public class GLReadBufferUtil {
* @param gl the current GL context object. It's read drawable is being used as the pixel source.
* @param inX readPixel x offset
* @param inY readPixel y offset
- * @param ioWidth readPixel width
- * @param ioHeight readPixel height
+ * @param inWidth optional readPixel width value, used if [1 .. drawable.width], otherwise using drawable.width
+ * @param inHeight optional readPixel height, used if [1 .. drawable.height], otherwise using drawable.height
* @param mustFlipVertically indicates whether to flip the data vertically or not.
* The context's drawable {@link GLDrawable#isGLOriented()} state
* is taken into account.
* Vertical flipping is propagated to TextureData
* and handled in a efficient manner there (TextureCoordinates and TextureIO writer).
- *
* @see #GLReadBufferUtil(boolean, boolean)
*/
- public boolean readPixels(GL gl, int inX, int inY, int ioWidth[], int ioHeight[], boolean mustFlipVertically) {
+ public boolean readPixels(GL gl, int inX, int inY, int inWidth, int inHeight, boolean mustFlipVertically) {
final int glerr0 = gl.glGetError();
if(GL.GL_NO_ERROR != glerr0) {
System.err.println("Info: GLReadBufferUtil.readPixels: pre-exisiting GL error 0x"+Integer.toHexString(glerr0));
@@ -165,15 +164,15 @@ public class GLReadBufferUtil {
}
final GLDrawable drawable = gl.getContext().getGLReadDrawable();
final int width, height;
- if( null == ioWidth || drawable.getWidth() < ioWidth[0] ) {
+ if( 0 >= inWidth || drawable.getWidth() < inWidth ) {
width = drawable.getWidth();
} else {
- width = ioWidth[0];
+ width = inWidth;
}
- if( null == ioHeight || drawable.getHeight() < ioHeight[0] ) {
+ if( 0 >= inHeight || drawable.getHeight() < inHeight ) {
height = drawable.getHeight();
} else {
- height= ioHeight[0];
+ height= inHeight;
}
final boolean flipVertically;
diff --git a/src/jogl/classes/com/jogamp/opengl/util/awt/AWTGLReadBufferUtil.java b/src/jogl/classes/com/jogamp/opengl/util/awt/AWTGLReadBufferUtil.java
index 0edd53ca1..a689e318c 100644
--- a/src/jogl/classes/com/jogamp/opengl/util/awt/AWTGLReadBufferUtil.java
+++ b/src/jogl/classes/com/jogamp/opengl/util/awt/AWTGLReadBufferUtil.java
@@ -62,9 +62,7 @@ public class AWTGLReadBufferUtil extends GLReadBufferUtil {
return null;
}
public BufferedImage readPixelsToBufferedImage(GL gl, int inX, int inY, int inWidth, int inHeight, boolean awtOrientation) {
- final int[] ioWidth = new int[] { inWidth };
- final int[] ioHeight= new int[] { inHeight };
- if( readPixels(gl, inX, inY, ioWidth, ioHeight, awtOrientation) ) {
+ if( readPixels(gl, inX, inY, inWidth, inHeight, awtOrientation) ) {
final BufferedImage image = getAWTGLPixelBuffer().image;
if( getTextureData().getMustFlipVertically() ) {
ImageUtil.flipImageVertically(image);