summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@digia.com>2012-10-10 12:38:07 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-10-19 02:43:05 +0200
commit7b8e10ddd02693b3d6b7a7e74d2103787f6e76ac (patch)
tree4147954620057575e543eb0b6f09385b265cefb3 /dist
parentae3ad0ad211e6b9d745193fc049ad6ee07d731f0 (diff)
downloadqtbase-7b8e10ddd02693b3d6b7a7e74d2103787f6e76ac.tar.gz
qtbase-7b8e10ddd02693b3d6b7a7e74d2103787f6e76ac.tar.bz2
qtbase-7b8e10ddd02693b3d6b7a7e74d2103787f6e76ac.zip
Fixed inconsistent QPainter fill rules for aliased painting.
Qt 5 is the time to get rid of all the old inconsistencies in the raster paint engine caused by trying to preserve the old X11 based coordinate system where (0, 0) is in the center of the top-left pixel instead of the upper left corner of said pixel. However, this was only adhered for line drawing and path / rect filling, and not for image or pixmap drawing and not at all when doing antialiased painting. By defining the antialiased coordinate system as being the right one and letting the aliased fill rules follow from that we finally end up with some consistent behavior that doesn't lead to surprises and workarounds in application code. It is still possible for applications to get the old behavior by setting the QPainter::Qt4CompatiblePainting render hint. This should make porting easier for the few cases where an application relies on the aliased fill rules we used to have in Qt 4. Task-number: QTBUG-27500 Change-Id: If86b95e77d838ec83033d64af86632b9a73c74a9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'dist')
-rw-r--r--dist/changes-5.0.09
1 files changed, 9 insertions, 0 deletions
diff --git a/dist/changes-5.0.0 b/dist/changes-5.0.0
index 57736472bc..0014760b6c 100644
--- a/dist/changes-5.0.0
+++ b/dist/changes-5.0.0
@@ -508,6 +508,15 @@ QtGui
the existent image data will be invalidated, so that isNull() is guaranteed
to return true in this case.
+* Behavioral change regarding QPainter fill rules when not using antialiased
+ painting: The fill rules have changed so that the aliased and antialiased
+ coordinate systems match. Earlier there used to be an offset of slightly less
+ than half a pixel when doing sub-pixel rendering, in order to be consistent
+ with the old X11 paint engine. The new behavior should be more predictable and
+ gives the same consistent rounding for images / pixmaps as for paths and
+ rectangle filling. It's possible to still get the old behavior by setting the
+ QPainter::Qt4CompatiblePainting render hint.
+
QtWidgets
---------
* QInputContext removed as well as related getters and setters on QWidget and QApplication.