[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    =?utf-8?q?=5Bcalligra=5D_filters/libkowmf=3A_WMF=3A_Fix_a_bug_wh?=
From:       Inge Wallin <inge () lysator ! liu ! se>
Date:       2011-05-03 11:32:07
Message-ID: 20110503113207.89D14A60B4 () git ! kde ! org
[Download RAW message or body]

Git commit e4ad8ac6bfdf16c078ed486da0b2c0d9b0b2c2bf by Inge Wallin.
Committed on 03/05/2011 at 13:14.
Pushed by ingwa into branch 'master'.

WMF: Fix a bug when only the Window is set and not the Viewport.

M  +9    -5    filters/libkowmf/kowmfpaint.cc     

http://commits.kde.org/calligra/e4ad8ac6bfdf16c078ed486da0b2c0d9b0b2c2bf

diff --git a/filters/libkowmf/kowmfpaint.cc b/filters/libkowmf/kowmfpaint.cc
index acac294..edccd2e 100644
--- a/filters/libkowmf/kowmfpaint.cc
+++ b/filters/libkowmf/kowmfpaint.cc
@@ -316,12 +316,13 @@ void KoWmfPaint::recalculateWorldTransform()
         kDebug(31000) << "Scale for Window -> Viewport"
                       << mWindowViewportScaleX << mWindowViewportScaleY;
 #endif
-    } else {
-        // Only one of window and viewport ext is set: Use same width for window and viewport
+    }
+    else {
+        // At most one of window and viewport ext is set: Use same width for window and viewport
         mWindowViewportScaleX = qreal(1.0);
         mWindowViewportScaleY = qreal(1.0);
 #if DEBUG_WMFPAINT
-        kDebug(31000) << "Only one of Window or Viewport set: scale = 1";
+        kDebug(31000) << "Only one of Window or Viewport set: scale window -> viewport = 1";
 #endif
     }
 
@@ -342,7 +343,7 @@ void KoWmfPaint::recalculateWorldTransform()
         flip = true;
     }
     if (flip) {
-        //kDebug(31000) << "Flipping" << midpointX << midpointY << scaleX << scaleY;
+        kDebug(31000) << "Flipping round midpoint" << midpointX << midpointY << scaleX << scaleY;
         mWorldTransform.translate(midpointX, midpointY);
         mWorldTransform.scale(scaleX, scaleY);
         mWorldTransform.translate(-midpointX, -midpointY);
@@ -356,7 +357,10 @@ void KoWmfPaint::recalculateWorldTransform()
         mWorldTransform.translate(mViewportOrg.x(), mViewportOrg.y());
     } 
     else {
-        mWorldTransform.translate(mWindowOrg.x(), mWindowOrg.y());
+        // If viewport is not set, but window is, then the output is
+        // always in the same place, namely (0, 0) -> (windowWidth,
+        // windowHeight)
+        ;
     }
     //kDebug(31000) << "After window viewport calculation" << mWorldTransform;
 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic