diff options
author | Vitaliy Kharin <kvserr@gmail.com> | 2012-12-10 18:45:31 +0400 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-12-12 10:47:48 +0100 |
commit | 49ba35b9904a05ec1c7d768f8c079ce3c7d283fe (patch) | |
tree | 067da355103a4c65797b24a46039acb152460533 /src/gui/painting/qpaintengine_raster.cpp | |
parent | 508db17de38b2940d95742319abcb84ee4ca8b86 (diff) |
QSpanData: use isAffine() instead of rolling your own test
QSpanData did not properly check that whether the matrix is an affine
transformation or not. Therefore, qt paint engine chose the wrong
algorithm for drawing in case of a perpective matrix.
Change-Id: If0523bd45e86679a08874713da3fbe33a9852551
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Diffstat (limited to 'src/gui/painting/qpaintengine_raster.cpp')
-rw-r--r-- | src/gui/painting/qpaintengine_raster.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index 46648fe297..0e9129f8c0 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -4588,7 +4588,7 @@ void QSpanData::setupMatrix(const QTransform &matrix, int bilin) txop = inv.type(); bilinear = bilin; - const bool affine = !m13 && !m23; + const bool affine = inv.isAffine(); fast_matrix = affine && m11 * m11 + m21 * m21 < 1e4 && m12 * m12 + m22 * m22 < 1e4 |