From 58ecf0efcd7c83c8f8900b0a00d353af895e46a4 Mon Sep 17 00:00:00 2001 From: tkellner Date: Fri, 24 Aug 2012 17:06:10 +0000 Subject: don't use clip bounds to determine redraw area git-svn-id: https://svn.iaik.tugraz.at/svn/egiz/prj/current/12PDF-OVER-4.0@12410 3a0b52a2-8410-0410-bc02-ff6273a87459 --- .../pdfover/gui/composites/PDFViewerComposite.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'trunk/pdf-over-gui/src/main/java') diff --git a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PDFViewerComposite.java b/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PDFViewerComposite.java index 7792fa3f..f2852fcc 100644 --- a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PDFViewerComposite.java +++ b/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PDFViewerComposite.java @@ -34,11 +34,20 @@ import org.icepdf.core.exceptions.PDFSecurityException; import org.icepdf.core.pobjects.Document; import org.icepdf.core.pobjects.Page; import org.icepdf.core.util.GraphicsRenderingHints; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import at.asit.pdfover.gui.workflow.states.PositioningState; /** * Displays a PDF document */ public class PDFViewerComposite extends Composite { + /** + * SFL4J Logger instance + **/ + private static final Logger log = LoggerFactory + .getLogger(PDFViewerComposite.class); /** * PDF document @@ -125,16 +134,17 @@ public class PDFViewerComposite extends Composite { return; int page = getPage(); // Make page always fit to window - Rectangle2D clip = g.getClip().getBounds2D(); - double h_zoom = clip.getWidth() / PDFViewerComposite.this.base_dimensions[page].width; - double v_zoom = clip.getHeight() / PDFViewerComposite.this.base_dimensions[page].height; + Dimension d = getSize(); + double h_zoom = d.getWidth() / PDFViewerComposite.this.base_dimensions[page].width; + double v_zoom = d.getHeight() / PDFViewerComposite.this.base_dimensions[page].height; float zoom = (float) (h_zoom < v_zoom ? h_zoom : v_zoom); if (v_zoom < h_zoom) { // Page is narrower than window, center it - g.translate((int) ((clip.getWidth() - (PDFViewerComposite.this.base_dimensions[page].width * zoom)) / 2), 0); + g.translate((int) ((d.width - (PDFViewerComposite.this.base_dimensions[page].width * zoom)) / 2), 0); } + log.debug("Repainting " + g.getClipBounds().width + "x" + g.getClipBounds().height + " - " + d.width + "x" + d.height); PDFViewerComposite.this.document.paintPage(page, g, GraphicsRenderingHints.SCREEN, Page.BOUNDARY_CROPBOX, 0f, zoom); } }; -- cgit v1.2.3