summaryrefslogtreecommitdiffstats
path: root/src/gui/image
Commit message (Collapse)AuthorAgeFilesLines
* QIconLoader: don't make QIconDirInfo::type a bit-fieldMarc Mutz2015-07-191-1/+1
| | | | | | | | | | | | | It doesn't save any space, is not required for ABI compat (because it's private API), generates more code to extract the field, and triggers a bug in older GCCs when synthesizing a move constructor for this type: src/gui/image/qiconloader_p.h:64:8: error: invalid conversion from 'unsigned char:4' to 'QIconDirInfo::Type' [-fpermissive] src/corelib/tools/qvector.h:641:13: note: synthesized method 'QIconDirInfo& QIconDirInfo::operator=(QIconDirInfo&&)' first required here Change-Id: I61e886566b67c7a18a318a3d026dc762600f8ab4 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* QtGui: Use Q_NULLPTR instead of 0 in all public headersMarc Mutz2015-07-198-31/+31
| | | | | | | | | This is in preparation of adding -Wzero-as-null-pointer-constant (or similar) to the headers check. Task-number: QTBUG-45291 Change-Id: I72ab40b21a9499b53a639564fa45884de17b6c98 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Mark QPixmapCache::Key as shared for Qt 6.Marc Mutz2015-07-181-0/+1
| | | | | Change-Id: I37819cfd8a56d364336640146dbead2e1a454787 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.5' into HEADSimon Hausmann2015-07-172-3/+4
|\ | | | | | | | | | | | | Conflicts: src/plugins/platforms/windows/qwindowsopengltester.cpp Change-Id: Ia7abeba9395ccf84e2fa81b91a5725a86dedb9fe
| * Fix compile error on big endianAllan Sandfeld Jensen2015-07-081-1/+1
| | | | | | | | | | | | | | | | | | DestFormat is not defined here but should be Format_RGBX8888 Change-Id: Ie33989a6fc31650434281a6b7b0f4806524268af Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix memory leak in QJpegHandlerPrivateJian Liang2015-07-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the introduction of jpeg auto transform, it is possible to read jpeg header after its state was changed from ReadHeaer to Ready which will lead to creating some resources again without releasing them. For example, if you call QImageReader::setAutoTransform(true) and then call QImageReader::read(), QJpegHandlerPrivate::readJpegHeader() will be called twice and it will allocate resource again without releasing the old one. This patch add a new state ReadingEnd to prevent the header from being read twice. Change-Id: If2497f6e3668958c0c792a66e1b77eb2773584a2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
* | QImageIOHandler: don't create QLists just to count their elementsMarc Mutz2015-07-132-4/+4
| | | | | | | | | | | | | | | | | | | | | | Q(Multi)Map::keys() returns duplicated keys, so keys().size() will always be the same as the map's size(). So use that directly instead of creating temporary QLists to check the size. Change-Id: I0600d1845e25be3b825e4ae470c1ef41a3a5d2c9 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Fix some qdoc-warnings.Friedemann Kleint2015-07-102-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qtbase/src/corelib/io/qdatastream.cpp:501: warning: Undocumented enum item 'Qt_5_6' in QDataStream::Version qtbase/src/corelib/itemmodels/qitemselectionmodel.cpp:1764: warning: Undocumented parameter 'model' in QItemSelectionModel::setModel() qtbase/src/corelib/statemachine/qabstractstate.cpp:216: warning: Undocumented parameter 'active' in QAbstractState::activeChanged() qtbase/src/corelib/statemachine/qstatemachine.cpp:3262: warning: Undocumented parameter 'running' in QStateMachine::runningChanged() qtbase/src/corelib/tools/qchar.cpp:160: warning: Undocumented enum item 'Unicode_7_0' in QChar::UnicodeVersion qtbase/src/gui/image/qimagereader.cpp:1168: warning: Undocumented parameter 'enabled' in QImageReader::setAutoTransform() qtbase/src/gui/image/qimagewriter.cpp:621: warning: Undocumented parameter 'transform' in QImageWriter::setTransformation() qtbase/src/gui/itemmodels/qstandarditemmodel.cpp:1268: warning: Undocumented parameter 'tristate' in QStandardItem::setAutoTristate() qtbase/src/gui/kernel/qscreen.cpp:590: warning: Undocumented parameter 'orientation' in QScreen::orientationChanged() qtbase/src/gui/kernel/qscreen.cpp:599: warning: Undocumented parameter 'orientation' in QScreen::primaryOrientationChanged() qtbase/src/gui/text/qtextdocument.cpp:1455: warning: No such parameter 'from' in QTextDocument::find() qtbase/src/gui/text/qtextdocument.cpp:533: warning: Undocumented parameter 'option' in QTextDocument::setDefaultTextOption() qtbase/src/widgets/itemviews/qtableview.cpp:2546: warning: Undocumented parameter 'enable' in QTableView::setSortingEnabled() qtbase/src/widgets/statemachine/qkeyeventtransition.cpp:119: warning: Undocumented parameter 'key' in QKeyEventTransition::setKey() qtbase/src/widgets/widgets/qplaintextedit.cpp:1610: warning: Can't link to 'toText()' qtbase/src/opengl/qgl.cpp:4371: warning: No documentation for 'QGLWidget::event()' Remove the documentation as they are properties: qtbase/src/widgets/widgets/qfontcombobox.cpp:407: warning: Undocumented parameter 'font' in QFontComboBox::setCurrentFont() qtbase/src/widgets/widgets/qfontcombobox.cpp:403: warning: Undocumented parameter 'script' in QFontComboBox::setWritingSystem() Change-Id: If599a3ce747bbb8a3418dd973810923b87246371 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
* | Do not support static QIcon instancesFrederik Gladhorn2015-07-092-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | There was an attempt to allow static instances of QIcon in 7727a4355876607a1a022ff54e2570dae883f79c (Qt 4). This patch does only solve some of the corner cases and broke with aa5f70c00a88edcddd26e8fea767a40e8c5c31b8. Since the "breakage" has been there for two years, let's officially declare it unsupported instead of trying to work around the issue. Change-Id: I61e12fd03953763ee2e70eae58bcaecabdcb85b8 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Add ability for QIcons to be marked as template images.James Turner2015-07-093-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows end users to create QSystemTrayIcons that are properly displayed as monochrome images on OS X, which is especially important on Yosemite and above when Dark Mode is turned on. [ChangeLog][QtGui][QIcon] Add ability for QIcons to be marked as template images. This allows end users to create QSystemTrayIcons that are properly displayed as monochrome images on OS X, which is especially important on Yosemite and above when Dark Mode is turned on. Task-number: QTBUG-42109 Change-Id: I095fb71355ffa572d0abb4769341f68b89b877c4 Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
* | Remove Q_DEAD_CODE_FROM_QT4_MAC sectionsMorten Johan Sørvig2015-07-081-7/+0
| | | | | | | | | | Change-Id: I483446c9eac8aa617b94e54f1e61f77a4eba7683 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | Remove Q_DEAD_CODE_FROM_QT4_MAC sectionMorten Johan Sørvig2015-07-081-5/+0
| | | | | | | | | | Change-Id: I1c41dfbfe22117c159471759811bb96351e2762d Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
* | QIcon: use (Qt-) canonical form of move special member functionsMarc Mutz2015-07-061-3/+3
| | | | | | | | | | | | | | | | | | In particular the move constructor now performs only two instead of four assignments. Change-Id: I033d75635288fbd44060a1ba5f2da23b7e7729f6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-07-015-6/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qglobal.h src/corelib/global/qsysinfo.h src/corelib/global/qsystemdetection.h src/corelib/kernel/qobjectdefs.h src/plugins/plugins.pro tests/auto/widgets/itemviews/qlistview/qlistview.pro Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
| * Turn off optimizations for all windows arm platformsAndreas Holzammer2015-06-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | Windows Embedded Compact 7 seems to be affected by the optimization bug as well. Task-number: QTBUG-46666 Task-number: QTBUG-46667 Change-Id: I169588cfbc570378ee3066b760d8c084fd28e6be Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
| * Fix decoding of JPEGs with invalid EXIF headersAllan Sandfeld Jensen2015-06-281-2/+0
| | | | | | | | | | | | | | | | | | We should accept JPEGs with broken EXIF headers since the header is optional and can be ignored if broken. Task-number: QTBUG-46870 Change-Id: I494e5497b8449ce6494285d4d77caadbbb0ccaf8 Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
| * Respect manual set icon themes.Sune Vuorela2015-06-182-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently all icon resolving is passed thru to the platform icon engine, even in the case where the application developer has set their own requested icon theme. In that case, the application developer specifically does not want to follow the icon theme of the system, so don't ask the platform, but rely on Qt code instead. It leads to bugs reported to platform icon theme providers like this: MMC: https://github.com/MultiMC/MultiMC5/issues/796 KDE: https://bugs.kde.org/show_bug.cgi?id=344469 Thanks to the multimc people (Jan Dalheimer and Peterix) for the reports and testcases. Change-Id: I52cda6f688b2ef9e44e060c8ae67831cb02b26c8 Reviewed-by: Eike Hein <hein@kde.org> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * QPicturePaintEngine: Avoid slow QPainter::clipRegionKai Pastor2015-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | QPainter::clipRegion() is expensive especially for certain clip paths. QPainter::clipBoundingRect() does not promise to return an exact (tight) bound but delivers the desired result quickly. In addition, this avoids discretization. Change-Id: Ib35406edc12fb8206ca978bc140a7c5e21279ca2 Task-number: QTBUG-46578 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Use QVector::reserve() all over the place.Sérgio Martins2015-06-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Reduces internal memory fragmentation. The search criteria was: QVector::append(), QVector::push_back(), QVector::operator<<() and QVector::operator+=() calls inside for, do and while loops. Statements inside ifs and out of loops weren't considered. Change-Id: Ie5aaf3cdfac938994e6e5dfa5f51de501ed79a0c Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QPicture: don't hold images in QListMarc Mutz2015-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | QImage is larger than a void*, so holding them in a QList is needlessly inefficient. Worse, the code could come to depend on the fragile property of (inefficient) QLists that references to elements therein never are invalidated. Change-Id: I153995d691692f7317cab31b95a00d679f31c0af Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | QPicture: don't hold pixmaps in QListMarc Mutz2015-06-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | QPixmap is larger than a void*, so holding them in a QList is needlessly inefficient. Worse, the code could come to depend on the fragile property of (inefficient) QLists that references to elements therein never are invalidated. Change-Id: I82bb9a88e7030e566f39421cd78babcf01bce285 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | gui: Add several QList::reserve() calls.Sérgio Martins2015-06-221-1/+3
| | | | | | | | | | | | | | Reduces reallocations. Change-Id: I0db16726f413a67b76a73fabd013f910ab5f5109 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Export gamma setting and metadata in QImageReaderAllan Sandfeld Jensen2015-06-223-9/+49
| | | | | | | | | | | | | | | | | | | | | | | | The PNG image plugin has the capability of applying gamma correction to read PNGs, but doesn't do so by default, and we export no way of accessing this through the qimagereader API. This patch adds the ability to read the PNG file gamma, and overriding decoded gamma to get gamma correction. Change-Id: Iaf9eaac0827516db6bc02247c58026270cd1f610 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | QIcon: don't use a QList<QImage>Marc Mutz2015-06-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | QImage is larger than a void*, so holding them in a QList is needlessly inefficient. Use QVector instead. Change-Id: Ifcc9eca18a87e29327586506e3a3bb7874c8b3a7 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Move-enable QPixmapCache::KeyMarc Mutz2015-06-192-0/+24
| | | | | | | | | | | | | | | | The default constructor already sets the d-pointer to nullptr, so the move constructor does not introduce a new state. Change-Id: Icd47952bdf76d2106992d6babea40d68f18d067e Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QPixmapCache: remove unused Q_TEST_QPIXMAPCACHE-only functionMarc Mutz2015-06-192-25/+0
| | | | | | | | | | | | | | | | Unused by tst_qpixmapcache.cpp and everything else, and uses an inefficient QList, so remove. Change-Id: Ia410ed19db9bb3db97460b21bc2fd9d53c95a73d Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/5.5' into devSimon Hausmann2015-06-0315-90/+259
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qnamespace.qdoc src/corelib/io/qwindowspipereader.cpp src/corelib/io/qwindowspipereader_p.h src/corelib/statemachine/qstatemachine.cpp src/corelib/statemachine/qstatemachine_p.h src/plugins/platforms/xcb/qxcbconnection.h tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp tests/auto/tools/qmake/tst_qmake.cpp tests/manual/touch/main.cpp Change-Id: I917d694890e79ee3da7d65134b5b085e23e0dd62
| * Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-06-011-7/+0
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/mac/pbuilder_pbx.cpp src/corelib/global/qglobal.h Change-Id: I2c0f7544bf194f2d0f59218fd583c822901487b0
| | * Do not modify decoder when determining image-formatAllan Sandfeld Jensen2015-05-211-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should not configure the decoder when just determining the image- format. Doing so can cause all versions of libpng to print a warning, and some versions to fail to decode. The code appears to be a leftover from when the image-format logic was copied out of the introduction of the decoding method, where the proper settings are still applied. Task-number: QTBUG-46233 Change-Id: I6619728804f040ae6c9d637c7298a8586e22499e Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
| * | Optionally apply orientation on QImage readAllan Sandfeld Jensen2015-05-128-4/+328
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible to read images with EXIF orientation automatically applied. This was originally implemented without opt-out in Qt 5.4, but reverted. Here it is implemented as opt-in for JPEG, and opt-out for TIFF to keep behavioral consistency. The EXIF support for JPEG was written by Rainer Keller. [ChangeLog][QtGui][Image plugins] An option has been added to QImageReader to enable automatic application of EXIF orientation. This behavior was default in Qt 5.4.1, but reverted in Qt 5.4.2. Task-number: QTBUG-37946 Task-number: QTBUG-43563 Task-number: QTBUG-45552 Task-number: QTBUG-45865 Change-Id: Iaafd2519b63ede66ecc1f8aa4c7118081312b8f5 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | Remove effectless statement.Bjoern Breitmeyer2015-05-121-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | The UNDER_NT define is useless as the include already happens before in qfunctions... Change-Id: I25fc23e169ce91d787331a7a86023aa7b424d687 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * | Merge remote-tracking branch 'origin/5.4' into merge5.5Allan Sandfeld Jensen2015-05-081-149/+1
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/corelib/io/qnoncontiguousbytedevice_p.h src/gui/image/qjpeghandler.cpp src/network/access/qhttpthreaddelegate_p.h tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp tests/auto/widgets/widgets/qmenubar/BLACKLIST Change-Id: I01de8c1c28efcedfd7953d05025f54802dc08ab3
| | * Revert "Rotate images according to Exif orientation"Rainer Keller2015-04-291-149/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to a behavior change. This reverts commit 9157087334186ff3ef811f2ec234a3bf5d4a4889. This reverts commit 16c32c6dfbca03a46d1a2bb87b6c1c365e6179d5. Task-number: QTBUG-37946 Task-number: QTBUG-45552 Task-number: QTBUG-43563 Change-Id: Idf8df7d8f22465e8f6b51acb68993ac97208b184 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | Add noexcept to move constructors and assignment operatorsAllan Sandfeld Jensen2015-05-046-15/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add the noexcept attribute to all move constructors and assignment operators in QtGui that didn't already have it. Change-Id: Idcdf79ae8349b8793e7394b5ae7c08e6111fbc9a Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | Merge remote-tracking branch 'origin/5.5' into HEADSimon Hausmann2015-05-043-105/+214
|\| | | | | | | | | | | Change-Id: I487a4b7c05687a10c498ac219c31367d4db6fbc0
| * | Add missing RGB32 <-> RGB30 convertionsAllan Sandfeld Jensen2015-04-301-34/+86
| | | | | | | | | | | | | | | | | | | | | | | | Completes the inplace converters so that we can rely on inplace conversions to succede as long as the image depth is the same. Change-Id: Ia1ae34b5de1bc16e87ff5403bdacfcae44a22791 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | Fix QImage format after inplace conversionAllan Sandfeld Jensen2015-04-301-34/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some inplace conversions would not set the requested image format in the returned image, due to the same conversion being used for several destination formats. This patch ensures all inplace conversions return the right format, and adds testing infrastructure to easily test iterate over all formats so that they all can be tested. Change-Id: I68ab17a713ddb2aa8ed6aaf0a0a1ec8bbcb56090 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | Fix two errors in RGB30 conversionsAllan Sandfeld Jensen2015-04-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The one converters from RGB30 was misplaced in the method table, and the unpremultiplication from A2RGB30 to RGB30 had an underflow mistake when alpha was 2. Change-Id: I92c11ede28611a3dbdce72aca1898845c120c209 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | Convert opaque indexed images over RGB32Allan Sandfeld Jensen2015-04-281-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | There is no reason to use the more expensive ARGB32 conversions when there is no alpha channel involved. Change-Id: Ifcb325352b8c806ef755db385121a2939c5825b2 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | Preserve QImage metadata in image transformsAllan Sandfeld Jensen2015-04-282-31/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some QImage methods were not preserving image metadata, or only preserving some of it. This adds the missing parts and adds a test for metadata. Change-Id: Ib5892a23e49dfde5ea26074d3deaa887fa930c6b Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-04-273-6/+15
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/tools/qdoc/tree.cpp tests/auto/gui/painting/qcolor/tst_qcolor.cpp Change-Id: Iaa78f601a63191fa643aabf853520f913f2f0fdc
| * | Fix inplace double mirroring on odd sized imagesAllan Sandfeld Jensen2015-04-231-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QImage inplace mirroring method, failed to handle the middle line when mirroring both ways (rotate 180). In both other mirroring cases the middle can be left untouched, but in this case it needs to be mirrored half way. To make the logic simpler, double mirroring will now mirror half the lines instead of half of every line. Change-Id: Iaa1f1e1c3f7dedfb78891fc93207f6d0c64bcafe Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | Revert "Remove separate SSE4 unpremultiply function"Allan Sandfeld Jensen2015-04-232-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Could causedSSE4 instructions to be used on non SSE4 machines in cases when qUnpremultiplywas not inlined. This reverts commit 964ccc58534aac436529007000d1c38d76c88834. Change-Id: Ic676ade8f75129e8d37c4d96cbfb2bdb5b794919 Task-number: QTBUG-45741 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-04-223-8/+11
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/statemachine/qstatemachine.cpp src/corelib/statemachine/qstatemachine_p.h src/gui/painting/qdrawhelper.cpp src/plugins/platforms/xcb/qxcbnativeinterface.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/plugins/platforms/xcb/qxcbwindow.h src/testlib/qtestblacklist.cpp src/tools/qdoc/node.cpp src/tools/qdoc/node.h tests/auto/gui/painting/qcolor/tst_qcolor.cpp Change-Id: I6c78b7b162001712d5774293f501b06b4ff32684
| * | Remove separate SSE4 unpremultiply functionAllan Sandfeld Jensen2015-04-162-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merges the SSE4 specific unpremultiply with the normal version, and adds a SSE2 fallback. There was no reason to split the two since compile time options will ensure the right version is inlined. Also adds short-cut for 0 and 255 values. Change-Id: Ie5aa262f6964219fd3062d4a498f697cf79a4595 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | Cleanup and optimization of qimage smoothscaleAllan Sandfeld Jensen2015-04-151-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Cleaning up smoothscale code. Upscaling is improved using existing optimized interpolation methods, and downscale is given SSE4.1 optimized versions. Change-Id: I7cdc256c26850948aef7dae26fda1622be6b8179 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | Remove <qhash.h> where it's not usedMarc Mutz2015-04-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | To avoid source-incompatibilites, wrap in QT_DEPRECATED_SINCE(5, 5) in public headers. Change-Id: I6117e8a6b11200d2f1a0a94a0e87d5c27538218e Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | Fix RGB30 painting testsAllan Sandfeld Jensen2015-04-132-9/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some tests were failing because the color was not read correctly from a QImage. To make it possibly to read more accurate colors a pixel accessor returing QColor has been added. Some tests also had the wrong order of arguments, confusing dest and src formats. This has been corrected, so they test what they claim to test. A test for RGB30 linear gradients is also added. Change-Id: Ic623ae1b8e0bf7383056b641c6e8230a1d7dd0dd Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | Solid and gradients in high color accuracyAllan Sandfeld Jensen2015-04-101-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | This patch updates the internal color precisions of solids and gradients to 16bit per color. This makes it possible to render at higher precision on non-premultiplied ARGB32, the RGB30 formats and any other hi-color formats if more are added. [ChangeLog][QtGui][Painting] Internal precision of solids and gradients is now up to 16bit per color. Change-Id: Ieae5468bd6de1f56adfa4cb9fa966faf2ed824fd Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-313-6/+17
|\| | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0