summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
Commit message (Collapse)AuthorAgeFilesLines
* Dynamic GL: remove exporting symbolsLaszlo Agocs2014-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | Remove the opengl proxy for now. Later it will either be moved into a separate library or replaced by a QOpenGLFunctions-based approach. This means that the -opengl dynamic configuration is not usable for the time being. The rest of the enablers remain in place. The convenience function QOpenGLFunctions::isES() is now moved to QOpenGLContext and is changed to check the renderable type. This is extremely useful since besides supporting dynamic GL it solves also the problem of GL_ARB_ES2_compatibility (i.e. it triggers the real ES path when creating an ES-compatible context with a desktop OpenGL implementation). Task-number: QTBUG-36483 Task-number: QTBUG-37172 Change-Id: I045be3fc16e9043e1528cf48e6bf0903da4fa7ca Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Fix some typosSergio Ahumada2014-03-031-1/+1
| | | | | | Change-Id: I7dbe938bff5ac3ab50a0197f94bdb2f6c22fbd16 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* QPainterPathStroker: make QPen constructor explicitMarc Mutz2014-02-211-1/+1
| | | | | | | | | | | | | | A QPainterPathStroker is not an equivalent representation of a QPen, so the constructor that takes a QPen should be explicit. Arguably, the named constructor idiom would be even better here: static QPainterPathStroker QPainterPathStroker::fromPen(const QPen &pen); But QPainterPathStroker is non-copyable. Change-Id: I3148dc0ee336026781d8bc1baf21c113c7b41ce8 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Fix rounding error when creating QT_FT_VectorJorgen Lind2014-02-211-1/+1
| | | | | | | | | This fixes a problem that QScanConverter::mergeLine didn't recognize lins as being the same (when they where), causing aliasing effects Task-number: QTBUG-36354 Change-Id: I29d92ddb4e867025541bdc6b294cfaca55c0d3e1 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Ensure we switch back to the real paint engine when not emulatingAndy Shaw2014-02-201-3/+3
| | | | | | | | | | When the emulation paint engine was no longer needed then it would still end up using it because the flags would prevent it from being switched back. This ensures that it has the right engine when something triggers it to be switched. Change-Id: I7571923d16cbebd9fdd34560631b561c07a724f7 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Unify glyph format between QFontEngine and QFontEngineGlyphCacheTor Arne Vestbø2014-02-195-39/+36
| | | | | | | | | | | | Instead of the glyph cache having its own cache type that always mapped one to one to a font engine glyph format, causing confusion and needless conversions, the glyph caches now use QFontEngine's glyph format enum. This also removes the iffy use of an int for the glyphFormat in the font engines. Change-Id: I529bad5c179e004f63e152f7dcc311d298c3db98 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Optimize generic bilinear interpolation using SSE2Allan Sandfeld Jensen2014-02-171-33/+45
| | | | | | | | | | | The drawing code currently only optimizes the bilinear interpolation under specific conditions that allows the optimizations used there. The patch adds a SSE2 version of the fallback 4 pixel interpolation. Change-Id: I4e8a2ba6cb44647105a9b24e38b3ab755a435050 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* QOpenGLTextureBlitter: Remove Origin location for the Target rectJørgen Lind2014-02-161-4/+2
| | | | | | | | | | | | | | | | | | | | | The Origin for Target rect was deemed a confusing concept. The current implementation would translate the target rect to the coordinate system specified. However, the order and "direction" of the vertices would always be the same. So drawing a texture in for one target rect defined in one coordinate system would paint the texture the same way as it would when a texture was drawn for a target rect drawn in the "opposite" coordinate system. The point with this was that if you wanted to "flip" the texture you would specify that with the source coordinate system. However, this approach breaks on different levels, such as QRect has functions which expects a top left coordinate system (ie. top() and bottom()). In the end Qt uses a top left coordinate system, hence QWindow specifies a top left coordinate system, and hence the api becomes easier if it is not possible to define the coordinate system of the target viewport. Change-Id: I7dd59b3718380876e87a4bff88381d7a1c7d58c1 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Migrate a recent QT_OPENGL_ES ifdef to dynamic GLLaszlo Agocs2014-02-141-2/+4
| | | | | Change-Id: I51581cf174d11db86030da8fe288d640ef81cb58 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* QOpenGLWidget and new-style compositing on eglfsLaszlo Agocs2014-02-132-0/+8
| | | | | | | | | Integrate with QOpenGLTextureBlitter, QOpenGLWidget and friends. Change-Id: Ic2867b713a21a3d2820d546174fc9164b3dd220c Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Konstantin Ritt2014-02-131-7/+7
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-02-121-7/+7
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/image/qimage.cpp src/gui/text/qtextengine.cpp src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp src/printsupport/kernel/qprintengine_win.cpp Change-Id: I09ce991a57f39bc7b1ad6978d0e0d858df0cd444
| | * Fix drawing vertical gradients in RGBA8888 formatsAllan Sandfeld Jensen2014-02-101-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RGBA8888 formats was incorrectly using the qt_gradient_quint32 which is argb specific. This caused vertical gradients but only vertical gradients to be drawn incorrectly. This changes the RGBA8888 formats formats to use the generic gradient method and renames qt_gradient_quint32 to qt_gradient_argb32 to indicate its limitation. Change-Id: Ia1cd48ca7f4f78b64f31d6263e81cd8ac3b0954e Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | | Optimize qt_memfill32 a littleThiago Macieira2014-02-121-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Benchmarking shows it took up to 3.5% of Qt Creator's initialization cost. Optimize by modifying only one variable per loop: instead of updating n and dst128, we only update one variable at a time. Removing the Duff's Device also improves the code, since the compiler won't try to update dst128 four times per loop, only once. The moving of the epilogue close to the prologue was just to make the code a little cleaner. Change-Id: I5b74e27d520ca821f380aef0533c244805f003b7 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | | Enabling QQuickWidget and QOpenGLWidgetPaul Olav Tvete2014-02-122-0/+273
|/ / | | | | | | | | | | | | | | | | Enable child widgets (without a native window) that render to an FBO and are composed with the raster backingstore by the platform plugin. A preliminary version of QOpenGLWidget is included as private API. Change-Id: I8f984a4d7db285069ce3d6564707942c823d890d Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Export optimized premultiply and unpremultiply methodsAllan Sandfeld Jensen2014-02-105-65/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch optimizes the unpremultiply method further by using a lookup table to avoid any divisions at all. The opportunity is taken to export both premultiply and unpremultiply since they are commonly used methods relevant to the exported QRgb type that can be both premultiplied and unpremultipled ARGB. [ChangeLog][QtGui][QColor] Exported highly optimized methods for premultiply and unpremultiply of QRgb values. Change-Id: I658bcf57b0bc73c34c1765b64617d43b63ae820b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Optimize stringToCMap() usageKonstantin Ritt2014-02-071-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | CMAP guarantees there is 1:1 mapping between the Unicode code points array and the glyph indexes array, which means the QString length always greater than or equal to a sufficient glyph indexes array length. Simply add some asserts and improve the memory consumption and the performance where possible. Change-Id: I0bc8cdba5f86c1c0ba9e79c8d5f96cbe56ec463e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Remove some left-over +1 in font height calculationEskil Abrahamsen Blomfeldt2014-02-052-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In change cb8445f0323b0eefbb04f1d8adad81a00b53abd8, I tried to remove all the historical +1s when calculating the font height from the ascent and descent, but I missed a couple. These are used when drawing the background for the text, the height of which would no longer match the height returned from QFontMetrics. [ChangeLog][Text] Fixed off-by-one in the height of text background. Task-number: QTBUG-36444 Change-Id: If6d87f903e246f9faed2298bb1693b2556906eed Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Optimize drawing to and from generic formatsAllan Sandfeld Jensen2014-01-311-102/+359
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When drawing to and from the less common formats most of the cpu time is spend in conversion. The conversion method is rather slow due to using variable shifts and masks that the compiler does not have a chance to optimize. This patch changes the conversion methods to being templates fed by constexpr methods. This allows the compiler to fully optimize the methods yielding 2x->5x speedups. The reliance on constexpr however means the optimized methods are only used under C++11. Change-Id: I2ec77c4c1c03f12ee463a694a2b59db0f0b52db1 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Fixed assert in blend_transformed_tiled_argbOliver Wolff2014-01-301-2/+2
| | | | | | | | | | | | | | | | | | | | px16 and py16 might be <0 in the first iteration of the loop. In order to avoid accessing an invalid index the values have to be corrected before px and py are accessed. Change-Id: I790faeacc2b77ae8af52bf5e69a2d801c9fe973d Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* | Get rid of QGlyphLayout::advances_yKonstantin Ritt2014-01-302-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...and thus consume 4 bytes less per glyph and increase the performance a bit. It seems, the only CTFontGetAdvancesForGlyphs() returns both x and y advances, though y advances are always equal to 0 for horizontal orientation and x advances are always equal to 0 for vertical orientation. Also, rename `advances_x` to `advances` for consistency and declare QGlyphLayout's data size in a single place. Change-Id: I56b20f893f8a6feb7aa870e3edbca99dd93ba2e2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Round evenly in INV_PREMULAllan Sandfeld Jensen2014-01-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently INV_PREMUL rounds strictly down. While PREMUL rounds evenly. This patch adds 0x8000 to the intermediate results in INV_PREMUL before right shifting, thereby achieving even rounding. The rounding also makes PREMUL(INV_PREMUL()) into an identify operation, which means we can safely convert ARGB32PM to ARGB32 and back without ever losing color details. A test is added to verify this. Change-Id: I1267e109caddcff0c01d726cb5c1c1e9fa5f7996 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-207-16/+1348
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qstring.cpp src/gui/image/image.pri src/gui/image/qimage.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/eglfs/qeglfshooks_stub.cpp tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp Change-Id: I3b9ba029c8f2263b011f204fdf68c3231c6d4ce5
| * Fix QPixmap and OpenGL threading warnings when paintingAleix Pol2014-01-181-1/+4
| | | | | | | | | | | | | | | | | | | | | | If the QPA supports threaded pixmaps, don't print out a message warning the user about painting a pixmap in the non-main thread. Likewise, if the QPA supports threaded OpenGL, don't print out a warning when the user is about to paint on OpenGL from a non-main thread. Change-Id: I5b4928ee49b1d6c1b638b036fade12dc794258df Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Fix unused-function warning in qdrawhelper.cppThiago Macieira2014-01-161-6/+0
| | | | | | | | | | | | | | | | | | | | | | storePixel<QPixelLayout::BPP32> would have been called by storePixels<QPixelLayout::BPP32> but that function has an overload that uses memcpy instead. So it's really unused. Found by Clang 3.4. Change-Id: I661804e273486d3469221fdd362a24cd77cfb8a7 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| * MIPS DSP build system fix and additional optimizations.lpapuga2014-01-146-9/+1344
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed MIPS DSP portion of the mkspecs/features/simd.prf file in order to fix the corrupted build system for MIPS platforms. List of the additionally optimized functions from file src/gui/painting/qdrawhelper.cpp: - qt_blend_rgb16_on_rgb16 - qt_fetchUntransformed_888 - qt_fetchUntransformed_444 - qt_fetchUntransformed_argb8565 from file src/gui/image/qimage.cpp: - convert_ARGB_to_ARGB_PM_inplace from file src/corelib/qstring.cpp: - ucstrncmp - toLatin1_helper - fromLatin1_helper Change-Id: I5c47a69784917eee29a8dbd2718828a390b27c93 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Make conversion of semi-transparency to opaque formats consistentAllan Sandfeld Jensen2014-01-202-32/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the non-standard opaque formats all perform inverse premultiply on semi transparent pixels when saving. This is only performed on RGB16 and RGB32 when explicitly converting to the formats, but not when drawing. This patch changes the conversion to be consistent across the board so less common formats are treated the same as the most common ones. This also makes drawing and converting to the these formats much faster. Task-number: QTBUG-36143 Change-Id: I877ddb1c1dbb4d2dd9b4b9192525e50375a1ae60 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Optimize blend_transformed_tiled_argb().Sami Liedes2014-01-181-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | Profiling indicates that this function is one of two hot spots causing a noticeable latency when changing KDE virtual desktops. Instead of computing two modulos per pixel in the inner loop, it is possible to compute the modulos outside the loop and compute a modulo sum in the inner loop for a reasonable speedup. Change-Id: Ic4217b7686e031d7673b3e10aa977dae263096dc Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | iOS: Don't try to use NEON drawhelpers, we don't build themTor Arne Vestbø2014-01-161-0/+7
| | | | | | | | | | | | | | | | | | | | | | On iOS we don't build the NEON drawhelpers as they are implemented using GAS syntax assembly, so prevent drawhelpers.cpp from trying to use them. Follow-up to 01c59ac857927043e49d4725062faea715ed49a3. Change-Id: I3e3dc9b0e1d780db3184413d2ff3010ac8dcd37b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Remove last traces of QT_COMPILER_SUPPORTS_NEONTor Arne Vestbø2014-01-162-4/+4
| | | | | | | | | | | | | | | | | | | | | | Fixes ARM build, as the NEON drawhelpers and image conversion functions were ifdef'ed out. Follow-up to 1b12c0608be2359baa2f96ae28b135a84abd388c. Change-Id: I0b5e89c8f445741432db2dfe1f8d971b971c8605 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Optimize INV_PREMULAllan Sandfeld Jensen2014-01-162-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our inverse premultiply is rather unoptimized. It's major weakness is using three divide operation which are the slowest integer operations. This patch reduces the three divisions to just one but using an approximation that is accurate for all uchar values. The patch also adds a general short-cut for alpha==255. Together these improvements makes it 2 to 16 times faster depending on how many 0 and 255 alpha values are encountered. Change-Id: I96d7098a1bc320793b0d0526637acd1fdb5a43eb Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Make qt_memfill{16,32} unconditionalThiago Macieira2014-01-165-40/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | These two functions used to cause a runtime detection of the CPU features in order to improve their performance. Since the last two commits, there's no runtime detection of either SSE2 or Neon support, so there's no point in attempting runtime detection. Task-number: QTBUG-30440 Change-Id: I54fe92787c983003c2cc867ee636daec30063033 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Remove runtime detection of Neon on ARM CPUsThiago Macieira2014-01-162-32/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | Now the only way to enable Neon support is to change the mkspec. [ChangeLog][Important Behavior Changes] Qt no longer checks for support for the Neon FPU on ARM platforms at runtime. Code optimized for Neon must be enabled unconditionally at compile time by ensuring the compiler supports Neon. You may need to edit your mkspec for that. Task-number: QTBUG-30440 Change-Id: I4df9b2bf3cd022f8ed70f02f16878cb2cb3fe6fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Remove runtime detection of SSE2Thiago Macieira2014-01-164-69/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the compiler supports SSE2, we'll use our SSE2-optimised code unconditionally. Runtime detection is left for SSSE3 code. The SSE2 codebase is big and thus a timebomb if an inline function gets leaked out and run without runtime check. In reality, it's extremely unlikely people running CPUs without SSE2 support are running Qt 5 at this moment (they're either too old or too new, e.g. Intel Quark). The SSSE3 codebase is a lot more manageable. Task-number: QTBUG-30440 Change-Id: I3e586e4434e820365d5316b650ee3061d0acf767 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | expand tabs and related whitespace fixes in *.{cpp,h,qdoc}Oswald Buddenhagen2014-01-131-2/+2
| | | | | | | | | | | | | | | | the diff -w for this commit is empty. Started-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I77bb84e71c63ce75e0709e5b94bee18e3ce6ab9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | 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>