diff options
author | Andreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com> | 2009-04-06 11:31:02 (GMT) |
---|---|---|
committer | Andreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com> | 2009-04-06 11:49:56 (GMT) |
commit | cc18633fe45d599bfeac2a8b2737d155f1dd5564 (patch) | |
tree | 0c55b57bd1ece0dc2cacf381a24bb7a3a8ca65cd /LGPL_EXCEPTION.txt | |
parent | 416fd77e653d089b7832002a68d5b7725fa492db (diff) | |
download | Qt-cc18633fe45d599bfeac2a8b2737d155f1dd5564.zip Qt-cc18633fe45d599bfeac2a8b2737d155f1dd5564.tar.gz Qt-cc18633fe45d599bfeac2a8b2737d155f1dd5564.tar.bz2 |
Fixup update rect regression by adjusting expose rectangles.
This change shows a limitation in Graphics View caused by QPen's
default width being 0 (cosmetic), while Graphics View actually
does not support cosmetic pens at all. Because items are at risk of
drawing lines that poke 1 pixel outside their bounding rect,
QGraphicsView must look for items that are up to one pixel
larger than their bounding rect mapped to viewport coordinates.
Furthermore, mapToScene(QRect) forces us to adjust the
input rectangle by (0, 0, 1, 1), because it uses QRect::bottomRight()
(etc) when mapping the rectangle to a polygon (which is _wrong_). Since
this behavior has been there since 4.2, we don't want to fix it in
a 4.5 patch release...
The only _proper_ fix to this problem is for the view to know the item's
"adjust" in device coordinates, allowing items to use cosmetic pens
freely. Fex, we could introduce QGraphicsItem::viewportMargins() or so.
Added an autotest to ensure this doesn't break again.
Reviewed-by: bnilsen
Diffstat (limited to 'LGPL_EXCEPTION.txt')
0 files changed, 0 insertions, 0 deletions