29 Q_PROPERTY(Status status READ status NOTIFY statusChanged)
30 Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
31 Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged)
32 Q_PROPERTY(
bool asynchronous READ asynchronous WRITE setAsynchronous NOTIFY asynchronousChanged)
33 Q_PROPERTY(
bool cache READ cache WRITE setCache NOTIFY cacheChanged)
34 Q_PROPERTY(
bool mirror READ mirror WRITE setMirror NOTIFY mirrorChanged)
35 Q_PROPERTY(
bool mirrorVertically READ mirrorVertically WRITE setMirrorVertically NOTIFY mirrorVerticallyChanged REVISION(6, 2))
36 Q_PROPERTY(
bool retainWhileLoading READ retainWhileLoading WRITE setRetainWhileLoading NOTIFY retainWhileLoadingChanged REVISION(6, 8))
37 Q_PROPERTY(
int currentFrame READ currentFrame WRITE setCurrentFrame NOTIFY currentFrameChanged REVISION(2, 14))
38 Q_PROPERTY(
int frameCount READ frameCount NOTIFY frameCountChanged REVISION(2, 14))
39 Q_PROPERTY(QColorSpace colorSpace READ colorSpace WRITE setColorSpace NOTIFY colorSpaceChanged REVISION(2, 15))
41 QML_NAMED_ELEMENT(ImageBase);
42 QML_ADDED_IN_VERSION(2, 14)
43 QML_UNCREATABLE(
"ImageBase is an abstract base class.")
46 enum LoadPixmapOption {
49 UseProviderOptions = 0x0002
52 Q_DECLARE_FLAGS(LoadPixmapOptions, LoadPixmapOption)
53 Q_FLAG(LoadPixmapOptions)
55 QQuickImageBase(QQuickItem *parent=
nullptr);
57 enum Status { Null, Ready, Loading, Error };
59 Status status()
const;
60 qreal progress()
const;
63 virtual void setSource(
const QUrl &url);
65 bool asynchronous()
const;
66 void setAsynchronous(
bool);
73 virtual void setSourceSize(
const QSize&);
74 QSize sourceSize()
const;
75 void resetSourceSize();
77 QRectF sourceClipRect()
const;
78 void setSourceClipRect(
const QRectF &r);
79 void resetSourceClipRect();
81 virtual void setMirror(
bool mirror);
84 virtual void setMirrorVertically(
bool mirror);
85 bool mirrorVertically()
const;
87 virtual void setCurrentFrame(
int frame);
88 virtual int currentFrame()
const;
90 virtual int frameCount()
const;
92 virtual void setAutoTransform(
bool transform);
93 bool autoTransform()
const;
95 QColorSpace colorSpace()
const;
96 virtual void setColorSpace(
const QColorSpace &colorSpace);
98 bool retainWhileLoading()
const;
99 void setRetainWhileLoading(
bool retain);
101 static void resolve2xLocalFile(
const QUrl &url, qreal targetDevicePixelRatio, QUrl *sourceUrl, qreal *sourceDevicePixelRatio);
105 virtual void emitAutoTransformBaseChanged() { }
108 void sourceChanged(
const QUrl &);
109 void sourceSizeChanged();
110 void statusChanged(QQuickImageBase::Status);
111 void progressChanged(qreal progress);
112 void asynchronousChanged();
114 void mirrorChanged();
115 Q_REVISION(2, 14)
void currentFrameChanged();
116 Q_REVISION(2, 14)
void frameCountChanged();
117 Q_REVISION(2, 15)
void sourceClipRectChanged();
118 Q_REVISION(2, 15)
void colorSpaceChanged();
119 Q_REVISION(6, 2)
void mirrorVerticallyChanged();
120 Q_REVISION(6, 8)
void retainWhileLoadingChanged();
124 void loadPixmap(
const QUrl &url, LoadPixmapOptions loadOptions = NoOption);
126 void componentComplete() override;
127 virtual void pixmapChange();
128 void itemChange(ItemChange change,
const ItemChangeData &value) override;
129 QQuickImageBase(QQuickImageBasePrivate &dd, QQuickItem *parent);
132 virtual void requestFinished();
133 void requestProgress(qint64,qint64);
136 Q_DISABLE_COPY(QQuickImageBase)
137 Q_DECLARE_PRIVATE(QQuickImageBase)