diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2018-12-11 13:31:01 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2020-01-23 16:16:21 +0100 |
commit | 64b4211a3c8a037a4f2e6dae71ed65066aca8bea (patch) | |
tree | 6facec01fe185b2b5565ec9be6e537c41bca88d2 /src/quick/items/qquickimagebase_p.h | |
parent | 684f9df7849bc79f1f02a60844fb43c7a3927d2f (diff) |
Deduplicate QQuickImageBase/QQuickBorderImage::load
These two methods share a whole lot of duplicated logic, and already
show signs of divergence due to maintenance going to the one and
not the other.
This patch removes the duplication.
Change-Id: I6a83dd7f354a94547e44198ec679b323f2c5240e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/items/qquickimagebase_p.h')
-rw-r--r-- | src/quick/items/qquickimagebase_p.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/quick/items/qquickimagebase_p.h b/src/quick/items/qquickimagebase_p.h index d1d01ad27d..9308230bfa 100644 --- a/src/quick/items/qquickimagebase_p.h +++ b/src/quick/items/qquickimagebase_p.h @@ -76,6 +76,15 @@ class Q_QUICK_PRIVATE_EXPORT QQuickImageBase : public QQuickImplicitSizeItem QML_UNCREATABLE("ImageBase is an abstract base class.") public: + enum LoadPixmapOption { + NoOption = 0x0000, + HandleDPR = 0x0001, + UseProviderOptions = 0x0002 + }; + + Q_DECLARE_FLAGS(LoadPixmapOptions, LoadPixmapOption) + Q_FLAG(LoadPixmapOptions) + QQuickImageBase(QQuickItem *parent=nullptr); ~QQuickImageBase(); enum Status { Null, Ready, Loading, Error }; @@ -127,6 +136,8 @@ Q_SIGNALS: Q_REVISION(14) void frameCountChanged(); protected: + void loadEmptyUrl(); + void loadPixmap(const QUrl &url, LoadPixmapOptions loadOptions = NoOption); virtual void load(); void componentComplete() override; virtual void pixmapChange(); |