summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Don't limit AAT support to Darwin based platformsLars Knoll2020-03-181-2/+0
| | | | | | | | Harfbuzz supports this in a cross platform way, so there's no reason not to accept a font with AAT tables on other platforms. Change-Id: I00c38a11dfd4a32e846254c1da9e8841090f5fd9 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix compilation with -no-feature-regularexpressionEskil Abrahamsen Blomfeldt2020-03-171-0/+1
| | | | | | | | | This -no-feature has probably not been tested for a while and seems to have rotted a bit, both some unprotected uses and some warnings on unused parameters. Change-Id: Ie20a06c78d3b4c36860dab49d6615eaa8ffc9077 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove QRegExpValidatorLars Knoll2020-03-173-205/+5
| | | | | | | As QRegExp will be moved to a compat library in Qt 6. Change-Id: I181aec45bd798f49d2c50a0e7fb64782e004b854 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
* Bump the minimum requirement for harfbuzz to version 2.6.0Lars Knoll2020-03-171-1/+1
| | | | | | | | That will give better text rendering capabilities in Qt and allow us to clean up some more code. Change-Id: Ia11b7ab57cda8320047381224989766b854e8ca5 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Remove old harfbuzz support from QFontEngineLars Knoll2020-03-171-146/+3
| | | | | Change-Id: I1595ce32d2b88b98157bcf8020ac22db93d7ea64 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Remove old harfbuzz dependency from QTextEngineLars Knoll2020-03-172-150/+6
| | | | | | | We're either using harfbuzz-ng or disable shaping now. Change-Id: Ia80bc4671efb20eabb35d7560abc774cdad7f424 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Remove harfbuzz dependency from qunicodetoolsLars Knoll2020-03-171-1/+1
| | | | | | | | | | | | | | | | | Copy the relevant harfbuzz code over from Harfbuzz into qunicodetools.cpp This is basically the attribute functions from the different harfbuzz shapers. Those methods do not require any font support but operate purely on unicode input data. Adjusted the code to use Qt's own data structures and enums (QChar::Script and friends) instead of the harfbuzz equivalents. The code is 100% copyright The Qt Company, so we can do this without requiring any attribution. Change-Id: I8262ba34eae1837f031f07d1b6d9917c0224e160 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Change signature of initScripts to take out pointer to a QVLA<ScriptItem>Lars Knoll2020-03-171-4/+8
| | | | | | | This avoids one additional copy of data that we've been doing before. Change-Id: I3fae0ebe0cded632b41fdcf7efc01d5c7f2dc181 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Remove unused includeLars Knoll2020-03-161-1/+0
| | | | | Change-Id: I98f018c63295e09c5e374741583d191eca97de3b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Get rid of QRegExp from the xpm image handlerLars Knoll2020-03-161-10/+18
| | | | | Change-Id: Ic6bc89c7ffbf1c2f615e9b89aff7c64201ac2837 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Re-generate various CMake projects and configure after mergeSimon Hausmann2020-03-161-1/+1
| | | | | Change-Id: I02f5926c6664aab518c5c81e0c33dca0818a1871 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Merge "Merge remote-tracking branch 'origin/5.15' into dev"Simon Hausmann2020-03-1614-1262/+459
|\
| * Merge remote-tracking branch 'origin/5.15' into devSimon Hausmann2020-03-1614-1262/+459
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetatype.cpp Change-Id: I88eb0d3e9c9a38abf7241a51e370c655ae74e38a
| | * wasm: remove uneeded platform plugins from buildLorn Potter2020-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | Wasm does not use minimal, offscreen or qvnc platform plugins. Change-Id: I3a1919a260280ffdff33b68502d488f71f2b0c13 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * Doc: Remove \contentspage commandsTopi Reinio2020-03-152-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | The command is deprecated and has no effect apart from generating a documentation warning. Change-Id: I30871bfd6975f8268930cce99993a8579242fdb8 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| | * Update UCD to Revision 26Edward Welbourne2020-03-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Include WordBreakTest.html, since a test uses sample strings from it, albeit without actually reading the file. Had to comment out more of the new tests, as at Revision 24, pending an update to harfbuzz and the text boundary detection code. Task-number: QTBUG-79631 Task-number: QTBUG-79418 Task-number: QTBUG-82747 Change-Id: I0082294b09d67ffdc6a9b5c15acf77ad3b86f65f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * qpa: Return accepted state from mouse, touch and wheel handlersLorn Potter2020-03-132-77/+79
| | | | | | | | | | | | | | | | | | | | | | | | Return the value from handleWindowSystemEvent so platform plugins can detect whether it was accepted or not. Change-Id: I53ffb713afc8e0ec1789107c912433133cfaa11a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * Fix range-loop implicit copy warningMorten Johan Sørvig2020-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the copy explicit. qhighdpiscaling_p.h:282:24: warning: loop variable 'rect' has type 'const QRectF &' but is initialized with type 'const QRect' resulting in a copy [-Wrange-loop-analysis] for (const QRectF &rect : pixelRegion) { ^ Change-Id: I4080ff42c41e464d081ab2b01cb2d010867b041b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | * Hide default-invisible characters when shaping is disabledEskil Abrahamsen Blomfeldt2020-03-131-25/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When shaping is disabled we also skipped the step which set dontPrint to true for soft hyphens, line separators, and similar characters. This caused boxes to appear in text with e.g. line separators. There is a minor modification to the code that is moved: In the case on unshaped text and only the CMAP able is used, the font engine for the soft hyphen can be a fallback engine, so we need to also set the correct engine index when changing the glyph index. [ChangeLog][QtGui][Text] Fixed an issue with QFont::PreferNoShaping where boxes would appear in place of unprintable characters. Fixes: QTBUG-81994 Change-Id: Ifc9f4f89d928475ca0487a92b4480bd5db5918fd Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Make vulkan-flavored GLSL known to QShaderFormatJean-Michaël Celerier2020-03-132-2/+4
| | | | | | | | | | | | | | | Change-Id: I6a3799c35aafa38095b316ee01d14b9db3af5e04 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
| | * macOS: Streamline QIcon to NSImage conversionTor Arne Vestbø2020-03-122-17/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The conversion uses NSBitmapImageRep and correctly sets the display pixel ratio and size of the resulting image, reducing the need for clients to deal with this. It also propagates the isMask property of the icon to the NSImage. The function returns an auto-released object, as is customary for class-functions like these. Change-Id: If97f3d383959cd0f58a0d1249f5c26e52c1da9cd Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * macOS: Streamline QImage to NSImage conversionTor Arne Vestbø2020-03-122-15/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The conversion uses NSBitmapImageRep and correctly sets the display pixel ratio and size of the resulting image, reducing the need for clients to deal with this. The function returns an auto-released object, as is customary for class-functions like these. Change-Id: I5124d1d8145a7f5266921b22fda1987798771ec1 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Fix multi-threaded shrinking conversionAllan Sandfeld Jensen2020-03-111-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The conversion takes place in separate blocks, but may need to be compressed after converting. Fixes: QTBUG-82818 Change-Id: I71431af3d41e1bfe1f9b3d8cd7c1e0a2020846cd Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * Merge "Merge remote-tracking branch 'origin/5.14' into 5.15"Qt Forward Merge Bot2020-03-112-13/+17
| | |\
| | | * Merge remote-tracking branch 'origin/5.14' into 5.15Qt Forward Merge Bot2020-03-112-13/+17
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/plugin/qlibrary.cpp src/corelib/plugin/qlibrary_unix.cpp src/corelib/plugin/qpluginloader.cpp Change-Id: I866feaaa2a4936ee5389679724c8471a5b4b583d
| | | | * Fix non-trivial soft-hyphen line breaksAllan Sandfeld Jensen2020-03-101-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The effect of the soft-hyphen needs to be updated once the final the break point has been found. This change cleans the logic by using two variables keeping track of soft-hyphen at current evaluated position and at last confirmed break point. Also adds tests for supression of soft-hyphens in the tight WrapAnywhere case. Fixes: QTBUG-35940 Fixes: QTBUG-44257 Change-Id: I7a89a8ef991b87691879bb7ce40cec4a3605fdd5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| | | | * Add the include for QPointer to avoid MSVC compilation errorShawn Rutledge2020-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It has been reported that 7447e2b337f12b4d04935d0f30fc673e4327d5a0 needs amending to build on MSVC 2019, although it was OK in CI. Change-Id: Id22c2a3608529abebd66c0e8f401bc6f26f45e18 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
| | * | | Replace initialization of sparse table of converts with settersAllan Sandfeld Jensen2020-03-111-1105/+230
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is similar to how the similar table in qblendfunctions.cpp is now set, and is easier to read and maintain. Change-Id: I43a885fae7b1a92110bb33f0b22a5b02fddc0115 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | | cmake: Regenerate projectsAlexandru Croitor2020-03-162-4/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: I0cd4f34b0df0227789805f30f474ff6aa275078f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | | cmake: Remove APPLE prefix from platform namesTor Arne Vestbø2020-03-163-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | None of the other platforms have it. Change-Id: Ib448c2c03ba03f711b507ef391977c0e6aa7c192 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | | cmake: Fix naming when referring to Apple macOSTor Arne Vestbø2020-03-162-5/+5
|/ / / | | | | | | | | | | | | Change-Id: Iafb5e448d0d65d42f788464fc600594a5666f9af Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Use qsizetype for size related methods in QVarlengthArrayLars Knoll2020-03-143-4/+3
| | | | | | | | | | | | | | | Change-Id: Ib94b9a4e6e17da21f592e71a36fd1b97d42dfe62 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-1124-837/+1434
|\| | | | | | | | | | | Change-Id: Ibee5acec72a1a1769d4bc5f23f56c7dc8d4cf3cb
| * | QVulkanWindow: Fix setQueueCreateInfoModifier signatureLaszlo Agocs2020-03-102-2/+2
| | | | | | | | | | | | | | | | | | | | | ...per API review. Change-Id: I4a5a1cc895eac32f21f8a830507b841318509992 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | rhi: d3d11: Honor resource/sampler slot limitsLaszlo Agocs2020-03-101-66/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Show a warning but allow applications to survive by not attempting to call VS/PS/CSSetWhatever() with an invalid number of resources. Relevant for samplers in particular, where the limit is 16. Qt Quick 3D exhibits problems with this when using custom materials combined with shadow mapping, and while this is not a solution to the problem there, at least the problem is now clearly indicated instead of crashing. Task-number: QTBUG-82719 Change-Id: I83914b7648001fa421ed1cf07a7b7444e0ef8fc0 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | Multithread some QImage routinesAllan Sandfeld Jensen2020-03-096-519/+996
| | | | | | | | | | | | | | | | | | | | | | | | Use QThreadPool to process QImage smooth-scaling, format conversions, and colorspace transforms multithreaded. Change-Id: Ic142b1fa899f56e7e5099d36ca713701a47b681b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | Add default arguments to QPainterPath methods using transformJarek Kobus2020-03-065-10/+15
| | | | | | | | | | | | | | | | | | | | | Fixes: QTBUG-82602 Change-Id: Id82f145ffb33e6d4ef9b81282ad14657b1c8fbd0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | rhi: vulkan: Silence useless desc.set validation warningsLaszlo Agocs2020-03-061-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is deemed more appropriate than having some time consuming tracking of descriptor types in pools, just to avoid the rare case of attempting a failing vkAllocateDescriptorSets(), which is then always followed by another, successful attempt. Change-Id: I7a3a1d80afe400dc96605a3d6c834e8b2c71143a Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | rhi: Add support for arrays of combined image samplersLaszlo Agocs2020-03-059-168/+290
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduces a new QRhiShaderResourceBinding function that takes an array of texture-sampler pairs. The existing function is also available and is equivalent to calling the array-based version with array size 1. It is important to note that for Metal one needs MSL 2.0 for array of textures, so qsb needs --msl 20 instead of --msl 12 for such shaders. Comes with an autotest, and also updates all .qsb files for said test with the latest shadertools. Task-number: QTBUG-82624 Change-Id: Ibc1973aae826836f16d842c41d6c8403fd7ff876 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
| * | Don't use deprecated QPixmapCache::find overloadVolker Hilsheimer2020-03-041-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Silence compile time warning and show correct usage in example snippet. Change-Id: I1936f006e4b5f3ca71bbc0100ed039beeb459271 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | | Fix distribution of font properties in QTextFormatEskil Abrahamsen Blomfeldt2020-03-102-12/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The area reserved for font properties was too small for the properties we needed, and as a result font properties were added outside of the area and special-cased (in the case of FontLetterSpacingType) or ignored (in the case of FontStretch) by conditions that check if the property is within the designated area. We reorganize the enum values now that we can, and allocate some more space for the font properties area. Fixes: QTBUG-65345 Change-Id: I8121ff7f72102d8022c6a6d2f8ed9c35dcdbb321 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | CMake: Remove old 3rdparty mechanism for harfbuzz-non-ngAlexandru Croitor2020-03-101-0/+4
| | | | | | | | | | | | | | | | | | Change-Id: I37c1e561ac83c51a06aae50ccb176094785d52f5 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | CMake: Regenerate configure.cmake files to get reportsAlexandru Croitor2020-03-091-0/+146
| | | | | | | | | | | | | | | Change-Id: Ifa1646c7e471b3eaba552498ee1dc24f6ab864de Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | | Simplify OpenGL and OpenGL ES2 library tests in Gui's configure.jsonLeander Beernaert2020-03-091-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Change OpenGL and OpenGL ES2 library tests to just include the header file in the test header code. This mimics what the OpenGL ES3 library tests does. Change-Id: Ic63879ea100bc66cf58ffd660e89c5803c6e29e6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | | Enabler: Store more properties of application fontsEskil Abrahamsen Blomfeldt2020-03-067-211/+328
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The family name of a font is ambiguous and without additional information there is no way to separate one font from another inside that family. In order to make it possible to expose more info about application fonts from FontLoader in Qt Quick, we need to store them in the font database. Task-number: QTBUG-68829 Change-Id: I931e1c2c004437ac0a21d4d88e55d176de676f34 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Initial cleanup of qevent.h for Qt6Allan Sandfeld Jensen2020-03-053-137/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Takes care of the first round of todos and deprecations for Qt6 in qevent. Not touching anything that might interfere with changing the class hierarchy as the file also suggest. Change-Id: If72d63d8932f1af588785bf77b34532358639a63 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | Remove QImageIOHandler::name()Shawn Rutledge2020-03-052-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | It has been marked obsolete for a very long time, and deprecated in code since f9e6f8efda350689211286db9154677924df8aab. Change-Id: Ib351025369584bf3b8a3a17f980a567d2b9556ca Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.15' into dev"Lars Knoll2020-03-0431-209/+408
|\ \ \
| * | | Merge remote-tracking branch 'origin/5.15' into devLars Knoll2020-03-0431-209/+408
| |\| | | | | | | | | | | | | | Change-Id: I99ee6f8b4bdc372437ee60d1feab931487fe55c4
| | * | QVulkanWindow: Remove queueCreateInfoModifier getterLaszlo Agocs2020-03-032-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is inconsistent with the other similar functions in QVulkanWindow, we do not provide getters for those either. Change-Id: If764b49f4b26ff14a2fa908b8d5b37429047250c Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>