aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickimagebase_p.h
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2018-12-11 13:31:01 +0100
committerShawn Rutledge <shawn.rutledge@qt.io>2020-01-23 16:16:21 +0100
commit64b4211a3c8a037a4f2e6dae71ed65066aca8bea (patch)
tree6facec01fe185b2b5565ec9be6e537c41bca88d2 /src/quick/items/qquickimagebase_p.h
parent684f9df7849bc79f1f02a60844fb43c7a3927d2f (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.h11
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();