summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-104-7/+6
|\ | | | | | | Change-Id: I99af0bef7f1c931533a324ebcfb27c40ee871a5e
| * QPdfWriter - Fix setting of marginsJohn Layt2014-01-091-0/+2
| | | | | | | | | | | | | | | | The setting of margins wasn't being passed to the base class, so calling margins() wouldn't return the new values. Change-Id: I86c30f28fb0430f4b9d6e180a59cad354b489289 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| * QPdfPaintEngine - Remove postscript flagJohn Layt2014-01-092-5/+2
| | | | | | | | | | | | | | Remove a now unneeded postscript flag. Change-Id: I307e4a64aa7ba4eed396530ffbf3bca5ae73e9c2 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| * QPagedPaintDevice - Fix size of ISO B9 pageJohn Layt2014-01-061-2/+2
| | | | | | | | | | | | | | | | The ISO B9 page size is 44 x 62 mm, not 33 x 62 mm. Task-number: QTBUG-35966 Change-Id: Ieb2dcd120c51bd7a8997151f2470775ea0b89e08 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Add new direct2d platform pluginLouai Al-Khanji2014-01-102-0/+2
| | | | | | | | | | | | | | | | | | This is an alternative plugin for the windows platform. It shares most code with the current windows plugin, but substitutes a direct2d-based paint engine for window backing stores and pixmaps. Change-Id: I78fafd9c5871fa090b49436f5b40ec80f8789f8b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-01-031-1/+1
|\| | | | | | | Change-Id: Id13badc270db98806048753fd7fb658aa17f1ede
| * Make texture glyph cache more robust against missing glyphsSimon Hausmann2014-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes failing assertions in the CI system. All the callers of lockedAlphaMapForGlyph always check the return value for being null as well as the image itself, so we need to do the same here as well before calling unlockAlphaMapForGlyph. This is proposed to stable because commit f9399d69add411adf757e3390488ff57655833b7 also landed in stable. Change-Id: I0a4f4fbb1727e5b4ad497b08177d14c81abd2dd0 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-161-31/+0
|\| | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformtheme.h tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
| * Remove unused function "quadraticRoots"Thiago Macieira2013-12-091-31/+0
| | | | | | | | | | | | | | | | | | qbezier.cpp(122): warning #177: function "quadraticRoots" was declared but never referenced Change-Id: I590f59ed6e41462d0a14a9239adb8bd0acbeeae4 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Automatically create QPainterPathStroke based on QPenAllan Sandfeld Jensen2013-12-122-0/+22
| | | | | | | | | | | | | | | | | | | | | | Based a recent problem where one property of QPen was not properly copied to QPainterPathStroke, I believe we should add a method to automatically create a QPainterPathStroke based on all the relevant information in a QPen. This patch adds a constructor that automatically does so. Change-Id: Id2849b36426f2e3b06b4b508292063a0917ca61c Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Remove the files building AVX codeThiago Macieira2013-12-104-160/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature was never completely implemented. Sure, it's nice to build the SSE2 + SSSE3 code with the VEX prefix, which results in better code. But the leap isn't that big anyway. This is the first step to removing the runtime detection for the drawhelpers. They create timebombs when we use inline functions. Task-number: QTBUG-30440 Change-Id: Ic53b2cf5261106a1c940d4a36eb6111b7d998be1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-11-267-23/+25
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the conflicts in msvc_nmake.cpp the ifdefs are extended since we need to support windows phone in the target branch while it is not there in the current stable branch (as of Qt 5.2). Conflicts: configure qmake/generators/win32/msvc_nmake.cpp src/3rdparty/angle/src/libEGL/Surface.cpp src/angle/src/common/common.pri src/corelib/global/qglobal.h src/corelib/io/qstandardpaths.cpp src/plugins/platforms/qnx/qqnxintegration.cpp src/plugins/platforms/qnx/qqnxscreeneventhandler.h src/plugins/platforms/xcb/qglxintegration.h src/widgets/kernel/win.pri tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp tools/configure/configureapp.cpp Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
| * Avoid incorrect warning when painting onto a QImageLaszlo Agocs2013-11-231-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change Ia8ef48f3 introduced a regression: Trying to paint onto a QImage, QPicture or QPrinter from outside the main thread incorrectly shows a warning saying that it is not supported. The patch was incorrect because 'extraCondition' was used in the non-default branches of the switch and thus not passing extraCondition==true caused the message appear even when it shouldn't have. Let's just remove the extraCondition parameter altogether since it is not used in practice anyway. Change-Id: Id2e56c585d1f1013f24942cbcd53305fbb66aeba Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * Force FT font engine to load the right glyph metricsGunnar Sletta2013-11-101-0/+12
| | | | | | | | | | Change-Id: If027ea4c1a3b2ca8f972592abe3534165f62cf4e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * Doc: Fix broken linksSze Howe Koh2013-11-052-12/+8
| | | | | | | | | | | | | | | | Task-number: QTBUG-33360 Change-Id: Ic944cb2f575c35ebad64852ef5fc44a50ac03571 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * QPdfEngine - Remove Producer copyright noticeJohn Layt2013-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the copyright notice from the PDF Producer field which could be misunderstood. Comparison to other PDF Producers shows no other company does this. Task-number: QTBUG-33853 Change-Id: Ie657a356dc7c4b15f04d961978e0c8514c092a31 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Fix compilation with QT_COORD_TYPE=double on ARMLars Knoll2013-10-311-0/+1
| | | | | | | | | | | | | | | | | | | | Add a missing template specialization in the neon drawhelper. Task-number: QTBUG-33781 Change-Id: Iec02a93aee9403dc1275c32436db5527585b1088 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * remove some vestiges of QFontEngineQPFOswald Buddenhagen2013-10-281-6/+0
| | | | | | | | | | | | | | | | | | | | amends d7e424ee66. Change-Id: I9aaef14f8ecba78685ce5f7e908a0b42e554434f Reviewed-by: thiago Reviewed-by: paulot Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Make drawing to and from RGBA8888 images fasterAllan Sandfeld Jensen2013-11-131-6/+38
| | | | | | | | | | | | | | | | | | | | | | After profiling drawing with RGBA8888 images most of the time appears to be spend in converting to and from ARGB32PM. This patch adds four small converters that are 3-4 times faster than the generic converter. Change-Id: I3c7498756f440ca3ea9c1417b26dd8e1953b9d06 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-1116-116/+119
|\| | | | | | | Change-Id: Ib8cfeee7d9ca15e8ad520e428b72c200827a8628
| * Ensure lastPixel.y is also initalized to -1 when necessaryAndy Shaw2013-10-081-0/+3
| | | | | | | | | | | | | | Task-number: QTBUG-31579 Change-Id: Ia4916ac0d384ea523bbfad0dafbc90044da7ec3e Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Doc: Adding mark-up to boolean default values.Jerome Pasion2013-10-0815-116/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default values should have mark-up to denote that they are code. This commit changes: -"property is true" to "property is \c true". -"Returns true" to "Returns \c true". -"property is false" to "property is \c false". -"returns true" to "returns \c true". -"returns false" to "returns \c false". src/3rdparty and non-documentation instances were ignored. Task-number: QTBUG-33360 Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-044-0/+31
|\| | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/minimal/qminimalintegration.cpp src/plugins/platforms/offscreen/qoffscreenintegration.cpp Change-Id: Ica85deeab5c5038ac004718e25194b1157343480
| * Doc: Add docs for rvalue references and move constructorsGeir Vattekar2013-09-274-0/+31
| | | | | | | | | | | | | | | | | | These members were introduced in 4.8, but left undocumented. Because we consider undocumented API to be internal, the members are \since 5.2. Change-Id: I52e2840a8cfaa7f59f410b3e2a06c0942ea06539 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | QBrush: use a 3D array instead of pointer tables to save 28 relocs in QtGuiMarc Mutz2013-10-021-38/+43
| | | | | | | | | | Change-Id: I4695a053fa5f455075ddda209791904f98ba7149 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Merge branch 'stable' into devSergio Ahumada2013-09-272-2/+7
|\| | | | | | | Change-Id: I06694436322a7810a163b27b8a059cee2b046f06
| * Fix WinCE/MSVC2008 build errors related to std::lower_bound patches.Sérgio Martins2013-09-251-0/+5
| | | | | | | | | | | | | | See QTBUG-33473 for more information about this compiler bug. Change-Id: I13b945350fdc38165c1515f0cdd75a53cf37cd6c Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| * Fix truncation and conversion warnings on MSVC2010.Mitch Curtis2013-09-251-2/+2
| | | | | | | | | | Change-Id: I44845e13b97753333a7c80a80ead0b352b8906b0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | QPen: optimize population of dd->dashPatternMarc Mutz2013-09-261-0/+4
|/ | | | | Change-Id: I02b3bb9b503303b931f075f899126a506f9e25d0 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove a Borland-related inclusionGiuseppe D'Angelo2013-09-231-6/+0
| | | | | | | | There are no calls to qSort in the file any more. Change-Id: I5534271a75065998d5a98147a0d19850318c940c Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Remove some qBinaryFind usages from QtGuiGiuseppe D'Angelo2013-09-231-2/+4
| | | | | | | | This is done per the mailing list discussion at http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I9cbb1790f94e7726e127b9ad1bd5a58c433055a8 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Merge "Merge branch 'stable' into dev" into refs/staging/devSergio Ahumada2013-09-211-5/+22
|\
| * Merge branch 'stable' into devSergio Ahumada2013-09-211-5/+22
| |\ | | | | | | | | | Change-Id: I37d85631ab1165ab91457d8880c4da907a9df73b
| | * Fix transform (rotation matrix) uniform scale testing.Balazs Domjan2013-09-191-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | The rotation matrix is different according to the order of scale and rotate operations. The fix takes into account this. Task-number: QTBUG-31822 Change-Id: Ia1c9068e54966ec083af9c165af29caa87c510f6 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | | Fix some doc errors.Frederik Gladhorn2013-09-212-4/+4
|/ / | | | | | | | | | | | | Change-Id: Ib874d7e9671d9cee75fe41f4dac5d0de7b09245e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | WinRT: Basic global supportAndrew Knight2013-09-201-0/+4
| | | | | | | | | | | | | | | | Various global changes, primarily preprocessor flow, to support the WinRT platform. Change-Id: I3fa9cf91d5fb24019362e88fcf205e31b4f810b5 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* | Remove Q_PACKED from structures that do not need to be packedThiago Macieira2013-09-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These structures do not need to be packed. With some compilers, Q_PACKED was defined to be empty, which means that the code was working fine without packing. Or there were some lingering problems on those platforms (MSVC) and we're now exposing them in all platforms. Actually, it shouldn't be a problem anywhere. QCharAttributes, quint24 and QFontEngineQPA::Glyph have only char/uchar members, so they're packed already (they have alignof == 1). The only platform where that wasn't true was ARM OABI, which we don't support anymore. QFontEngineQPA::Header seems to always come from a QByteArray, so it doesn't neeed to be packed either. However, just to be sure, I'm inserting a check for alignment. And QFontEngineQPA::Block isn't used anywhere. Change-Id: Iacfa25edf336ef2a03aeb6e40ae90937a21661ae Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Deprecate QFontDatabase::supportsThreadedFontRendering()Konstantin Ritt2013-09-101-6/+0
| | | | | | | | | | | | | | | | As of 5.0, this always return true. Change-Id: If225c7219e283da97e870f0d66a87b21c3cacfc0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix QPainter usage in non-GUI thread warning appearing in debugKonstantin Ritt2013-09-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | The third parameter is `extraCondition`, which is false by default, and it is used in condition `if (!extraCondition && QThread::currentThread() != qApp->thread()) {`. Passing extraCondition=true makes this condition always evaluate to false and thus hides a respective warning at all. Change-Id: Ia8ef48f341bd22f58375034d1992da716f78121d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Remove unused check_gradient functionThiago Macieira2013-09-061-6/+0
| | | | | | | | | | | | | | | | | | Found by ICC 14. I wonder how the other compilers didn't detect it. qpainter.cpp(119): warning #177: function "check_gradient" was declared but never referenced Change-Id: Ie94c04f1734e6d7bab6b540d763bb6e7c16e4cb9 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Fix new change-of-sign warning detected by ICC 14.Thiago Macieira2013-09-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | qpainter.cpp(1656): error #68: integer conversion resulted in a change of sign tmp->changeFlags &= ~(QPaintEngine::DirtyClipPath | QPaintEngine::DirtyClipRegion); tmp->changeFlags is uint, but QPaintEngine::DirtyFlag is backed by int. That means the bitwise NOT sets the sign bit, which makes it negative. Change-Id: Id8dfc2c7012b519cc5f5799d223cb95a79ccd401 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Remove deprecated QtAlgorithms calls from QtGuiGiuseppe D'Angelo2013-09-053-5/+9
| | | | | | | | | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I324ddf6129fe8884ecea97ef47abb7c071dfb34c Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Rely solely on alphaMapBoundingBox in QTextureGlyphCacheGunnar Sletta2013-09-051-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're currently adding a lot of transparent pixels to the cache, wasting both memory and cpu cycles while drawing. AlphaMapBoundingBox was introduced to return the exact same bounds as the alphaMapForGlyph function so we should only rely on this instead of adding arbitrary padding and margins all over the place. Windows still has an arbitrary +4 in the its drawGDIGlyph() which means batching will not work on windows, but at least now other platforms do not need to suffer. Change-Id: I714903fa195004400c09c3bf6570e46179775f09 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Fix ICC warnings about functions declared but not usedThiago Macieira2013-09-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added Q_DECL_UNUSED for the function used in Q_ASSERT; removed the functions that really weren't used and added the #ifdef for the function that was only used under #ifdef. qmetaobjectbuilder.cpp(93): warning #177: function "priv" was declared but never referenced qobject.cpp(2349): warning #177: function "check_and_warn_compat" was declared but never referenced qpathsimplifier.cpp(141): error #177: function "<unnamed>::Rational::isValid" was declared but never referenced qtextengine.cpp(2584): error #177: function "<unnamed>::QScriptItemComparator::operator()(const QScriptItem &, const QScriptItem &)" was declared but never referenced Change-Id: I89a140d59211f10ecd88d751f0bcc0ea2fedff7f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-09-021-0/+5
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-271-0/+5
| |\| | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| | * Check for window handle in QBackingStore::flush().Friedemann Kleint2013-08-221-0/+5
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-33062 Change-Id: Iab4ccc3a2a855ee7f6964659b53b3401af436212 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | | QPainter: Fix (!a == b) bugTobias Hunger2013-08-311-2/+2
|/ / | | | | | | | | | | | | | | The ! binds to a only, which is most likely wrong here. Change-Id: I4aa09407a8acc68f97bef474781193774e4a7597 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
* | Fix Undefined Behavior due to `delete new[]`Konstantin Ritt2013-08-121-3/+3
| | | | | | | | | | | | | | | | | | This didn't crash just because a simple type was used. On other platforms/compilers it may eat your cat or whatever. Change-Id: Ica2631e4e8ad20ff3a7f4cab60ec8487b6fa70ec Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Fix fillRect on RGBA8888 imagesAllan Sandfeld Jensen2013-07-291-12/+28
| | | | | | | | | | | | | | | | | | The fill color was not correctly converted before being filled into RGBA8888 images. This patch adds a function with convertion and adds tests for it to tst_qpainter. Change-Id: If8b0e6db38b2794a60301842e25f377eb7216796 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>