summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
Commit message (Collapse)AuthorAgeFilesLines
* Fixes leak introduced by QScopedPointerHarald Fernengel2009-06-152-3/+21
| | | | | | | QPainterPath is kinda evil with a somewhat public private class and a really private cast, so we need to up-cast the d pointer when deleting. RevBy: aportale
* Make Qt exception safer.Robert Griebl2009-06-1020-274/+392
| | | | | | | | Squashed commit of the branch haralds-haralds-qt-s60-topics/topic/exceptions, which also contains the full history. Rev-By: Harald Fernengel Rev-By: Ralf Engels
* Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-06-083-22/+16
|\ | | | | | | | | Conflicts: tests/auto/qlocalsocket/tst_qlocalsocket.cpp
| * Fixed an issue with graphicssystem raster on 8 and 16 bit X servers.Trond Kjernåsen2009-06-051-1/+1
| | | | | | | | | | | | | | | | | | | | We didn't actually check the depth of the target window before calling the qt_x11_drawImage() fu, that will only work with depths >= 24. Task-number: 255311 Reviewed-by: Samuel BT: yes
| * Fixed raster bug causing fully clipped images to be partially blended.Samuel Rødal2009-06-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | The blend functions assume the width / height of the images being blended to be greater than 0. A width of 0 caused the first iteration of a duff's device memcpy (QT_MEMCPY_USHORT) to be executed, thus blending 8 pixels instead of none. BT: yes Task-number: 255014 Reviewed-by: Trond
| * Fixed a byte ordering issue when using the raster graphicssystem.Trond Kjernåsen2009-06-021-7/+10
| | | | | | | | | | | | | | | | The R and B channels were swapped on little endian machines with BGR layout. Task-number: 254934 Reviewed-by: Samuel
| * Use a QVarLengthArray instead of some hacky self-made containerHarald Fernengel2009-06-021-12/+3
| | | | | | | | | | | | | | This won't leak on error case, and will work with arbitrary sizes. Also changed from int to short as instructed by Samuel. Reviewed-by: Samuel <qt-info@nokia.com>
* | Make QColormap::instance() not crash.Jason Barron2009-06-051-5/+1
| | | | | | | | | | | | | | This doesn't really need a static instance lying around and this current implementation crashes since we never call the constructor. Just recreate it on the fly when instance() is called which apparently is never.
* | Implement a dummy QColorMap for Symbian.Jason Barron2009-06-042-1/+114
| | | | | | | | | | | | | | It seems that this class has been completely forgotten until now, but this never causes any problems because apparently no one uses it. Provide a quick little implementation to get things linking. Implementation brought to you courtesy of Qt/Mac.
* | Merge branch 'imSelections'axis2009-06-034-4/+124
|\ \
| * | Fixed incorrect headers.axis2009-06-034-4/+124
| | |
* | | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-06-023-22/+26
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | | | | | Conflicts: configure.exe examples/itemviews/puzzle/puzzle.pro examples/qtconcurrent/imagescaling/imagescaling.pro examples/widgets/movie/movie.pro tools/configure/configureapp.cpp Will rebuild configure.exe in next commit.
| * BT: Fixed GL textdrawing in the Boxes demo.Trond Kjernaasen2009-05-261-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Reworked the 85f98acaa3a38079071bea711e43c9a86edec1f6 fix, since it broke glyph positioning in the GL engine under Windows. Instead of changing the glyph cache margin, which impacts where the glyph is positioned, we just make the image the glyph is drawn into 4 pixels bigger in width/heigth. The margin in QImageTextureGlyphCache needs to be reworked.. Task-number: 254450 Reviewed-by: Eskil
| * Doc: Miscellaneous documentation fixes for Qt 4.5.x and later.David Boddie2009-05-251-4/+4
| | | | | | | | Reviewed-by: Trust Me
| * Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt into 4.5David Boddie2009-05-253-18/+8
| |\
| * | Doc: Fixed the paper sizes again.David Boddie2009-05-201-16/+16
| | | | | | | | | | | | | | | Task-number: 254179 Reviewed-by: Norwegian Rock Cat
* | | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-05-253-18/+8
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qfile.cpp src/corelib/kernel/qsharedmemory_unix.cpp src/network/socket/qnativesocketengine_p.h src/network/socket/qnativesocketengine_unix.cpp
| * | qdoc: Added some missing qdoc comments.Martin Smith2009-05-253-10/+8
| | | | | | | | | | | | Task-number: 252491
| * | qdoc: Added some missing qdoc comments.Martin Smith2009-05-251-0/+6
| | | | | | | | | | | | Task-number: 252493
| * | Revert "Ignore GCC warning of unsafe floating point comparisons."Ariya Hidayat2009-05-221-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 30f7edc0aab629499b74263391ae529ad31b2ff8. There is no way to restore float-equal warning using the pragma trick. This means (as it was mentioned in the said commit log) anyone that includes qtransform.h will be forced to deal with float-equal. Reviewed-by: Samuel Rødal
| * | Fix a wrong compiler define (was a typo).Ariya Hidayat2009-05-201-1/+1
| |/ | | | | | | The typo was in commit 30f7edc0aab629499b74263391ae529ad31b2ff8.
* | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-05-202-1/+15
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: tests/auto/network-settings.h tests/auto/qhttpsocketengine/tst_qhttpsocketengine.cpp tests/auto/qiodevice/tst_qiodevice.cpp tests/auto/qnativesocketengine/tst_qnativesocketengine.cpp tests/auto/qsocks5socketengine/tst_qsocks5socketengine.cpp tests/auto/qsslsocket/tst_qsslsocket.cpp
| * Ignore GCC warning of unsafe floating point comparisons.Ariya Hidayat2009-05-191-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | Due to optimizations, there are few cases where comparing with a constant is needed, e.g. in operator*=. G++ will give us a warning for this. Since we know what we are doing, surpress the warning. The only drawback for this workaround is if somebody includes qtransform.h in his code and disable the float-equal warning since the warning will be activated again. Reviewed-by: Samuel Rødal
| * Fix some typos in the documentation.Frederik Schwarzer2009-05-181-1/+1
| | | | | | | | | | | | Usually, "the the" is not proper English Reviewed-By: Thiago Macieira
* | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-05-185-17/+32
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: configure.exe src/corelib/kernel/qcoreapplication.cpp Configure.exe not rebuilt because the changes are irrelevant for the S60 port. We'll rebuild it before merging back.
| * Fixed a bug which implicitly closed perspective transformed poly lines.Trond Kjernåsen2009-05-181-3/+5
| | | | | | | | | | | | | | | | When the end point of a line in a path is clipped, only closed paths should have the closing line. Task-number: 253663 Reviewed-by: Samuel
| * QColor::toCmyk() does not convert the color if it is already in CMYKBenjamin Poulain2009-05-141-2/+2
| | | | | | | | | | | | | | | | | | QColor::toCmyk() converted the color to RGB and then to CMYK. If the color was already in CMYK, this conversion change it. The color is now returned directly if it is in CMYK Reviewed-by: Ariya Task-number: 253625
| * Fixed an issue with text drawing under Windows.Trond Kjernaasen2009-05-141-7/+4
| | | | | | | | | | | | | | | | | | | | Some text drawn with OpenType fonts where cut off by a pixel or two under certain circumstances. This adds an additional 2 pixel pad margin to the glyph cache entries. The padding behaves slightly different when ClearType is enabled/disabled, hence the general 2 pixel padding. Task-number: 246196 Reviewed-by: Samuel
| * Fix handling of gradients on pens in the emulation paint engine.Kim Motoyoshi Kalland2009-05-121-3/+19
| | | | | | | | | | | | | | | | | | | | | | The handling of gradients with object bounding mode on pens in the emulation paint engine has been changed to agree with the SVG standard, where pen widths are ignored when calculating bounding boxes. Instead of converting strokes to fills and then transforming the gradients based on the fills' bounding box, the gradients are now transformed first based on the bounding box of the stroke path. Reviewed-by: Trond
| * Fixes a code snippet for QPainter::xFormDev()Andy Shaw2009-05-111-2/+2
| | | | | | | | Reviewed-by: TrustMe
* | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt-s60-publicJanne Koskinen2009-05-1138-670/+2204
|\ \ | | | | | | | | | | | | Conflicts: src/gui/widgets/qmenu_symbian.cpp
| * \ Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-05-1111-245/+302
| |\ \ | | |/ | | | | | | | | | Conflicts: tests/auto/qtemporaryfile/qtemporaryfile.pro
| | * Fixed a problem with QPrinter::NativeFormat printers not being valid.Trond Kjernåsen2009-05-081-2/+2
| | | | | | | | | | | | | | | | | | | | | It's obvious that not only PDF and PS printers are valid.. Task-number: related to 252873 Reviewed-by: Samuel
| | * Fixed a problem that caused QPrintDialog to invalidate QPrinter.Trond Kjernåsen2009-05-071-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | When passing a printer that is set up to print to a PDF file into QPrintDialog, the print dialog could invalidate the printer and not update the validity of it in a proper manner. Task-number: 252873 Reviewed-by: Samuel
| | * Compiler warnings (Mac/Carbon)Bjoern Erik Nilsen2009-05-072-4/+3
| | | | | | | | | | | | Reviewed-by: nrc
| | * Fixed some inconsistencies for image drawing on non-integer coords.Samuel Rødal2009-05-071-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix for 1x1 source rect image drawing in change ffbb3c1a2aee4134dce80cd144a26bf32865b698 was incorrect for transforms with type >= TxScale. The aliased coordinate delta needs to be applied in device coordinates, not in logical coordinates. Also specialize the non-antialiased TxScale case by simply calling fillRect_normalized directly, avoiding having to scan convert the rectangle manually. Task-number: 251561 Reviewed-by: Trond
| | * Win: QLineEdit not updating correctly when embedded in Graphics ViewBjoern Erik Nilsen2009-05-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updates triggered by the line edit itself, i.e. cursor blinking, are not processed after the top-level is resized. This is yet another problem caused by the event dispatcher on Windows (Qt posted events are not sent during top-level resize, task 146849). We added a work-around for that particular case by posting an event via Windows, but the widget is not visible on the screen (hidden from Windows' POV) so it'll never be posted. And of course then we'll never receive it and the backing store is not synced. This work-around is therefore useless for widgets that are not visible on the screen. However, not receiving update requests while resizing the top-level (in this case QGraphicsView), is not a problem for embedded widgets because all items and hence the proxied widgets are repainted by graphics view anyways. Task-number: 252400 Reviewed-by: Olivier
| | * qdoc: Moved platform-specific qdoc comments to common .cpp file.Martin Smith2009-05-074-224/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | When building docs for the mac, qdoc comments for functions defined in the .h file were not found in any of the .cpp files in the mac package because they were in the x11 or windows .cpp file. So I moved them to a .cpp file that is in all the packages. Task-number: 252496 252492
| | * Prevented X server crash when calling XFillPolygon with >200000 points.Samuel Rødal2009-05-061-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | Don't know why the X server crashes, but it's reproducible both by us and customers so we should fall back to the raster paint engine to avoid the crash. Task-number: 244362 Reviewed-by: Trond
| | * Fixed some inconsistencies for image drawing on non-integer coords.Samuel Rødal2009-05-062-11/+7
| | | | | | | | | | | | | | | | | | | | | | | | Don't use aliased coordinate delta for image drawing. Related to change fde7475bcf9c10522a8170e6eb8fb9a8fadc21cd. Task-number: 251561 Reviewed-by: Trond
| * | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtaxis2009-05-0611-51/+144
| |\ \ | | |/
| | * Ensured correct rounding of scaled image drawing at non-integer coords.Samuel Rødal2009-05-052-25/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Images coordinates should simply be rounded and are not to be subject to the aliased coordinate delta. The patch also adds a tiny delta in QSpanData::setupMatrix() to ensure coordinates for fetching from source images are rounded the opposite direction of the target rectangle. This removes a lot of artifacts when trying to do border-image based drawing on non-integer coordinates. A new qps test for border-image drawing is included. Task-number: 251561 Reviewed-by: Trond
| | * Fixed bug where 0-opacity would cause images to be drawn fully opaque.Samuel Rødal2009-05-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The bug appears in the raster paint engine and only in release mode as the cause of the bug is in the MMX and SSE blend functions which are disabled in debug. To prevent it simply we return early if we detect that we have an opacity of 0. Reviewed-by: Trond
| | * Fix regression in drawing parts of pixmaps on Panther.Norwegian Rock Cat2009-05-051-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The width of a pixmap is NOT the same as the bytes per row. We may have been able to do that in the past, but it doesn't work in the general case. I also took the liberty to introduce a QCFType to automatically handling the free in the general case. Task-number: 252176 Reviewed-by: sroedal
| | * Support rotated displays with 15 and 16 bit BGR pixel formats.Paul Olav Tvete2009-05-052-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | To avoid increasing code size for an uncommon case, the code is #ifdef QT_QWS_ROTATE_BGR Task-number: 250299 Reviewed-by: Tom
| | * Added an assert so that QColormap usage without a QApplication asserts.Trond Kjernaasen2009-05-041-1/+5
| | | | | | | | | | | | | | | Task-number: 252668 Reviewed-by: Samuel
| | * QTransform::map(const QRegion&) cut-off for single rect regions.Bjoern Erik Nilsen2009-04-291-0/+4
| | | | | | | | | | | | | | | | | | Avoid QRegion<->QPainterPath conversion if possible. Reviewed-by: Samuel
| | * Speed-up QPainter::clipRegion().Bjoern Erik Nilsen2009-04-291-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | We can speed up the calculation by using rect intersections if possible, i.e. QRegion &= QRect instead of QRegion &= QRegion. Then we'll get rid of one QRegion construction and the intersection itself is slightly faster. Reviewed-by: Samuel
| | * Mac: Fixes a crash in tst_QWidget::updateOnDestroyedSignalBjoern Erik Nilsen2009-04-291-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Addendum to change 9b674ddcea7c0ff7912f185474b7d98bc83bd39f. The problem was that QWidget::paintEngine() (pure virtual) was called while being in the destructor. The use-case itself (see above change) is very very corner case, but still, it shouldn't crash. Reviewed-by: bnilsen
| | * Fixed rendering of bitmap fonts on X11 with Xrender and fontconfig.Trond Kjernåsen2009-04-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | It seems the Xrender PictStandardA1 mask format doesn't work with XLFD bitmap fonts wrapped in a fontconfig structure. Task-number: 252328 Reviewed-by: Samuel