aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util/qquickpixmapcache_p.h
Commit message (Collapse)AuthorAgeFilesLines
* Use new ImageProviderWithOptions also for sync image loadingEirik Aavitsland2017-04-061-0/+1
| | | | | | | | | | | When the new extended image provider api was added, only the async image loading function was changed to use it. This commit makes also the sync image loading function check for the new api, and use it if the provider implements it. Change-Id: I982e4de05b8119e1668e2b982d2d62b03a52b302 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Make scaled image size calculation available to image providersEirik Aavitsland2017-04-051-0/+2
| | | | | | | | | | | | | When reduced size image loading is requested through Image::sourceSize, the precise calculation of the scaled size to load is somewhat complex. This commit moves that calculation into a function accessible to image providers, so that they may use the same scaling as Quick's default image loading, and avoid code duplication. This is a code restructuring only; no behavior should change. Change-Id: Ic965fb2b6c22a5d21add41b8395e3a3842697d20 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Allow to pass all the relevant info to QQuickPixmap::isCachedAlbert Astals Cid2017-02-031-1/+1
| | | | | | | | | | | | | If we don't allow to pass the QQuickImageProviderOptions to the isCached we are missing one of the three components that identify if the pixmap is actually cached. Old code is ok for the QQuickAnimatedImagePrivate use case since it always creates QQuickPixmap with the default QQuickImageProviderOptions options, but if someone else wants to use QQuickPixmap::isCached they will need to be able to pass the options part of the cache key. Change-Id: I3153ad9ed30e7332b5cb4896dcebd408f2bd9afe Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Make Item::grabToImage work in more cases, and improve test coverageAlbert Astals Cid2017-01-271-0/+2
| | | | | | | | | | | This fixes a regression caused by 9c50216c7bbbdb2bb51d4485286bf09e12fb5b62 when the Image specified fillMode: aspectRatioCrop/Fit. [ChangeLog][QtQuick][Image] Item::grabToImage on an Image element will now work regardless of the Image's sourceSize or cache properties. Change-Id: I225854c48f0c35a3cb2ef0dd56bf51bd88c31779 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Remove qWarning about QQuickImageProviderWithOptionsAlbert Astals Cid2017-01-241-2/+2
| | | | | | | | | | | | | | If you're an user it's a bit annoying since it may show a lot and you don't know what to do with it If you're a developer it's a bit annoying since it's telling you to use a private class If we had a "debug for developers only mode" we could improve the message to be a bit more fine tuned and suggest that if they really want to be precise they can implement QQuickImageProviderWithOptions but as far as i know we don't have it, so i think it's better to remove the message altogether. Also mark the internal classes with the private export and add \internal to documentation of the internal class Change-Id: I5d7fc8d8b333c9a12321ed8135433603251815fc Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* Scale images correctly with sourceSize and PreserveAspectCrop/FitAlbert Astals Cid2016-11-111-8/+60
| | | | | | | | | | It also introduces a private QQuickImageProviderWithOptions to allow passing options to image providers so that they can return more fine-tuned images. This private class will disappear in Qt6 and the functionality will be merged into QQuickImageProvider. Change-Id: I619065d889d21d3a9e1f8e45fdb6076b9657c7ed Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Quick: add missing 'override'Anton Kudryavtsev2016-10-121-4/+4
| | | | | | | ... and drop redundant 'virtual' Change-Id: Iffebc971122f39212ea091ed1fe39e3a1fd68469 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Updated license headersJani Heikkinen2016-01-191-14/+20
| | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Add missing "We mean it" comments to private headers.Friedemann Kleint2015-10-061-0/+11
| | | | | | Task-number: QTBUG-48594 Change-Id: Ifc207938de7f0c8995fc712df92665f222612647 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Optionally apply orientation on imagesAllan Sandfeld Jensen2015-05-191-0/+8
| | | | | | | | | | | | | | | Adds the option to follow EXIF orientation. This was previuosly automatically applied to TIFF images, but not JPEGs except in Qt 5.4.1. [ChangeLog][Image] An autoTransform property has been added to control whether metadata image transforms such as EXIF orientation are automatically applied. By default it enabled for TIFF images and disabled for JPEG. Change-Id: I8a4cf204985b2a7d158a0e046e52db7cda970d20 Task-number: QTBUG-37946 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Update copyright headersJani Heikkinen2015-02-121-7/+7
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
* Introduce QSG_TRANSIENT_IMAGES.Gunnar Sletta2015-02-031-2/+3
| | | | | | | | | | | | | | This feature enables the same feature that we already have in the 'nonpreservedtexture' in the scene graph playground. This change also cleans up some leftover logic from the early Qt 5.2 days when we had to manually extract the image from the default texture factory rather than going through QQuickWindow::createTexture(). This cleanup is required for the logic to work. Change-Id: I7cdf15d981ba8af94f8d51781fc01e2b834b77c6 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* Update license headers and add new licensesJani Heikkinen2014-08-251-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Optimize the way AnimatedImage display its contentLouis du Verdier2014-06-051-0/+2
| | | | | | | | | | | | Since QtQuick2, the AnimatedImage component is less efficient than it was with QtQuick1, using more CPU and RAM. This commit makes it upload when required each animation frame as a cached texture (using QQuickPixmapCache) to speed up the component. Task-number: QTBUG-38921 Change-Id: I7ab0b5f47ecec6cb3cdded0dd219d6acc1bc4148 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Say hello to QQuickItem::grabToImage().Gunnar Sletta2014-05-011-0/+1
| | | | | | | | | [ChangeLog][QtQuick][Item] Added functions QQuickItem::grabToImage() and Item::grabToImage() to allow grabbing of items into system-memory images. Change-Id: I76cd73bb62f7440569c6fce63d63528559845721 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Fix license headers of QtQuick sources.Gunnar Sletta2013-09-301-1/+1
| | | | | Change-Id: I3750c47640bf21c3567c5fa1c4667e3e2552942e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Do pixel conversion on the pixmap decoder thread when possibleGunnar Sletta2013-02-121-5/+1
| | | | | Change-Id: Id991bee5c0a8b260fc1ca4395402970c6a722b5d Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-281-4/+0
| | | | | | | | | | | The macro was made empty in qtbase/ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb and is no longer necessary or used. Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html Change-Id: Ia07e99676e0134fde5e32880edb95e57c779a7ff Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Alan Alpert <aalpert@rim.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-231-24/+24
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QQuickCanvas renamesAlan Alpert2012-07-171-1/+1
| | | | | | | | | | | | | | | | QQuickCanvas is now called QQuickWindow QQuickCanvas::rootItem is now QQuickWindow::contentItem QQuickItem::canvas is now QQuickItem::window QQuickItem::ItemChangeData::canvas is also renamed window QQuickCanvas::grabFrameBuffer is now QQuickWindow::grabWindow The functions related to the color property have dropped the clear from their names. The first three changes have interim compatibility measures in place to ease the transition. Change-Id: Id34e29546a22a74a7ae2ad90ee3a8def6fc541d2 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Remove unnecessary exportsMatthew Vogt2012-05-181-2/+2
| | | | | | | | | Reduce library load time by removing any exports which are not required by existing clients. Task-number: QTBUG-24768 Change-Id: Ia5754d6f97bb2ed46e290820a5b092f85a4bc5b0 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-03-071-1/+1
|\ | | | | | | Change-Id: I121cb9c9316b5e47476dcb982bc28b6f3f358f78
| * Do not store an explicit QImage in the declarative pixmap cache.Gunnar Sletta2012-03-051-1/+1
| | | | | | | | | | | | | | | | This opens up for the scene graph adaptation only storing textures which effectively halves the memory usage for textures and images. Change-Id: I3452a15844ceeb4fc3a465865f99ee16e3e05607 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* | Remove uses of QtGui symbols in QQmlEngine.Matthew Vogt2012-03-071-1/+1
|/ | | | | | | | | Move the code dealing with QImage and QPixmap out of QQmlEngine and into the QtQuick library. QQmlEngine remains the owner of image provider resources, but does not use them directly. Change-Id: I52083581394d9c308db446372883eb7479ccf807 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-241-0/+144
Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <martin.jones@nokia.com>