diff options
author | Albert Astals Cid <albert.astals@canonical.com> | 2016-07-15 14:21:37 +0200 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2016-11-11 17:20:10 +0000 |
commit | 9c50216c7bbbdb2bb51d4485286bf09e12fb5b62 (patch) | |
tree | 39b9bd552507482b87fceeaedad42e4bf12eca11 /src/quick/util/qquickimageprovider.h | |
parent | 6cb21a9296b34d66d7b50d6b38c09294634202e0 (diff) |
Scale images correctly with sourceSize and PreserveAspectCrop/Fit
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>
Diffstat (limited to 'src/quick/util/qquickimageprovider.h')
-rw-r--r-- | src/quick/util/qquickimageprovider.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/quick/util/qquickimageprovider.h b/src/quick/util/qquickimageprovider.h index 879c4d0fcc..c77ff95f32 100644 --- a/src/quick/util/qquickimageprovider.h +++ b/src/quick/util/qquickimageprovider.h @@ -50,6 +50,7 @@ QT_BEGIN_NAMESPACE class QQuickImageProviderPrivate; class QQuickAsyncImageProviderPrivate; +class QQuickImageProviderOptionsPrivate; class QSGTexture; class QQuickWindow; @@ -86,6 +87,8 @@ Q_SIGNALS: class Q_QUICK_EXPORT QQuickImageProvider : public QQmlImageProviderBase { + friend class QQuickImageProviderWithOptions; // ### Qt 6 Remove + friend class QQuickPixmapReader; // ### Qt 6 Remove public: QQuickImageProvider(ImageType type, Flags flags = Flags()); virtual ~QQuickImageProvider(); @@ -94,9 +97,9 @@ public: Flags flags() const override; #if QT_VERSION >= QT_VERSION_CHECK(6,0,0) - virtual QImage requestImage(const QString &id, QSize *size, const QSize& requestedSize, bool requestedAutoTransform); - virtual QPixmap requestPixmap(const QString &id, QSize *size, const QSize& requestedSize, bool requestedAutoTransform); - virtual QQuickTextureFactory *requestTexture(const QString &id, QSize *size, const QSize &requestedSize, bool requestedAutoTransform); + virtual QImage requestImage(const QString &id, QSize *size, const QSize& requestedSize, const QQuickImageProviderOptions &options); + virtual QPixmap requestPixmap(const QString &id, QSize *size, const QSize& requestedSize, const QQuickImageProviderOptions &options); + virtual QQuickTextureFactory *requestTexture(const QString &id, QSize *size, const QSize &requestedSize, const QQuickImageProviderOptions &options); #else virtual QImage requestImage(const QString &id, QSize *size, const QSize& requestedSize); virtual QPixmap requestPixmap(const QString &id, QSize *size, const QSize& requestedSize); @@ -113,7 +116,11 @@ public: QQuickAsyncImageProvider(); virtual ~QQuickAsyncImageProvider(); +#if QT_VERSION >= QT_VERSION_CHECK(6,0,0) + virtual QQuickImageResponse *requestImageResponse(const QString &id, const QSize &requestedSize, const QQuickImageProviderOptions &options) = 0; +#else virtual QQuickImageResponse *requestImageResponse(const QString &id, const QSize &requestedSize) = 0; +#endif private: QQuickAsyncImageProviderPrivate *d; |