From c943c8cfc39df64ec6682722e86a54c538d3497b Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Sat, 28 Sep 2013 01:48:45 +0200
Subject: Fix AWT Printing: Use delegated GLDrawable's size for tile-size
 instead of AWT-GLAD's size, since the latter uses AWT's component size.

.. the AWT component size could have been modified after setupPrinting(..).

The AWT-GLAD getWidth() and getHeight() is implemented by AWT's component
and hence may not reflect the actual GLDrawable size while printing.
---
 src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

(limited to 'src/newt/classes')

diff --git a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java
index b2a4ef7d3..b069daacd 100644
--- a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java
+++ b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java
@@ -52,6 +52,7 @@ import javax.media.nativewindow.WindowClosingProtocol;
 import javax.media.opengl.GLAnimatorControl;
 import javax.media.opengl.GLAutoDrawable;
 import javax.media.opengl.GLCapabilities;
+import javax.media.opengl.GLDrawable;
 import javax.media.opengl.GLDrawableFactory;
 import javax.swing.MenuSelectionManager;
 
@@ -524,13 +525,15 @@ public class NewtCanvasAWT extends java.awt.Canvas implements WindowClosingProto
                 printGLAD = factory.createOffscreenAutoDrawable(null, caps, null, DEFAULT_PRINT_TILE_SIZE, DEFAULT_PRINT_TILE_SIZE, null);
                 GLDrawableUtil.swapGLContextAndAllGLEventListener(glad, printGLAD);
             }
+            final GLDrawable printDrawable = printGLAD.getDelegatedDrawable();
             printAWTTiles.setIsGLOriented(printGLAD.isGLOriented());
-            printAWTTiles.renderer.setTileSize(printGLAD.getWidth(), printGLAD.getHeight(), 0);
+            printAWTTiles.renderer.setTileSize(printDrawable.getWidth(), printDrawable.getHeight(), 0);
             printAWTTiles.renderer.attachAutoDrawable(printGLAD);
             if( DEBUG ) {
                 System.err.println("AWT print.setup "+printAWTTiles);
                 System.err.println("AWT print.setup AA "+printNumSamples+", "+caps);
-                System.err.println("AWT print.setup "+printGLAD);
+                System.err.println("AWT print.setup printGLAD: "+printGLAD.getWidth()+"x"+printGLAD.getHeight()+", "+printGLAD);
+                System.err.println("AWT print.setup printDraw: "+printDrawable.getWidth()+"x"+printDrawable.getHeight()+", "+printDrawable);
             }
         }
     };
-- 
cgit v1.2.3