diff options
author | Jørgen Lind <jorgen.lind@nokia.com> | 2010-11-16 11:45:15 (GMT) |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2010-11-22 13:13:55 (GMT) |
commit | 6901d3a9ff05a6fbf13ef7f38a36ad21d20f6a49 (patch) | |
tree | 6bad0d60aa262ededda59934164e794398432f44 /src/gui/graphicsview | |
parent | 799e7456268e347356cf4949fcab525968e9fea2 (diff) | |
download | Qt-6901d3a9ff05a6fbf13ef7f38a36ad21d20f6a49.zip Qt-6901d3a9ff05a6fbf13ef7f38a36ad21d20f6a49.tar.gz Qt-6901d3a9ff05a6fbf13ef7f38a36ad21d20f6a49.tar.bz2 |
Fix transformIsSimple in QGraphicsScene
The transformIsSimple was a bit to restrictive
Reviewed-by: bnilsen
Diffstat (limited to 'src/gui/graphicsview')
-rw-r--r-- | src/gui/graphicsview/qgraphicsscene.cpp | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 981fbbc..19b2cb8 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -4367,25 +4367,8 @@ static void _q_paintIntoCache(QPixmap *pix, QGraphicsItem *item, const QRegion & static inline bool transformIsSimple(const QTransform& transform) { QTransform::TransformationType type = transform.type(); - if (type == QTransform::TxNone || type == QTransform::TxTranslate) { + if (type <= QTransform::TxScale) { return true; - } else if (type == QTransform::TxScale) { - // Check for 0 and 180 degree rotations. - // (0 might happen after 4 rotations of 90 degrees). - qreal m11 = transform.m11(); - qreal m12 = transform.m12(); - qreal m21 = transform.m21(); - qreal m22 = transform.m22(); - if (m12 == 0.0f && m21 == 0.0f) { - if (m11 == 1.0f && m22 == 1.0f) - return true; // 0 degrees - else if (m11 == -1.0f && m22 == -1.0f) - return true; // 180 degrees. - if(m11 == 1.0f && m22 == -1.0f) - return true; // 0 degrees inverted y. - else if(m11 == -1.0f && m22 == 1.0f) - return true; // 180 degrees inverted y. - } } else if (type == QTransform::TxRotate) { // Check for 90, and 270 degree rotations. qreal m11 = transform.m11(); |