From e8be9f499547125490d61fb07b6aa023e38cd410 Mon Sep 17 00:00:00 2001 From: Andreas Aardal Hanssen Date: Mon, 8 Jun 2009 19:06:40 +0200 Subject: Update change log with behavior changes in Graphics View. --- dist/changes-4.6.0 | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/dist/changes-4.6.0 b/dist/changes-4.6.0 index bedf58a..ba58bcf 100644 --- a/dist/changes-4.6.0 +++ b/dist/changes-4.6.0 @@ -40,17 +40,30 @@ information about a particular change. reasons for this is that Qt Software focuses on OpenGL for desktop hardware accelerated rendering. - - QStyleOptionGraphicsItem::exposedRect and QStyleOptionGraphicsItem::matrix - does no longer contain fine-grained values when passed in drawItems()/paint() - unless the QGraphicsItem::ItemUsesExtendedStyleOptions flag is enabled. - By default, exposedRect is initialized to the item's bounding rect - and the matrix is untransformed. - - - QStyleOptionGraphicsItem::levelOfDetails is obsoleted and its value - is always initialized to 1. For a more fine-grained value use - QStyleOptionGraphicsItem::levelOfDetailFromTransform(const QTransform &). - - When mixing OpenGL and QPainter calls you need to first call syncState() on the paint engine, for example "painter->paintEngine()->syncState()". This is to ensure that the engine flushes any pending drawing and sets up the GL modelview/projection matrices properly. + + - Graphics View has undergone heavy optimization work, and as a result of + this work, the following behavior changes were introduced. + + a) QStyleOptionGraphicsItem::exposedRect now contains the item's bounding + rectangle, and QStyleOptionGraphicsItem::matrix is uninitialized by + default. You can enable an exact exposed rectangle and a correct matrix + by enabling the flag QGraphicsItem::ItemUsesExtendedStyleOptions. + + b) QStyleOptionGraphicsItem::levelOfDetails is obsoleted and its value is + always initialized to 1. Instead you can call + QStyleOptionGraphicsItem::levelOfDetailFromTransform(const QTransform &) + to determine the level of detail. + + c) QGraphicsView no longer calls QGraphicsView::drawItems(), and in turn + QGraphicsScene::drawItems(), by default. You can get the old behavior + back by enabling QGraphicsView::IndirectPainting. + + d) QGraphicsItem no longer calls itemChange() for position and + transformation changes. If you want to receive notifications for changes + to the item's position and transformation, you can set the flag + QGraphicsItem::ItemSendsGeometryChanges (which is enabled by default by + QGraphicsWidget and QGraphicsProxyWidget). -- cgit v0.12