summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Support empty inline elements in block tags in QTextDocumentEskil Abrahamsen Blomfeldt2014-02-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following case: <blockquote> <span />Foobar </blockquote> Qt would see the end of <span>, and consider the current block tag as closed, thus resetting the block format, thus losing the margin set for the current block (due to blockquote). If you do <blockquote> <span>Foo</span>Foobar </blockquote> instead, then the same would not happen, since hasBlock is set to false when we append text to the current inline node. [ChangeLog][QTextDocument] Add support for empty inline elements in block tags. Task-number: QTBUG-33336 Change-Id: Ic566edfec96cb8d44d1c02932bb195bc921d1580 Reviewed-by: Simon Hausmann <simon.hausmann@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>
* Fix character mirroring issue with HarfBuzz-NGKonstantin Ritt2014-02-045-19/+38
| | | | | | | | | | HarfBuzz-NG does character mirroring where appropriate. A simple solution is to unset RightToLeft shaper flag when text gets shaped with HB-NG. Instead, move the mirroring code right to HB-old proxy function and decrease code duplication. Change-Id: Icdcd50b73b3e6a43da4b85addc7d8f51edf86512 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Clean up QPlatformSessionManagerSamuel Gaist2014-02-031-3/+3
| | | | | | | Remove virtual from appCommitData and appSaveData and make them public Change-Id: Ifd605742c6552b7a407de9bf482f8f0f0aa125ca Reviewed-by: David Faure <david.faure@kdab.com>
* QOpenGLTexture: remove typos in the docsGiuseppe D'Angelo2014-02-031-2/+2
| | | | | Change-Id: Ia842c7f91eadefc6b5328d7d951c4e265c2c7432 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QOpenGLTextureHelper: fix the DSA emulationGiuseppe D'Angelo2014-02-032-217/+241
| | | | | | | | | | | | | | | | | | | | | | The DSA emulator functions query which texture is currently bound to a given target, then bind the new one, perform an operation, and bind the old one back. The problem is that in order to query what's currently bound to the GL_TEXTURE_<X> target one needs to call glGetIntegerv passing GL_BINDING_TEXTURE_<X>. Since both GL_TEXTURE_X and GL_BINDING_TEXTURE_X values are completely arbitrary (not contiguous nor related in any way) we need to pass *both* them to the functions. The right GL_BINDING_TEXTURE_X was getting already chosen (and stored) at texture creation time by QOpenGLTexture, so it's just a matter of passing it around. For the "real" DSA functions, the binding target is ignored. Change-Id: Ida823abbfb142d4a22bf9f9a762b160b7e281c6d Reviewed-by: James Turner <james.turner@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QGuiApplication: Check if window exists before sending double click event.Friedemann Kleint2014-02-031-6/+8
| | | | | | | | Task-number: QTBUG-36364 Change-Id: I0be40e8f920f0210ba4e99e83d138f82ce3a69f2 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* QOpenGLTexture: avoid a QImage detach when uploading texture data from itGiuseppe D'Angelo2014-01-311-1/+1
| | | | | | | | | If the image is already in the right format, converting it to RGBA8888 will be just a refcount increment; but calling bits() will then cause an unnecessary detach. Change-Id: I3b06139cd86b74a9082bd0b401a9a14bd4992a10 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QOpenGLTexture: Introduce const void * image upload methodsGiuseppe D'Angelo2014-01-313-12/+155
| | | | | | | | | | An API oversight caused the image upload methods to take a "void *", which is not necessary at all. The underlying texture uploading calls (i.e. the gl(Compressed)Tex(Sub)Image<N>D family) all take a "const void *". The methods taking a "void *" get deprecated. Change-Id: Idfda58d4d7d0af1f335e5cbad7d700f4ccad652c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Make HarBuzz-NG the default shaper on MacKonstantin Ritt2014-01-312-1/+8
| | | | | | | | | | | | | | | Since we dropped all platform-related shapers during the QPA refactoring, thus making HarfBuzz the only shaper on all platforms, we can not deal with AAT-capable fonts anymore. HarBuzz-NG now supports it's own shaper backend infrastructure, so the decision was to enable HB's CoreText shaper backend on Mac and simply make HB-NG the default shaper there. Task-number: QTBUG-36056 Change-Id: If22e24fd5cc00c25952934332a2f4123f38135a4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@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>
* QTextEngine: Make FontEngineCache inaccessible from outsideKonstantin Ritt2014-01-311-0/+2
| | | | | | | | This is really an implementation detail and shouldn't be accessible in any way. Change-Id: Icd9f2ea6f9a1d5ebd613ce65eebe2823301f87ea Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Allow QTextCharFormat::setFont() to skip unresolved font propsKonstantin Ritt2014-01-313-51/+88
| | | | | | | | | This makes the font merging possible and solves an issue with the default font properties inheritance when used in conjunction with QTextFormatCollection. Change-Id: If8b543c011122dde9f086f5d696df3b042f7b90c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add QWindowPrivate::topLevelWindow() helper functionTor Arne Vestbø2014-01-302-0/+22
| | | | | | | | Might be useful to expose to QWindow in 5.3, but for now it's private so it can be used by platform plugins. Change-Id: Iad96d7e249a7b85695668f8d7e8918164ec67442 Reviewed-by: Simon Hausmann <simon.hausmann@digia.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>
* Introduce QTextBlock::textFormats()Konstantin Ritt2014-01-302-1/+53
| | | | | | | | A convenient way to obtain the block format ranges that should be applied to the block text. Change-Id: I220429b7c9c592c4880357c0d7b1b21f6c1c11f3 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* [QFontEngineBox] Fix incorrect advances for SMP code pointsKonstantin Ritt2014-01-301-4/+11
| | | | | | | | In UTF-16, SMP code point is encoded with a pair of surrogates, thus making SMP code point twice wider than BMP code point. Change-Id: Ifb0e78cff50cca7231d07097a730188bd98c54cb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Get rid of QGlyphLayout::advances_yKonstantin Ritt2014-01-3012-148/+94
| | | | | | | | | | | | | | | ...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>
* Introduce QChar::JoiningType enum and QChar::joiningType() methodKonstantin Ritt2014-01-291-4/+4
| | | | | | | | | | | | | | This aimed to disctinct joining types "L", "T", and "U" from just "U". Unicode 6.3.0 has introduced a character with joining type "L" and Unicode 7.0 will add a few more characters of joining type "L", so we'll have to deal with it anyways. [ChangeLog][QtCore][QChar] Added JoiningType enum and joiningType() method that deprecates the old QChar::Joining enum and joining() method. Change-Id: I4be3a3f745d944e689feb9b62d4ca86d1cf371b0 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Ensure QImage::pixel() on RGB32 images returns valid QRgb valuesAllan Sandfeld Jensen2014-01-291-0/+1
| | | | | | | | | | | | | Currently QImage::pixel() returns the raw underlying pixel values for RGB32. For all other pixel formats the returned value is either valid ARGB32 or ARGB32PM. This patch masks the undefined alpha field in RGB32 so that the return value is well defined QRgb. It also fixes one test that relied on the previous behavior. Change-Id: If37463528268b7419733499d1f7bfd0d1097d21e Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.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>
* Fix performance regression in mirroring QBitmapAllan Sandfeld Jensen2014-01-291-1/+2
| | | | | | | | | | The recent split of qimage.cpp meant mirror_horizonal_bitmap had to access the bitflip array using a function call. The function call was placed in the inner loop, but should have been moved out of the loop as it can not be inlined. Change-Id: Id771b2fb7e6c2bfa59670ee96a857a529da13c0b Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* If DblClick, do not deliver 'duplicated' MouseButtonPressRick Stockton2014-01-274-0/+39
| | | | | | | | | | | | | | | | | | | | | | | QWidgetWIndow: In Qt4, when Qt created a MouseButtonDblClick event, Qt would consume the causing MouseButtonPress. It would send only the derived dblclick event to widget windows and their children. This change makes Qt5.3 and higher emulate Qt4 delivery of double click-related events to widget windows and their children. QML objects (e.g. mousearea) continue to receive the second MouseButtonPress. [ChangeLog][QtGui][QWidget] MouseButtonDblClick: Do not send the 2nd MouseButtonPress event to Widgets. Restore Qt4 behavior in sequence of mouse events delivered to widget windows and their children. Task-number: QTBUG-25831 Change-Id: Iff0f9c592bceacb2ca844d30f8180081e136a889 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Defer HarfBuzz face loading up until it gets usedKonstantin Ritt2014-01-241-2/+6
| | | | | | | | This didn't work for a loooong time already; not it is possible to re-introduce this optimization once again. Change-Id: I35c40e68933227bda6cbc038c2d8f6709db62451 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix rounding issueKonstantin Ritt2014-01-241-1/+1
| | | | | | | | The correct rounding that respects ForceIntegerMetrics flag is done just a few lines below. Change-Id: I8e79ebaded90753092ecd3e99eece8df4c824362 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Ref qualified version of QImage::convertToFormatAllan Sandfeld Jensen2014-01-233-1/+35
| | | | | | | | | | | Add ref qualified versions of QImage::convertToFormat, so that a temporary QImage can be converted in-place to a format of equal depth. [ChangeLog][QtGui][QImage]Added rvalue qualified convertToFormat method for in-place conversion Change-Id: I2eed5ffd63f5aea4ffa1147bf7607b02a49d9c5d Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Support negative layout spacings (do not assert)Jan Arve Saether2014-01-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | This tests * default spacing * explicit positive spacing * negative spacings Negative spacings that causes the layout to shrink down to 0 or a negative spacing are not supported. (But make sure they don't crash the whole engine) This is a partial cherry picked from qtquickcontrols.git/bc973dcf2163b25f2db74d974b252384bbee8d80) Only the Q_ASSERT had to be cherry-picked. This is because of that the qgridlayoutengine* is moved to qtbase. Therefore, any changes to qgridlayoutengine* won't be merged properly to dev (they will be lost). Task-number: QTBUG-35741 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Change-Id: I834f1efc11aca59a93c8d870f1a776f2f8810485 Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-2014-16/+1641
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1410-9/+1628
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 qtbase compile with QT_NO_GESTURESTasuku Suzuki2014-01-103-0/+9
| | | | | | | | | | Change-Id: I90f173265e177ff37ce80da3983080651856259d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.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>
* | Reduce code duplicationKonstantin Ritt2014-01-202-15/+4
| | | | | | | | | | Change-Id: I077963fcb910fa705b087e35e99cd07436c034b1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Add convenience method QTextFormat::isEmpty()Konstantin Ritt2014-01-202-0/+10
| | | | | | | | | | Change-Id: I30e74de6853908d1fec399131637848e3c2faabe Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Add generic inplace converterAllan Sandfeld Jensen2014-01-183-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | The generic converter can easily be modified to work inplace. Such an inplace converter can ensure we can do direct conversion between formats of similar pixel depth. Inplace conversion is currently only used by QPixmaps, but will be used by ref qualified versions of QImage::convertToFormat in a future patch. Change-Id: Idbdaf087b53deecdee8258ba0b5d80edd37cfe79 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>
* | Introduce function for standard button texts to QPlatformTheme.Friedemann Kleint2014-01-182-0/+61
| | | | | | | | | | Change-Id: I91eec04a95b5047d893490a70152237b2991f662 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Improve caching in ensureColumnAndRowData()Jan Arve Saether2014-01-182-1/+14
| | | | | | | | | | Change-Id: I02d9f818f8e1d6fcb8c25d1b73c08171cfc1f74d Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Replace win32-g++ with mingw scopeKai Koehne2014-01-171-1/+1
| | | | | | | | | | | | | | | | Commit 773dd01 introduced a general mingw platform scope, which is cleaner and more flexible than matching the spec name. Change-Id: Ie3a9cb791a83f7c8a51bc4e23069190c452ab521 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Improve code in sizeHint()Jan Arve Saether2014-01-171-30/+9
| | | | | | | | | | | | | | | | The plan is to do better caching in ensureColumnAndRowData(), and this patch will benefit for any such changes later Change-Id: Id1662e3fe7f70079e29ddb6e3d64e6e580ad9e0f Reviewed-by: J-P Nurmi <jpnurmi@digia.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-164-7/+7
| | | | | | | | | | | | | | | | | | | | | | 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-166-44/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-166-85/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | constify some functions to improve readabilityJan Arve Saether2014-01-152-4/+4
| | | | | | | | | | Change-Id: I4a5e68367f281f743a631272f57a848dc2833d12 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Remove unimplemented constructor in QTextEngineEskil Abrahamsen Blomfeldt2014-01-151-1/+0
| | | | | | | | | | | | | | | | | | QTextEngine(LayoutData*) declaration seems to have been added in Qt 4.1 without an implementation. As far as I can see it has never been implemented. Change-Id: I4bbf032395f7c930c9e8d365cdbbcf47bb118d64 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Update the Unicode Data and Algorithms up to Unicode 6.3.0Konstantin Ritt2014-01-141-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Mongolian and Phags-pa characters have been given a Joining_Type classification for contextual shaping. As a part of these additions, one Phags-pa character has the Joining_Type value of L (Left Joining), which no character had been assigned before. * The unassigned code points in the Currency Symbols block have been given the Bidi_Class property value ET and the Line_Break property value PR, to help implementations support new currency symbols, when they are encoded. * Hebrew letters and basic punctuation marks have been assigned the newly introduced Word_Break property values Hebrew_Letter, Single_Quote, and Double_Quote. * The Bidi_Class property has been extended with four new values for directional isolates. For more details, see http://www.unicode.org/versions/Unicode6.3.0/ Change-Id: Iad62d02edc58a8497898dcd6d6c70d5aece317ea Reviewed-by: Lars Knoll <lars.knoll@digia.com>