From 64b4211a3c8a037a4f2e6dae71ed65066aca8bea Mon Sep 17 00:00:00 2001 From: Paolo Angelelli Date: Tue, 11 Dec 2018 13:31:01 +0100 Subject: 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 --- src/quick/items/qquickimagebase_p.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/quick/items/qquickimagebase_p.h') 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(); -- cgit v1.2.3