30 Q_PROPERTY(Status status READ status NOTIFY statusChanged)
31 Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
32 Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged)
33 Q_PROPERTY(
bool asynchronous READ asynchronous WRITE setAsynchronous NOTIFY asynchronousChanged)
34 Q_PROPERTY(
bool cache READ cache WRITE setCache NOTIFY cacheChanged)
35 Q_PROPERTY(
bool mirror READ mirror WRITE setMirror NOTIFY mirrorChanged)
36 Q_PROPERTY(
bool mirrorVertically READ mirrorVertically WRITE setMirrorVertically NOTIFY mirrorVerticallyChanged REVISION(6, 2))
37 Q_PROPERTY(
bool retainWhileLoading READ retainWhileLoading WRITE setRetainWhileLoading NOTIFY retainWhileLoadingChanged REVISION(6, 8))
38 Q_PROPERTY(
int currentFrame READ currentFrame WRITE setCurrentFrame NOTIFY currentFrameChanged REVISION(2, 14))
39 Q_PROPERTY(
int frameCount READ frameCount NOTIFY frameCountChanged REVISION(2, 14))
40 Q_PROPERTY(QColorSpace colorSpace READ colorSpace WRITE setColorSpace NOTIFY colorSpaceChanged REVISION(2, 15))
42 QML_NAMED_ELEMENT(ImageBase);
43 QML_ADDED_IN_VERSION(2, 14)
44 QML_UNCREATABLE(
"ImageBase is an abstract base class.")
47 enum LoadPixmapOption {
50 UseProviderOptions = 0x0002
53 Q_DECLARE_FLAGS(LoadPixmapOptions, LoadPixmapOption)
54 Q_FLAG(LoadPixmapOptions)
56 QQuickImageBase(QQuickItem *parent=
nullptr);
58 enum Status { Null, Ready, Loading, Error };
60 Status status()
const;
61 qreal progress()
const;
64 virtual void setSource(
const QUrl &url);
66 bool asynchronous()
const;
67 void setAsynchronous(
bool);
74 virtual void setSourceSize(
const QSize&);
75 QSize sourceSize()
const;
76 void resetSourceSize();
78 QRectF sourceClipRect()
const;
79 void setSourceClipRect(
const QRectF &r);
80 void resetSourceClipRect();
82 virtual void setMirror(
bool mirror);
85 virtual void setMirrorVertically(
bool mirror);
86 bool mirrorVertically()
const;
88 virtual void setCurrentFrame(
int frame);
89 virtual int currentFrame()
const;
91 virtual int frameCount()
const;
93 virtual void setAutoTransform(
bool transform);
94 bool autoTransform()
const;
96 QColorSpace colorSpace()
const;
97 virtual void setColorSpace(
const QColorSpace &colorSpace);
99 bool retainWhileLoading()
const;
100 void setRetainWhileLoading(
bool retain);
102 static void resolve2xLocalFile(
const QUrl &url, qreal targetDevicePixelRatio, QUrl *sourceUrl, qreal *sourceDevicePixelRatio);
106 virtual void emitAutoTransformBaseChanged() { }
109 void sourceChanged(
const QUrl &);
110 void sourceSizeChanged();
111 void statusChanged(QQuickImageBase::Status);
112 void progressChanged(qreal progress);
113 void asynchronousChanged();
115 void mirrorChanged();
116 Q_REVISION(2, 14)
void currentFrameChanged();
117 Q_REVISION(2, 14)
void frameCountChanged();
118 Q_REVISION(2, 15)
void sourceClipRectChanged();
119 Q_REVISION(2, 15)
void colorSpaceChanged();
120 Q_REVISION(6, 2)
void mirrorVerticallyChanged();
121 Q_REVISION(6, 8)
void retainWhileLoadingChanged();
125 void loadPixmap(
const QUrl &url, LoadPixmapOptions loadOptions = NoOption);
127 void componentComplete() override;
128 virtual void pixmapChange();
129 void itemChange(ItemChange change,
const ItemChangeData &value) override;
130 QQuickImageBase(QQuickImageBasePrivate &dd, QQuickItem *parent);
133 virtual void requestFinished();
134 void requestProgress(qint64,qint64);
137 Q_DISABLE_COPY(QQuickImageBase)
138 Q_DECLARE_PRIVATE(QQuickImageBase)