diff options
Diffstat (limited to 'src/quick/items/qquickimagebase_p.h')
-rw-r--r-- | src/quick/items/qquickimagebase_p.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/quick/items/qquickimagebase_p.h b/src/quick/items/qquickimagebase_p.h index 8cd59c8cea..095547a2cf 100644 --- a/src/quick/items/qquickimagebase_p.h +++ b/src/quick/items/qquickimagebase_p.h @@ -53,6 +53,7 @@ #include "qquickimplicitsizeitem_p.h" #include <private/qtquickglobal_p.h> +#include <QtGui/qcolorspace.h> QT_BEGIN_NAMESPACE @@ -70,8 +71,22 @@ class Q_QUICK_PRIVATE_EXPORT QQuickImageBase : public QQuickImplicitSizeItem Q_PROPERTY(bool mirror READ mirror WRITE setMirror NOTIFY mirrorChanged) Q_PROPERTY(int currentFrame READ currentFrame WRITE setCurrentFrame NOTIFY currentFrameChanged REVISION 14) Q_PROPERTY(int frameCount READ frameCount NOTIFY frameCountChanged REVISION 14) + Q_PROPERTY(QColorSpace colorSpace READ colorSpace WRITE setColorSpace NOTIFY colorSpaceChanged REVISION 15) + + QML_NAMED_ELEMENT(ImageBase); + QML_ADDED_IN_MINOR_VERSION(14) + 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 }; @@ -94,6 +109,10 @@ public: QSize sourceSize() const; void resetSourceSize(); + QRectF sourceClipRect() const; + void setSourceClipRect(const QRectF &r); + void resetSourceClipRect(); + virtual void setMirror(bool mirror); bool mirror() const; @@ -105,6 +124,9 @@ public: virtual void setAutoTransform(bool transform); bool autoTransform() const; + QColorSpace colorSpace() const; + virtual void setColorSpace(const QColorSpace &colorSpace); + static void resolve2xLocalFile(const QUrl &url, qreal targetDevicePixelRatio, QUrl *sourceUrl, qreal *sourceDevicePixelRatio); // Use a virtual rather than a signal->signal to avoid the huge @@ -121,8 +143,12 @@ Q_SIGNALS: void mirrorChanged(); Q_REVISION(14) void currentFrameChanged(); Q_REVISION(14) void frameCountChanged(); + Q_REVISION(15) void sourceClipRectChanged(); + Q_REVISION(15) void colorSpaceChanged(); protected: + void loadEmptyUrl(); + void loadPixmap(const QUrl &url, LoadPixmapOptions loadOptions = NoOption); virtual void load(); void componentComplete() override; virtual void pixmapChange(); |