summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
Commit message (Collapse)AuthorAgeFilesLines
* Change to commercial license headers in preparation for release.Jason McDonald2010-09-07167-2171/+2171
| | | | Reviewed-by: Trust Me
* Fix a crash when passing a null pixmap to QPainter::drawPixmapFragments().Trond Kjernåsen2010-09-031-1/+1
| | | | | | Task-number: QTBUG-13331 Reviewed-by: Samuel (cherry picked from commit dcb98430f6add24c9d54253bd35d35010cc75c23)
* Pending surface might not get destroyed if no flush() happensJani Hautakangas2010-09-022-15/+8
| | | | | | | | | in between graphics system change. This patch ensures that all old surfaces are destroyed before new graphics system is activated. Reviewed-by: Jason Barron (cherry picked from commit d3ab1fccea2b1e011e7518269a29045a53f0a30b)
* Use ARGB32 premultiplied backing store format in Symbian^3Jani Hautakangas2010-09-021-4/+8
| | | | | | | | raster paint engine for translucent windows. Task-number: QTBUG-12710 Reviewed-by: Jason Barron (cherry picked from commit 0210bbbd7bf8254be5f7f19f524068cd39fc34c2)
* Remove the memory tracking attempt from the runtime graphics system.Jason Barron2010-09-022-87/+3
| | | | | | | | | | It has been decided that this logic will not be used by anyone at the moment so let's remove it. This removes an exported (although private) virtual function so breaks binary compatiblity for plugins built with previous versions. Reviewed-by: Jani Hautakangas (cherry picked from commit bd1aeaa50c60cffa3e195f3f6aed808f23a5c73c)
* Fix QStaticText with OpenGL1 engineEskil Abrahamsen Blomfeldt2010-09-021-1/+2
| | | | | | | | | | Like OpenGL2 and OpenVG, the OpenGL1 paint engine also transforms text coordinates itself and does not require QStaticText to use device coordinates. Task-number: QTBUG-13228 Reviewed-by: Samuel (cherry picked from commit d0f1f569e27f7f34f3bfc03bd759f28f7b567997)
* Apparently QPen::brush() can't return a NoBrush for a NoPen.Trond Kjernåsen2010-09-021-4/+4
| | | | | | | | | There are explicit tests in qdatastream for this. IMO it's wrong, wrong, wrong, but it's currently abused in the SVG module so we can't change it. Reviewed-by: Gunnar (cherry picked from commit bdcfcc607c1a6744cf1b35eca0914fa96e70071c)
* Fix mispositioned text with QStaticText and OpenVG graphics systemEskil Abrahamsen Blomfeldt2010-09-021-2/+5
| | | | | | | | | | | | The OpenVG paint engine, like the OpenGL2 paint engine, supports caching the untransformed glyphs and transforming them as they are drawn. Since we would pretransform the positions of the glyphs, the transformation would be applied twice, thus making the glyphs appear in the wrong location when the painter had a transform set. Task-number: QTBUG-13049 Reviewed-by: Gunnar (cherry picked from commit f3771c5d91995b2beaa73bd3e3c783b76a887b50)
* Add text decoration support to QStaticTextJiang Jiang2010-09-021-13/+71
| | | | | | | | | | | | | The original code path of QStaticText does not include decoration drawing, this patch generalized the drawTextItemDecoration() function to draw decoration for drawText(), then use that to draw decoration for QStaticText. A helper function called drawDecorationForGlyphs() is made to allow easier extension for direct glyphs drawing support. Task-number: QTBUG-12121 Reviewed-by: Eskil (cherry picked from commit a1641e27d2e2f5e29362e3737be6b9d75714d138)
* Crash in QX11PaintEngine::drawPixmapCarlos Manuel Duclos Vergara2010-09-011-0/+2
| | | | | | | | | | | We receive a pixmap as a const reference and then we convert it to an X11 pixmap. This conversion could fail for many reasons, however we were not looking at the result of this conversion. This patch was contributed by Christoph Feck from KDE. Task-number: QTBUG-12826 Reviewed-by: Samuel (cherry picked from commit 8e7fb343372acd0bc5fe04db7a5c5542541d4538)
* Revert "Fix the rendering of lines with the X11 paint engine"Samuel Rødal2010-08-191-10/+12
| | | | | | | | | | | | | | | | | This reverts commit ebbab30af417dfbf3df47dec15c0e2f8d6a30fa6, which broke fill / outline consistency, and when trying to fix that by rounding the fill the same way that broke rendering in Creator. Unfortunately the X11 paint engine is too sensitive to changes, there have already been tons of patches to make it as consistent as possible. It's simply not possible to get the same rounding for both fill and outlines and at the same time have consistency between fill and outline (no holes or fill outside the outline), while using the integer based Xlib rendering API. Hopefully in 4.8 we'll switch to raster and the X11 paint engine will be a legacy. Reviewed-by: Trond (cherry picked from commit 041a68007413a20a9a9c97d0f2f04f9e03428f67)
* Revert "Outline / fill inconsistency in X11 paint engine."Samuel Rødal2010-08-191-4/+4
| | | | | | | This reverts commit ff405f5623d7ed18c881c097368e3e9afd2e9443. Reviewed-by: Trond (cherry picked from commit 3014b427aa8700890f9bd8ea2a0300fc152bf3d2)
* Outline / fill inconsistency in X11 paint engine.Samuel Rødal2010-08-191-4/+4
| | | | | | | | | | | Change ebbab30af417dfbf3df47dec15c0e2f8d6a30fa6 broke outline / fill consistency in the X11 engine. Since the positioning of lines is more important we'll round the fill coordinates the same way. The bug was visible in the filltest.qps arthur test. Reviewed-by: Gunnar Sletta (cherry picked from commit ff405f5623d7ed18c881c097368e3e9afd2e9443)
* Fixed crash in concentric circles exampleGunnar Sletta2010-08-061-1/+1
| | | | | | | | | | | The problem is that the qt_arcs... function will return point_count = 0 when the input rectangle is empty which it is in this case. Because we previously passed 13 there, were passing random memory to downwards in the pipeline, which caused problems. Task: http://bugreports.qt.nokia.com/browse/QTBUG-12516 Reviewed-by: mariusso (cherry picked from commit 08d09a78d3faf8b211e78cb63285c35c5544b5fc)
* Fix the rendering of lines with the X11 paint engineBenjamin Poulain2010-08-031-12/+10
| | | | | | | | | | | | | | On the X11 paint engine, when rendering lines with float coordinates, the lines were one pixel off if the decimal was > 0.5. This fixes the WebKit bug https://bugs.webkit.org/show_bug.cgi?id=42248 Autotest by Yoann Lopes. Reviewed-by: Simon Hausmann Reviewed-by: Yoann Lopes Reviewed-by: Andreas Kling (cherry picked from commit ebbab30af417dfbf3df47dec15c0e2f8d6a30fa6)
* Warn when drawPixmapFragments is called with an invalid source rectAndy Shaw2010-07-051-0/+9
| | | | | | | | | | When drawPixmapFragments() is called with fragments that has invalid source rects in it, then usually it causes the pixmap drawn on screen to appear corrupted. However it has been reported that a crash can occur (not reproducable locally) so by adding a warning in debug mode only means that this can hopefully be caught at development time. Reviewed-by: Trond
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-07-031-8/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Consolidate zlib configuration redundancy Fixed whitespace formatting Fix incomplete support for built-in jpeg, mng, tiff and gif handlers Split image handler plugin project files No explicit link to zlib/jpeg for system mng/tiff Removed stray line continuations Long live else! qdoc: Added a solution for creating tables of contents for manuals. Doc: Fixed markup. Fixed size hint for combo box on windows
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-07-021-8/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Consolidate zlib configuration redundancy Fixed whitespace formatting Fix incomplete support for built-in jpeg, mng, tiff and gif handlers Split image handler plugin project files No explicit link to zlib/jpeg for system mng/tiff Removed stray line continuations Long live else! qdoc: Added a solution for creating tables of contents for manuals. Doc: Fixed markup. Fixed size hint for combo box on windows
| | * Consolidate zlib configuration redundancyMark Brand2010-07-021-8/+1
| | | | | | | | | | | | | | | Merge-request: 715 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into ↵Qt Continuous Integration System2010-07-031-2/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Hide some more files from git-status. Fixed Qt symbian/linux-armcc mkspec when configured with -qtlibinfix. Fixed symbian/linux-armcc mkspec when configured with -qtlibinfix. Fixed deployment locations for various profiles. Added a top-level runonphone target for Qt and QtWebKit. QS60Style: Simplify QMenu drawing QS60Style: Remove gap from QProgressDialog ColorDialog is incorrectly positioned Support for "deploy" make target in Symbian qtguiu.def merge conflict fix Fix for include "private/qt_s60_p.h" in non-symbian builds Making orbit input methods work with Qt apps with -no-s60 Using the remaining valid data to construct the QTime object when msec parsing failed. QProgressDialog text is too close to dialog border fix for broken input method loading Avkon Removal DEF file updates Stub version of QS60Style Avkon removal configured with -no-s60 QFileDialog broken in landscape in N8
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into 4.7mread2010-07-0215-127/+543
| |\ \ | | |/ | | | | | | | | | | | | Conflicts fixed: src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def
| * | Avkon removal configured with -no-s60mread2010-07-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avkon dependencies can be configured out with the -no-s60 configure flag, conversely Qt on Symbian will use Avkon if -s60 is configured. These changes are intended to keep or introduce binary compatibility between the s60 and no-s60 configurations. To do this, it has been necessary to introduce stub equivalents of the CAknAppUi related classes into the no-s60 configuration, and override all Avkon framework virtual functions in the QS60Main... classes. Other than that, these changes are mostly just correcting the use of the Q_WS_S60 flag so that it only refers to Avkon dependencies. Reviewed-by: Sami Merila
* | | Don't do alpha/opaque check which might cause a conversion and later pointer ↵Michael Dominic K2010-07-021-1/+1
| |/ |/| | | | | | | | | | | not-matching. Merge-request: 724 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Fixed bug in drawTiledPixmap when width of pixmap matches target rect.Samuel Rødal2010-07-011-1/+2
| | | | | | | | | | | | | | qt_memconvert's duff's device implementation assumes that count is > 0, if count is 0 it will still blit eight pixels. Reviewed-by: Trond
* | Improved performance of 16 bit memrotates using NEON instructions.Samuel Rødal2010-07-017-22/+310
| | | | | | | | | | | | | | | | | | | | | | Make the memrotate functions a function pointer table so that we can replace it with optimized versions, and implement an optimized NEON version for the 90 and 270 rotations. Measured performance improvement for a 400x400 16-bit pixmap was 17 % for 270 degree rotation and 11 % for 90 degree rotation. Reviewed-by: Trond
* | Export various symbols needed to make a custom GL graphicssystem.Michael Dominic K2010-06-301-1/+1
| | | | | | | | | | Merge-request: 2422 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Made -graphicssystem trace work with Qt::TextBypassShaping flag.Samuel Rødal2010-06-291-1/+1
| | | | | | | | | | | | The QPaintBuffer gets the text from the text item in order to stream it. Reviewed-by: Jocelyn Turcotte
* | Fix an assertion in comp_func_SourceOver_sse2() if const_alpha == 0Benjamin Poulain2010-06-281-1/+1
| | | | | | | | | | | | | | | | | | Const_alpha == 0 is a corner case that can happen if the painter draw with zero opacity or if the multiplication of alphas is below 1. The assertion was failing for one of the test of QPainter. Reviewed-by: Samuel Rødal
* | New variant of ::createPixmapData with origin for QGraphicsSystem.Michael Dominic K2010-06-283-1/+6
| | | | | | | | | | Merge-request: 705 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Fixed autotest failure in QPathClipper on N900.Samuel Rødal2010-06-252-34/+18
| | | | | | | | | | | | | | We need to use double precision for the angle computations, as they are crucial to build correct winged edge structures. Reviewed-by: Trond
* | Fixed autotest failure in fillRect_stretchToDeviceModeSamuel Rødal2010-06-241-1/+1
| | | | | | | | | | | | Swapping the length and color arguments to qt_memfill is a bad idea. Reviewed-by: Benjamin Poulain
* | Add an implementation of comp_func_solid_SourceOver_neon() with Neon.Benjamin Poulain2010-06-233-0/+46
| | | | | | | | | | | | | | | | | | | | The function comp_func_solid_SourceOver_neon() is use extensively by WebKit via the calls to fillRect() of QPainter(). Implementing the function with Neon provides some performance improvement (around 175% of the previous speed). Reviewed-by: Samuel Rødal
* | Fix the casts of qdrawhelper_sse2Benjamin Poulain2010-06-231-4/+4
| | | | | | | | | | | | | | | | I did erroneous cast by mistake, the code should ensure the pointer are on 32 bits integers. Reviewed-by: Andreas Kling Reviewed-by: Samuel Rødal
* | Add a SSE2 implementation of comp_func_solid_SourceOver()Benjamin Poulain2010-06-232-2/+33
| | | | | | | | | | | | | | | | This function is used quite a lot by WebKit animations, the SSE2 implementation is twice as fast in those uses cases. Reviewed-by: Andreas Kling Reviewed-by: Samuel Rødal
* | Add a SSE2 version of comp_func_SourceOver()Benjamin Poulain2010-06-232-61/+116
| | | | | | | | | | | | | | | | | | | | | | | | Implement a version of comp_func_SourceOver() with SSE2. This gives a performance boost of 11% on some WebKit animations. Two new macros were added to simplify the implementation of the different blending primitives: BLEND_SOURCE_OVER_ARGB32_SSE2() and BLEND_SOURCE_OVER_ARGB32_WITH_CONST_ALPHA_SSE2() Reviewed-by: Samuel Rødal
* | Optimized sub-rect copying / painting of QPixmaps.Samuel Rødal2010-06-231-3/+5
| | | | | | | | | | | | | | | | | | Prevented downloading of the whole XImage by introducing new QPixmapData::toImage() overload taking a sub-rect. Also avoid an additional copy by simply taking ownership of the XImage data when the XImage format matches the QImage format. Reviewed-by: Trond
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-06-231-1/+5
|\ \ | |/ |/| | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: Fixed crash in the fast blend functions for raster
| * Fixed crash in the fast blend functions for rasterGunnar Sletta2010-06-231-1/+5
| | | | | | | | | | | | | | | | | | The blend functions don't work when the scaling factor goes beyond 65536, so abort early. Strictly speaking the scale factor comes from targetWidth / sourceWidth, so this catches a bit more cases. Reviewed-by: Kim Task: http://bugreports.qt.nokia.com/browse/QTBUG-9437
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-06-223-75/+33
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (28 commits) Make sure ValueRecord's DeviceTables is cleaned up on failure qdoc3: Build fix for regression in e2f0e728e Fix incorrect usage of _HB_OPEN_Free_Device() in CaretValue cleanup Fix null HB_Device** dereference on exit in Harfbuzz GPOS code Doc: Relicensed the documentation under the GNU FDL version 1.3. doc: Added more DITA output to the XML generator Designer: Prevent QButtonGroup from being added for Q3ButtonGroup. Fix for a leak in the mac style. Doc: Fixing bugs to style and script doc: Added more DITA output to the XML generator Make sure that <br/> is seen as a valid tag in Qt::mightBeRichText() Fix compiler warnings in QtGui (text,painting). Allow Unix to generate unique UUIDs if /dev/urandom exists. Allow GNU Free Documentation license header. Add missing license header. Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to ab9a897b688e991a8405cf938dea9d6a2f1ac072 Fix example compile and runtime warnings, webkit examples not built. qgl_cl_p.h is no longer existent Updated Harfbuzz from git+ssh://git.freedesktop.org/git/harfbuzz to 5699175f55acbdfa4ac95ab6c727ebd4a201f3a2 Doc: Fixed documentation errors. ...
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7David Boddie2010-06-212-2/+4
| |\
| | * Fix compiler warnings in QtGui (text,painting).Friedemann Kleint2010-06-211-2/+2
| | | | | | | | | | | | Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
| * | Doc: Relicensed the documentation under the GNU FDL version 1.3.David Boddie2010-06-213-75/+33
| | | | | | | | | | | | | | | Reviewed-by: Trust Me Requested-by: Legal
* | | Compiler warnings.Bjørn Erik Nilsen2010-06-212-3/+3
| |/ |/| | | | | Reviewed-by: jbarron
* | Speed up calls to QPainter::setCompositionMode when the mode is unchangedSimon Hausmann2010-06-171-0/+2
|/ | | | | | | | Avoid marking the composition mode as dirty and calling into the extended engine if the composition mode that the application wants to set is the same that's currently used. Reviewed-by: Gunnar
* Fixed infinite recursion when drawing very large painter paths.Kim Motoyoshi Kalland2010-06-163-9/+14
| | | | | Task-number: QTBUG-11291 Reviewed-by: Gunnar
* Fixed full-rule on clipped painter paths.Kim Motoyoshi Kalland2010-06-161-0/+4
| | | | | | | The fill-rule of the original path was not copied into the clipped path. Reviewed-by: Gunnar
* Removed unnecessary lines of code.Kim Motoyoshi Kalland2010-06-161-4/+0
| | | | Reviewed-by: Gunnar
* Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-06-161-4/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (62 commits) Use native locale aware string comparison on Symbian. Temporary fix for regression in QSslCertificate::fromPath() doc: Added more DITA output to the XML generator Fix symbian building of TARGET with a slash Fix a minor typo in QAbstractItemModel's documentation. QXmlSchema: allow usage of xsd:all QSslSocket: fix build for MinGW and VS 2005 Fix symbian-abld build failure with bearer plugins remove certificate bundle make QSslSocket::systemCaCertificates() use system certs Adjusted RegExp in QSslCertificate::fromPath() Fix QSystemTrayIcon::supportsMessages() on Windows Use NIM_SETVERSION to get the latest behavior Cleanup obsolete stuff doc: Added DITA XML generator Fixed a broken merge. Changed the way we detect touch screen on Windows. Fixed error deploying qsymbianbearer.qtplugin on Symbian. Revert "Attempt to fix build failure on Symbian." Attempt to fix build failure on Symbian. ...
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-06-151-4/+5
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (62 commits) Use native locale aware string comparison on Symbian. Temporary fix for regression in QSslCertificate::fromPath() doc: Added more DITA output to the XML generator Fix symbian building of TARGET with a slash Fix a minor typo in QAbstractItemModel's documentation. QXmlSchema: allow usage of xsd:all QSslSocket: fix build for MinGW and VS 2005 Fix symbian-abld build failure with bearer plugins remove certificate bundle make QSslSocket::systemCaCertificates() use system certs Adjusted RegExp in QSslCertificate::fromPath() Fix QSystemTrayIcon::supportsMessages() on Windows Use NIM_SETVERSION to get the latest behavior Cleanup obsolete stuff doc: Added DITA XML generator Fixed a broken merge. Changed the way we detect touch screen on Windows. Fixed error deploying qsymbianbearer.qtplugin on Symbian. Revert "Attempt to fix build failure on Symbian." Attempt to fix build failure on Symbian. ...
| | * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-06-121-4/+5
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (55 commits) Fix symbian-abld build failure with bearer plugins remove certificate bundle make QSslSocket::systemCaCertificates() use system certs Adjusted RegExp in QSslCertificate::fromPath() Fix QSystemTrayIcon::supportsMessages() on Windows Use NIM_SETVERSION to get the latest behavior Cleanup obsolete stuff doc: Added DITA XML generator Fixed a broken merge. Changed the way we detect touch screen on Windows. Fixed error deploying qsymbianbearer.qtplugin on Symbian. Revert "Attempt to fix build failure on Symbian." Attempt to fix build failure on Symbian. Replaced redundant "!contains" scopes in "contains(A, B) {...} !contains(A, B) {...}" constructions with "else" Updated leading whitespace to make indentation more consistent Updated project files so it is now possible to use "-system-zlib" configuration option on Windows and Symbian platforms. make postgresql support sensitive to PSQL_LIBS support for cross building Qt for MinGW (win32-g++) on Unix use "win32-g++*" scope to match all MinGW makespecs Demos: Fix compilation with namespace. ...