diff options
author | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2020-09-04 17:09:47 +0200 |
---|---|---|
committer | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2020-09-06 18:31:43 +0200 |
commit | 4e2656a6d2de3be6cb98cbb98bbadf17815dae48 (patch) | |
tree | da01f8daf752aaba7780125fe58503afe07205cc | |
parent | 68198de4dbe71ae97dc733606871f51bde804c1e (diff) |
QStyleOptionGraphicsItem: remove deprecated member matrix/levelOfDetail
QStyleOptionGraphicsItem::matrix and levelOfDetail are deprecated and
not used anywhere anymore.
Change-Id: Id4b0fa8ac3ac53d771e858ecda5524a5e690342d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
6 files changed, 23 insertions, 64 deletions
diff --git a/src/widgets/graphicsview/qgraphicsitem.cpp b/src/widgets/graphicsview/qgraphicsitem.cpp index fef3f0774f..942126f712 100644 --- a/src/widgets/graphicsview/qgraphicsitem.cpp +++ b/src/widgets/graphicsview/qgraphicsitem.cpp @@ -429,16 +429,12 @@ in Qt 4.5. \value ItemUsesExtendedStyleOption The item makes use of either - \l{QStyleOptionGraphicsItem::} {exposedRect} or - \l{QStyleOptionGraphicsItem::} {matrix} in + \l{QStyleOptionGraphicsItem::} {exposedRect} in QStyleOptionGraphicsItem. By default, the \l{QStyleOptionGraphicsItem::} {exposedRect} is initialized to the - item's boundingRect() and the - \l{QStyleOptionGraphicsItem::}{matrix} is untransformed. You can + item's boundingRect(). You can enable this flag for the style options to be set up with more - fine-grained values. Note that - QStyleOptionGraphicsItem::levelOfDetail is unaffected by this flag - and always initialized to 1. Use + fine-grained values. Use QStyleOptionGraphicsItem::levelOfDetailFromTransform() if you need a higher value. This flag was introduced in Qt 4.6. @@ -1476,7 +1472,6 @@ void QGraphicsItemPrivate::initStyleOption(QStyleOptionGraphicsItem *option, con const QRectF brect = q->boundingRect(); option->state = QStyle::State_None; option->rect = brect.toRect(); - option->levelOfDetail = 1; option->exposedRect = brect; // Style animations require a QObject-based animation target. @@ -1502,9 +1497,6 @@ void QGraphicsItemPrivate::initStyleOption(QStyleOptionGraphicsItem *option, con if (!(flags & QGraphicsItem::ItemUsesExtendedStyleOption)) return; - // Initialize QStyleOptionGraphicsItem specific values (matrix, exposedRect). - option->matrix = worldTransform; //### discards perspective - if (!allItems) { // Determine the item's exposed area option->exposedRect = QRectF(); diff --git a/src/widgets/styles/qstyleoption.cpp b/src/widgets/styles/qstyleoption.cpp index b7b5b99e3a..485b1858c2 100644 --- a/src/widgets/styles/qstyleoption.cpp +++ b/src/widgets/styles/qstyleoption.cpp @@ -3630,7 +3630,7 @@ QStyleOptionSizeGrip::QStyleOptionSizeGrip(int version) Constructs a QStyleOptionGraphicsItem. */ QStyleOptionGraphicsItem::QStyleOptionGraphicsItem() - : QStyleOption(Version, Type), levelOfDetail(1) + : QStyleOption(Version, Type) { } @@ -3638,7 +3638,7 @@ QStyleOptionGraphicsItem::QStyleOptionGraphicsItem() \internal */ QStyleOptionGraphicsItem::QStyleOptionGraphicsItem(int version) - : QStyleOption(version, Type), levelOfDetail(1) + : QStyleOption(version, Type) { } @@ -3686,38 +3686,6 @@ qreal QStyleOptionGraphicsItem::levelOfDetailFromTransform(const QTransform &wor */ /*! - \variable QStyleOptionGraphicsItem::matrix - \brief the complete transformation matrix for the item - \obsolete - - The QTransform provided through this member does include information about - any perspective transformations applied to the view or item. To get the - correct transformation matrix, use QPainter::transform() on the painter - passed into the QGraphicsItem::paint() implementation. - - This matrix is the combination of the item's scene matrix and the matrix - of the painter used for drawing the item. It is provided for convenience, - allowing anvanced level-of-detail metrics that can be used to speed up - item drawing. - - To find the dimensions of an item in screen coordinates (i.e., pixels), - you can use the mapping functions of QTransform, such as QTransform::map(). - - This member is only initialized for items that have the - QGraphicsItem::ItemUsesExtendedStyleOption flag set. - - \sa QStyleOptionGraphicsItem::levelOfDetailFromTransform() -*/ - -/*! - \variable QStyleOptionGraphicsItem::levelOfDetail - \obsolete - - Use QStyleOptionGraphicsItem::levelOfDetailFromTransform() - together with QPainter::worldTransform() instead. -*/ - -/*! \class QStyleHintReturn \brief The QStyleHintReturn class provides style hints that return more than basic data types. diff --git a/src/widgets/styles/qstyleoption.h b/src/widgets/styles/qstyleoption.h index 22ac309cc6..38e70e2078 100644 --- a/src/widgets/styles/qstyleoption.h +++ b/src/widgets/styles/qstyleoption.h @@ -669,8 +669,6 @@ public: enum StyleOptionVersion { Version = 1 }; QRectF exposedRect; - QTransform matrix; - qreal levelOfDetail; QStyleOptionGraphicsItem(); QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem &other) : QStyleOption(Version, Type) { *this = other; } diff --git a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp index 200cf3c82f..280b12b173 100644 --- a/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp @@ -7968,7 +7968,6 @@ public: } else { QVERIFY(option->exposedRect != QRect()); QVERIFY(option->exposedRect != boundingRect()); - QCOMPARE(option->matrix, sceneTransform()); } } QGraphicsRectItem::paint(painter, option, widget); diff --git a/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/chip.cpp b/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/chip.cpp index 2277ae0f14..4937edf8fd 100644 --- a/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/chip.cpp +++ b/tests/benchmarks/widgets/graphicsview/qgraphicsview/benchapps/chipTest/chip.cpp @@ -61,8 +61,9 @@ void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid if (option->state & QStyle::State_MouseOver) fillColor = fillColor.light(125); - if (option->levelOfDetail < 0.2) { - if (option->levelOfDetail < 0.125) { + const qreal lod = option->levelOfDetailFromTransform(painter->worldTransform()); + if (lod < 0.2) { + if (lod < 0.125) { painter->fillRect(QRectF(0, 0, 110, 70), fillColor); return; } @@ -83,7 +84,7 @@ void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid painter->setBrush(QBrush(fillColor.dark(option->state & QStyle::State_Sunken ? 120 : 100))); painter->drawRect(QRect(14, 14, 79, 39)); - if (option->levelOfDetail >= 1) { + if (lod >= 1) { painter->setPen(QPen(Qt::gray, 1)); painter->drawLine(15, 54, 94, 54); painter->drawLine(94, 53, 94, 15); @@ -91,7 +92,7 @@ void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid } // Draw text - if (option->levelOfDetail >= 2) { + if (lod >= 2) { QFont font("Times", 10); font.setStyleStrategy(QFont::ForceOutline); painter->setFont(font); @@ -105,17 +106,17 @@ void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid // Draw lines QVarLengthArray<QLineF, 36> lines; - if (option->levelOfDetail >= 0.5) { - for (int i = 0; i <= 10; i += (option->levelOfDetail > 0.5 ? 1 : 2)) { + if (lod >= 0.5) { + for (int i = 0; i <= 10; i += (lod > 0.5 ? 1 : 2)) { lines.append(QLineF(18 + 7 * i, 13, 18 + 7 * i, 5)); lines.append(QLineF(18 + 7 * i, 54, 18 + 7 * i, 62)); } - for (int i = 0; i <= 6; i += (option->levelOfDetail > 0.5 ? 1 : 2)) { + for (int i = 0; i <= 6; i += (lod > 0.5 ? 1 : 2)) { lines.append(QLineF(5, 18 + i * 5, 13, 18 + i * 5)); lines.append(QLineF(94, 18 + i * 5, 102, 18 + i * 5)); } } - if (option->levelOfDetail >= 0.4) { + if (lod >= 0.4) { const QLineF lineData[] = { QLineF(25, 35, 35, 35), QLineF(35, 30, 35, 40), diff --git a/tests/benchmarks/widgets/graphicsview/qgraphicsview/chiptester/chip.cpp b/tests/benchmarks/widgets/graphicsview/qgraphicsview/chiptester/chip.cpp index 21eb622f15..7eaca1e9c1 100644 --- a/tests/benchmarks/widgets/graphicsview/qgraphicsview/chiptester/chip.cpp +++ b/tests/benchmarks/widgets/graphicsview/qgraphicsview/chiptester/chip.cpp @@ -61,8 +61,9 @@ void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid if (option->state & QStyle::State_MouseOver) fillColor = fillColor.lighter(125); - if (option->levelOfDetail < 0.2) { - if (option->levelOfDetail < 0.125) { + const qreal lod = option->levelOfDetailFromTransform(painter->worldTransform()); + if (lod < 0.2) { + if (lod < 0.125) { painter->fillRect(QRectF(0, 0, 110, 70), fillColor); return; } @@ -87,7 +88,7 @@ void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid painter->drawRect(QRect(14, 14, 79, 39)); painter->setBrush(b); - if (option->levelOfDetail >= 1) { + if (lod >= 1) { painter->setPen(QPen(Qt::gray, 1)); painter->drawLine(15, 54, 94, 54); painter->drawLine(94, 53, 94, 15); @@ -95,7 +96,7 @@ void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid } // Draw text - if (option->levelOfDetail >= 2) { + if (lod >= 2) { QFont font("Times", 10); font.setStyleStrategy(QFont::ForceOutline); painter->setFont(font); @@ -109,17 +110,17 @@ void Chip::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWid // Draw lines QVarLengthArray<QLineF, 36> lines; - if (option->levelOfDetail >= 0.5) { - for (int i = 0; i <= 10; i += (option->levelOfDetail > 0.5 ? 1 : 2)) { + if (lod >= 0.5) { + for (int i = 0; i <= 10; i += (lod > 0.5 ? 1 : 2)) { lines.append(QLineF(18 + 7 * i, 13, 18 + 7 * i, 5)); lines.append(QLineF(18 + 7 * i, 54, 18 + 7 * i, 62)); } - for (int i = 0; i <= 6; i += (option->levelOfDetail > 0.5 ? 1 : 2)) { + for (int i = 0; i <= 6; i += (lod > 0.5 ? 1 : 2)) { lines.append(QLineF(5, 18 + i * 5, 13, 18 + i * 5)); lines.append(QLineF(94, 18 + i * 5, 102, 18 + i * 5)); } } - if (option->levelOfDetail >= 0.4) { + if (lod >= 0.4) { const QLineF lineData[] = { QLineF(25, 35, 35, 35), QLineF(35, 30, 35, 40), |