[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