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

List:       kde-commits
Subject:    koffice/libs/flake
From:       Björn Breitmeyer <bjoern.breitmeyer () kdab ! com>
Date:       2010-10-14 8:55:12
Message-ID: 20101014085512.8AE26AC896 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1185793 by breitmeyer:

fixing the problems with false shape intersection not drawing chart
legends in kword, this time using the patch of jsimon


 M  +9 -1      KoShapeContainer.cpp  


--- trunk/koffice/libs/flake/KoShapeContainer.cpp #1185792:1185793
@@ -162,7 +162,14 @@
 
     QRectF toPaintRect = \
converter.viewToDocument(painter.clipRegion().boundingRect());  toPaintRect = \
transform().mapRect(toPaintRect); +    // We'll use this clipRect to see if our child \
shapes lie within it. +    // Because shape->boundingRect() uses \
absoluteTransformation(0) we'll +    // use that as well to have the same (absolute) \
reference transformation +    // of our and the child's bounding boxes.
+    QTransform absTrans = absoluteTransformation(0);
+    QRectF clipRect = absTrans.map(outline()).boundingRect();
 
+
     foreach(KoShape *shape, sortedObjects) {
         //kDebug(30006) <<"KoShapeContainer::painting shape:" << shape->shapeId() \
<<"," << shape->boundingRect();  if (!shape->isVisible())
@@ -170,7 +177,8 @@
         if (!isClipped(shape))  // the shapeManager will have to draw those, or else \
we can't do clipRects  continue;
         // don't try to draw a child shape that is not in the clipping rect of the \
                painter.
-        if (!toPaintRect.intersects(shape->boundingRect()))
+        if (!clipRect.intersects(shape->boundingRect()))
+
             continue;
 
         painter.save();


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

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