summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
Commit message (Collapse)AuthorAgeFilesLines
* Generate glyphs in un-transformed coordinate system.Samuel Rødal2011-09-091-3/+4
| | | | | | | | Avoids rounding issues with very large coordinates. Task-number: QTBUG-21262 - QRasterPaintEngine & QFontEngineFT - fonts corrupted when scrolling to the bottom of long texts Reviewed-by: Eskil Signed-off-by: Aleksandar Stojiljkovic <aleksandar.stojiljkovic@nokia.com>
* Allocate 16-byte aligned memory independent of platform for raster pool.Samuel Rødal2011-09-091-37/+17
| | | | | | | Fixes crash on MIPS (see original merge request https://qt.gitorious.org/qt/qt/merge_requests/1366). Reviewed-by: Olivier Goffart
* Merge remote-tracking branch 'upstream/4.8'Sergio Ahumada2011-08-291-2/+2
|\ | | | | | | | | Conflicts: tools/qdoc3/cppcodemarker.cpp
| * Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-teamaavit2011-08-241-2/+2
| |\
| | * Use CoreText for font rendering on uikit.Eike Ziller2011-08-241-2/+2
| | |
* | | Merge remote-tracking branch 'mainline/4.8'Oswald Buddenhagen2011-08-264-45/+53
|\ \ \ | |/ /
| * | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into ↵Qt Continuous Integration System2011-08-243-38/+43
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging: Spelling fix Fixed lost flushes in raster window surface. uikit: Use correct pixmap data format. Correctly position aliased lines with flat caps
| | * Fixed lost flushes in raster window surface.Samuel Rødal2011-08-221-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Occasionally we get regions with bounding rects outside the widget, so we need to take care to clip against both the native widget and the raster surface's image rect. Task-number: QTBUG-17813 Reviewed-by: Gunnar Sletta
| | * Correctly position aliased lines with flat capsLars Knoll2011-08-192-28/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code was mispositioning lines by half a pixel, as it added half a pixel offset and then rounded in addition. This submit fixes this and also removes certain artifacts when drawing rects at .5 pixel positions. Lance now doesn't show any significant differences to the 4.7 rendering anymore. Task-number: QTBUG-20199 Reviewed-by: Aavit
| * | Doc: Fixed qdoc warnings.David Boddie2011-08-151-7/+10
| |/
* | Replace 'i < len-1 && func(i+1)' by 'i+1 < len && func(i+1)'suzuki toshiya2011-08-183-4/+4
|/ | | | | Merge-request: 1299 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fixed compile error in qwindowsurface_qws.cpp.Samuel Rødal2011-08-031-1/+1
| | | | | Task-number: QTBUG-20713 Reviewed-by: Jørgen Lind
* Fixed regression introduced by 5842d19cf3dff37a85c.Samuel Rødal2011-08-031-4/+9
| | | | | | We need a normalized rectangle. Reviewed-by: aavit
* Fixed holes in border image drawing by introducing new API.Samuel Rødal2011-07-268-133/+171
| | | | | | | | | | | | | | | | | | | | | When rasterizing two adjacent QRectFs it's important that the shared x or y-edges have the exact same coordinates, or there might be a hole or an overlapping pixel when they are rasterized. Since the drawPixmapFragments API was based on a center position and a scale, it can not be used for this purpose, as the in the situation of two horizontally adjacent rectangles the right edge of the left-most rect and the left edge of the right-most edge are computed differently. Thus rounding errors can cause them to not be equal, especially when there's also a scaling / translating painter transform involved. Thus, to not sacrifice performance, we need to introduce a new drawPixmapFragments API that's simply takes an array of target rectangles and an array of source rectangles. It should give a slight performance boost for the border pixmap use case as well, since there are less floating point multiplications / divisions involved. Task-number: QTBUG-19079 Reviewed-by: Kim
* Get subpixel antialiasing again w/combo of raster and affine transformEskil Abrahamsen Blomfeldt2011-07-251-9/+3
| | | | | | | | | | | | | | | Revert part of hot fix 48ff7e5af99923396243940979d15d4ec2e2730c since it is no longer needed in Qt 4.8 due to the introduction of a separate code path for the FreeType case in drawCachedGlyphs(). This is also explained in the description for that commit. The consequence of the commit was that subpixel antialiasing would be turned off for all text drawn with a transformation and the raster engine. In the past this was not the case, it is however the case in several other paint engine, so the regression was deemed okay to hot fix the original problem. In Qt 4.8 the original problem has been fixed properly. Task-number: QTBUG-16205 Reviewed-by: Jiang Jiang
* Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Liang Qi2011-07-141-2/+8
|\ | | | | | | | | | | Conflicts: src/s60installs/bwins/QtGuiu.def src/s60installs/eabi/QtGuiu.def
| * Compensate for different rounding rule in CG engineJiang Jiang2011-07-121-2/+8
| | | | | | | | | | | | | | | | | | | | After we switched to fractional metrics, Core Graphics engine always put text at floored vertical postion, while underlines will be rounded after 0.75. Ceiling the underline position will make sure it will always leave the underline pixels given. Task-number: QTBUG-19959 Reviewed-by: Eskil
* | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into ↵Qt Continuous Integration System2011-07-122-22/+20
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging: Fix compiler warning in qtextdocument.cpp Fix crash when app font is added Use truncate only for subpixel boundingBox x position Use more numerically robust algorithm to compute QBezier::pointAt(). Fix editable combobox style on Mac Revert 344a4dcfe and part of 93bce787 Fix raster subpixel positioning in Lion
| * \ Merge remote branch 'review/master' into stagingJiang Jiang2011-07-122-22/+20
| |\ \
| | * | Use truncate only for subpixel boundingBox x positionJiang Jiang2011-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Lion, Core Text starts to return fractional values for x origin in the glyph bounding box. To get correct alignment we need to make it integer, it seems that round will cut certain pixels (x = 0.6 will be round to 1, then that glyph will be moved too much to the left in image glyph cache). Reverting 4297b85a appears to work fine on previous version of Mac OS X as well. This change will not affect Windows (DirectWrite) and FreeType font engines since they both return integer values for that. Reviewed-by: Eskil
| | * | Use more numerically robust algorithm to compute QBezier::pointAt().Samuel Rødal2011-07-081-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QBezier::pointAt() could potentially return values outside the bezier's bounds, even when the bezier was a straight horizontal line. For example, with y = 0.5, it would produce y=0.5 or y=0.49999999999999 for different values of t, which when rounded cause jittering in a QML PathView. Task-number: QTBUG-17007 Task-number: QTBUG-18133 Reviewed-by: Kim
| | * | Revert 344a4dcfe and part of 93bce787Jiang Jiang2011-07-071-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | Due to subpixel grid change, these changes are no longer needed. Reviewed-by: Eskil
| | * | Merge remote branch 'mainline/4.8'Jiang Jiang2011-07-072-2/+2
| | |\ \ | | | | | | | | | | | | | | | | | | | | Conflicts: dist/changes-4.8.0
* | | \ \ Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-doc-staging into ↵Qt Continuous Integration System2011-07-081-0/+4
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-doc-staging: Applied fix (dea9ca8b7a4166e1c3d3fc374621ad02c1220d3a)from qt5/qtbase. Committing the qt-webpages.qdoc file with the online links Preparing documentation package for 4.8-beta Doc: Clarified the range of return values from QLineF::angle(). Doc: Fixed \since declarations. (cherry picked from commit 358e018dbb4b4dbdbfc702a6d462f113a1357e1e) Doc: Standardized on QtQuick for \since declarations. (cherry picked from commit 609dc22f719ecb8d48349fd56f84960bbf46d731) Doc: Removed whitespace. (cherry picked from commit 01b3f508d1f7e9951baf60f487feadfa98ba4751) Modified \since command behavior slightly to handle project and version. Doc: Added a simple introduction to Qt and fixed links. (cherry picked from commit 9ed61311bce15b8f1bb4b30ee9133f1a2355f41d) Doc: Added more appropriate links to help reduce confusion. Doc: Removed non-ASCII characters from the documentation. (cherry picked from commit 1bd6f1bd280ee6e1ecd4de2291c8ccfb4d06b7a4) Doc: Updated documentation with \since 4.8 declarations.
| * | | | Merge remote branch 'upstream/4.8'Jerome Pasion2011-07-082-3/+15
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/external-resources.qdoc
| * | | | | Doc: Updated documentation with \since 4.8 declarations.David Boddie2011-06-301-0/+4
| | | | | |
* | | | | | Merge remote branch 'mainline/4.8' into stagingJiang Jiang2011-07-082-3/+15
|\ \ \ \ \ \ | | |/ / / / | |/| / / / | |_|/ / / |/| | | | Conflicts: dist/changes-4.8.0
| * | | | Merge branch 4.7 into qt-4.8-from-4.7Qt Continuous Integration System2011-07-071-1/+13
| |\ \ \ \ | | |_|/ / | |/| | / | | | |/ | | |/|
| | * | Fix bidi reordering when part of text is rendered by fallback fontEskil Abrahamsen Blomfeldt2011-07-061-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the fallback font is used for part of a RTL text, we need to position the different text items accordingly, subtracting the advance instead of adding it. Task-number: QTBUG-17117 Done-with: Lars
| * | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-07-021-1/+1
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: changelog Compile with DEBUG_FONTENGINE define minor optimization remove the old compatibility code make QFontEngineQPF1 work even without mmap(2) support Doc: Fixing typo
| | * | | Doc: Fixing typoSergio Ahumada2011-06-301-1/+1
| | | | |
| * | | | Merge branch '4.8-upstream' into master-waterWater-Team2011-06-2913-104/+108
| |\ \ \ \ | | | |_|/ | | |/| |
| * | | | Merge branch '4.8'Richard Moe Gustavsen2011-06-281-1/+1
| |\ \ \ \
| | * | | | Mac: switch raster off as default paint engineRichard Moe Gustavsen2011-06-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After discussing the state of the raster engine with many key devs in Oslo, we have concluded the following: Switching to raster as default is a big change for Qt-4.8. The posibilty of introducing regression for 3rd-party applications are high. From manual testing we can easily spot regressions ourselves, expecially for text rendering. And the overall drawing performance seems to drop slightly. So there seem to be no reason for us to take such a risk at this point in time for Qt-4.8, expecially since we have other tasks that should get our attention going forward, and the main person that did the implementation has left. Rev-By: Gunnar Sletta Rev-By: Fabien Freling
* | | | | | Fixed missing painting with X11 paint engine.Samuel Rødal2011-07-041-0/+2
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-introduce some "lost" code from 4.7. Task-number: QTBUG-19639 Reviewed-by: Olivier Goffart
* | | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into ↵Qt Continuous Integration System2011-06-291-3/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging: Fix vertical positioning of glyphs in raster engine with FreeType Ensure a small event check interval on uikit platform. Change default application font for uikit platform. Use the QPoint memory layout change only on Desktop Mac Fix 2cb398e1d901e62384bb2b388761cfd18fc8804a in case of no coreservices Add IPHONEOS deployment vars to makespec Post key events via QWindowSystemInterface, don't post events direcly Use nicer fonts and a few little patches to uikit platform. Update README and qmlapplicationviewer to suit 4.8. Updated proof-of-concept UIKit mkspecs
| * | | | | Fix vertical positioning of glyphs in raster engine with FreeTypeJiang Jiang2011-06-281-3/+4
| | |_|/ / | |/| | | | | | | | | | | | | Reviewed-by: aavit
* | | | | Re-apply licenseheader text in source files for qt4.8Jyri Tahtela2011-06-272-34/+34
|/ / / / | | | | | | | | | | | | | | | | | | | | New files after previous license change round. Reviewed-by: Trust Me
* | | | Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Liang Qi2011-06-246-53/+55
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/image/qpixmap_raster_symbian.cpp src/gui/image/qpixmapdatafactory.cpp src/gui/painting/qgraphicssystem.cpp src/gui/styles/qs60style.cpp src/network/bearer/qnetworkconfigmanager_p.h src/s60installs/bwins/QtGuiu.def src/s60installs/bwins/QtOpenGLu.def src/s60installs/bwins/QtOpenVGu.def src/s60installs/eabi/QtGuiu.def src/s60installs/eabi/QtOpenVGu.def tests/auto/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp
| * | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into 4.7Laszlo Agocs2011-06-203-7/+20
| |\ \ \
| * | | | Proper naming for raster pixmap and paintengine on Symbian.Laszlo Agocs2011-06-166-38/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As QTBUG-19880 highlighted, the old S60 naming is not suitable for these classes anymore. Task-number: QTBUG-19913 Reviewed-by: Jani Hautakangas
| * | | | Handle QVolatileImage-backed pixmaps optimally in drawPixmap().Laszlo Agocs2011-06-162-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When drawing such pixmaps (used by both the openvg and opengl graphics systems) onto another pixmap or to a QImage, the performance was sub-optimal due to missing and accidentally disabled support specific to QVolatileImage. This is now fixed and drawing pixmaps into a QImage is also made optimal by using the QS60PaintEngine for QImage too. This will cause a 5-7x (or even up to 12x on certain hardware and platform) increase in offscreen pixmap drawing performance. Task-number: QTBUG-19880 Reviewed-by: Jani Hautakangas
* | | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging into ↵Qt Continuous Integration System2011-06-231-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-fire-staging: Skip boundry neutral characters in bidi itemization Update autotest case after toHtml change Proper fix for previous deallocation problem No need to destroy match pattern again Fix fontconfig usage in X11 font database Fix empty lines in Qt HTML when displayed in external browsers (again) Make it possible to set color of QStaticText with pixel size >= 64
| * \ \ \ \ Merge remote branch 'qt-mainline/4.8'aavit2011-06-223-10/+13
| |\ \ \ \ \
| * | | | | | Make it possible to set color of QStaticText with pixel size >= 64Eskil Abrahamsen Blomfeldt2011-06-201-1/+1
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding the fallback to QPainterPath for large QStaticTexts created a regression where all text would be painted in black regardless of the color you set on it. The color in QStaticTextItem is sometimes invalid, in which case the current painter color should be used. In either case, the color is already set on the current pen when entering drawStaticTextItem() so we can just use that. Task-number: QTBUG-19950 Reviewed-by: Jiang Jiang
* | | | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-06-221-3/+5
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: trivial: fix typo in comment changelog docu update for QNX 6.5 get rid of anacronysm massive improvements for the QNX screen driver massive improvements for the QNX mouse driver massive improvements for the QNX keyboard driver disable the Embedded Linux data directory permissions check for QNX skip two subtests that are known to fail on QNX implement POSIX IPC based QLock, QWSLock and QWSSharedMemory backends implement POSIX IPC based QSystemSemaphore and QSharedMemory backends add a configure-time check for an IPC support make QProcess really work on QNX make the kernel attempt to emulate an instruction with a misaligned access use RoundRobin scheduler by default on QNX a major refactoring of the mkspecs tree for QNX buildfix for qmake
| * | | | | implement POSIX IPC based QLock, QWSLock and QWSSharedMemory backendsRitt Konstantin2011-06-211-3/+5
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | Merge-request: 1259 Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
* | | | | Merge branch '4.8' of scm.dev.nokia.troll.no:qt/qtDavid Boddie2011-06-1718-1417/+1510
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/declarative/righttoleft.qdoc examples/draganddrop/fridgemagnets/main.cpp examples/script/context2d/main.cpp
| * | | | Silence a compiler warning about unhandled enum in switchThiago Macieira2011-06-141-0/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | The value is impossible due to the construct, but the compiler complains nonetheless. So just add a value handled in the switch and a comment letting the reader know that it can't happen. Reviewed-By: Samuel Rødal
| * | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-06-081-30/+42
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (32 commits) Fix autotest on Windows Compile on Mac OS X Ammend last commit Implemented QAccessibleTextEdit::attributes() Changing cursor position in all boundaries code clean-up for QSystemSemaphore simplify QSharedMemoryPrivate::cleanHandle() minor improvements for QSharedMemory fix potential keyfile leaking refactoring of the QWSSharedMemory class allow the user to averride QT_QWS_TEMP_DIR in qplatformdefs.h minor typo fix minor code simplification minor code simplification avoid the QT_NO_ASCII warning remove an unused headers nano optimization don't reallocate memory if the old buffer has sufficient capacity fix potential memory leaking don't delete the lock if it was not created by this surface ...