29 Q_PROPERTY(FillMode fillMode READ fillMode WRITE setFillMode NOTIFY fillModeChanged)
30 Q_PROPERTY(qreal paintedWidth READ paintedWidth NOTIFY paintedGeometryChanged)
31 Q_PROPERTY(qreal paintedHeight READ paintedHeight NOTIFY paintedGeometryChanged)
32 Q_PROPERTY(HAlignment horizontalAlignment READ horizontalAlignment WRITE setHorizontalAlignment NOTIFY horizontalAlignmentChanged)
33 Q_PROPERTY(VAlignment verticalAlignment READ verticalAlignment WRITE setVerticalAlignment NOTIFY verticalAlignmentChanged)
34 Q_PROPERTY(QSize sourceSize READ sourceSize WRITE setSourceSize RESET resetSourceSize NOTIFY sourceSizeChanged)
35 Q_PROPERTY(
bool mipmap READ mipmap WRITE setMipmap NOTIFY mipmapChanged REVISION(2, 3))
36 Q_PROPERTY(
bool autoTransform READ autoTransform WRITE setAutoTransform NOTIFY autoTransformChanged REVISION(2, 5))
37 Q_PROPERTY(QRectF sourceClipRect READ sourceClipRect WRITE setSourceClipRect RESET resetSourceClipRect NOTIFY sourceClipRectChanged REVISION(2, 15))
38 QML_NAMED_ELEMENT(Image)
39 QML_ADDED_IN_VERSION(2, 0)
42 QQuickImage(QQuickItem *parent=
nullptr);
45 enum HAlignment { AlignLeft = Qt::AlignLeft,
46 AlignRight = Qt::AlignRight,
47 AlignHCenter = Qt::AlignHCenter };
49 enum VAlignment { AlignTop = Qt::AlignTop,
50 AlignBottom = Qt::AlignBottom,
51 AlignVCenter = Qt::AlignVCenter };
54 enum FillMode { Stretch, PreserveAspectFit, PreserveAspectCrop, Tile, TileVertically, TileHorizontally, Pad };
57 FillMode fillMode()
const;
58 void setFillMode(FillMode);
60 qreal paintedWidth()
const;
61 qreal paintedHeight()
const;
63 QRectF boundingRect()
const override;
65 HAlignment horizontalAlignment()
const;
66 void setHorizontalAlignment(HAlignment align);
68 VAlignment verticalAlignment()
const;
69 void setVerticalAlignment(VAlignment align);
71 bool isTextureProvider()
const override {
return true; }
72 QSGTextureProvider *textureProvider()
const override;
75 void setMipmap(
bool use);
77 void emitAutoTransformBaseChanged() override { Q_EMIT autoTransformChanged(); }
80 void fillModeChanged();
81 void paintedGeometryChanged();
82 void horizontalAlignmentChanged(QQuickImage::HAlignment alignment);
83 void verticalAlignmentChanged(QQuickImage::VAlignment alignment);
84 Q_REVISION(2, 3)
void mipmapChanged(
bool);
85 Q_REVISION(2, 5)
void autoTransformChanged();
88 void invalidateSceneGraph();
91 QQuickImage(QQuickImagePrivate &dd, QQuickItem *parent);
92 void pixmapChange() override;
93 void updatePaintedGeometry();
94 void releaseResources() override;
96 void geometryChange(
const QRectF &newGeometry,
const QRectF &oldGeometry) override;
97 QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) override;
100 Q_DISABLE_COPY(QQuickImage)
101 Q_DECLARE_PRIVATE(QQuickImage)