Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qquickimagebase_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QQUICKIMAGEBASE_P_H
5#define QQUICKIMAGEBASE_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
19#include <private/qtquickglobal_p.h>
20#include <QtGui/qcolorspace.h>
21
23
25class Q_QUICK_EXPORT QQuickImageBase : public QQuickImplicitSizeItem
26{
28
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))
40
41 QML_NAMED_ELEMENT(ImageBase);
43 QML_UNCREATABLE("ImageBase is an abstract base class.")
44
45public:
47 NoOption = 0x0000,
48 HandleDPR = 0x0001,
49 UseProviderOptions = 0x0002
50 };
51
52 Q_DECLARE_FLAGS(LoadPixmapOptions, LoadPixmapOption)
53 Q_FLAG(LoadPixmapOptions)
54
55 QQuickImageBase(QQuickItem *parent=nullptr);
57 enum Status { Null, Ready, Loading, Error };
58 Q_ENUM(Status)
59 Status status() const;
60 qreal progress() const;
61
62 QUrl source() const;
63 virtual void setSource(const QUrl &url);
64
65 bool asynchronous() const;
66 void setAsynchronous(bool);
67
68 bool cache() const;
69 void setCache(bool);
70
71 QImage image() const;
72
73 virtual void setSourceSize(const QSize&);
74 QSize sourceSize() const;
75 void resetSourceSize();
76
77 QRectF sourceClipRect() const;
78 void setSourceClipRect(const QRectF &r);
79 void resetSourceClipRect();
80
81 virtual void setMirror(bool mirror);
82 bool mirror() const;
83
84 virtual void setMirrorVertically(bool mirror);
85 bool mirrorVertically() const;
86
87 virtual void setCurrentFrame(int frame);
88 virtual int currentFrame() const;
89
90 virtual int frameCount() const;
91
92 virtual void setAutoTransform(bool transform);
93 bool autoTransform() const;
94
95 QColorSpace colorSpace() const;
96 virtual void setColorSpace(const QColorSpace &colorSpace);
97
98 bool retainWhileLoading() const;
99 void setRetainWhileLoading(bool retain);
100
101 static void resolve2xLocalFile(const QUrl &url, qreal targetDevicePixelRatio, QUrl *sourceUrl, qreal *sourceDevicePixelRatio);
102
103 // Use a virtual rather than a signal->signal to avoid the huge
104 // connect/conneciton overhead for this rare case.
106
108 void sourceChanged(const QUrl &);
111 void progressChanged(qreal progress);
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();
121
122protected:
123 void loadEmptyUrl();
124 void loadPixmap(const QUrl &url, LoadPixmapOptions loadOptions = NoOption);
125 virtual void load();
126 void componentComplete() override;
127 virtual void pixmapChange();
128 void itemChange(ItemChange change, const ItemChangeData &value) override;
130
132 virtual void requestFinished();
133 void requestProgress(qint64,qint64);
134
135private:
136 Q_DISABLE_COPY(QQuickImageBase)
137 Q_DECLARE_PRIVATE(QQuickImageBase)
138};
139
141
142#endif // QQUICKIMAGEBASE_P_H
The QColorSpace class provides a color space abstraction.
Definition qcolorspace.h:21
\inmodule QtGui
Definition qimage.h:37
void sourceSizeChanged()
void asynchronousChanged()
void statusChanged(QQuickImageBase::Status)
void progressChanged(qreal progress)
Q_REVISION(2, 14) void currentFrameChanged()
virtual void emitAutoTransformBaseChanged()
void sourceChanged(const QUrl &)
void mirrorChanged()
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition qquickitem.h:63
ItemChange
Used in conjunction with QQuickItem::itemChange() to notify the item about certain types of changes.
Definition qquickitem.h:144
\inmodule QtCore\reentrant
Definition qrect.h:484
\inmodule QtCore
Definition qsize.h:25
\inmodule QtCore
Definition qurl.h:94
void statusChanged(QQmlComponent::Status status)
[1]
Definition qlogging.cpp:11
p1 load("image.bmp")
QCache< int, Employee > cache
[0]
Combined button and popup list for selecting options.
Definition image.cpp:4
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
#define Q_DECLARE_FLAGS(Flags, Enum)
Definition qflags.h:174
GLboolean r
[2]
GLsizei GLsizei GLchar * source
GLuint GLenum GLenum transform
#define QML_UNCREATABLE(REASON)
#define QML_NAMED_ELEMENT(NAME)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
#define Q_ENUM(x)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_REVISION(...)
#define Q_FLAG(x)
#define Q_SLOTS
#define Q_SIGNALS
long long qint64
Definition qtypes.h:60
double qreal
Definition qtypes.h:187
static const uint base
Definition qurlidna.cpp:20
QUrl url("example.com")
[constructor-url-reference]
QFrame frame
[0]
manager setCache(diskCache)
\inmodule QtQuick
Definition qquickitem.h:159