Qt 6.x
The Qt SDK
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_PRIVATE_EXPORT QQuickImageBase : public QQuickImplicitSizeItem
26{
28
29 Q_PROPERTY(Status status READ status NOTIFY statusChanged FINAL)
30 Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged FINAL)
31 Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged)
32 Q_PROPERTY(bool asynchronous READ asynchronous WRITE setAsynchronous NOTIFY asynchronousChanged FINAL)
33 Q_PROPERTY(bool cache READ cache WRITE setCache NOTIFY cacheChanged FINAL)
34 Q_PROPERTY(QSize sourceSize READ sourceSize WRITE setSourceSize RESET resetSourceSize NOTIFY sourceSizeChanged FINAL)
35 Q_PROPERTY(bool mirror READ mirror WRITE setMirror NOTIFY mirrorChanged FINAL)
36 Q_PROPERTY(bool mirrorVertically READ mirrorVertically WRITE setMirrorVertically NOTIFY mirrorVerticallyChanged REVISION(6, 2) FINAL)
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) FINAL)
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
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 static void resolve2xLocalFile(const QUrl &url, qreal targetDevicePixelRatio, QUrl *sourceUrl, qreal *sourceDevicePixelRatio);
99
100 // Use a virtual rather than a signal->signal to avoid the huge
101 // connect/conneciton overhead for this rare case.
103
105 void sourceChanged(const QUrl &);
108 void progressChanged(qreal progress);
112 Q_REVISION(2, 14) void currentFrameChanged();
113 Q_REVISION(2, 14) void frameCountChanged();
114 Q_REVISION(2, 15) void sourceClipRectChanged();
115 Q_REVISION(2, 15) void colorSpaceChanged();
116 Q_REVISION(6, 2) void mirrorVerticallyChanged();
117
118protected:
119 void loadEmptyUrl();
120 void loadPixmap(const QUrl &url, LoadPixmapOptions loadOptions = NoOption);
121 virtual void load();
122 void componentComplete() override;
123 virtual void pixmapChange();
124 void itemChange(ItemChange change, const ItemChangeData &value) override;
126
128 virtual void requestFinished();
129 void requestProgress(qint64,qint64);
130
131private:
132 Q_DISABLE_COPY(QQuickImageBase)
133 Q_DECLARE_PRIVATE(QQuickImageBase)
134};
135
137
138#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:64
ItemChange
Used in conjunction with QQuickItem::itemChange() to notify the item about certain types of changes.
Definition qquickitem.h:143
\inmodule QtCore\reentrant
Definition qrect.h:483
\inmodule QtCore
Definition qsize.h:25
\inmodule QtCore
Definition qurl.h:94
void statusChanged(QDeclarativeComponent::Status status)
[1]
Definition qlogging.cpp:9
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:55
double qreal
Definition qtypes.h:92
QUrl url("example.com")
[constructor-url-reference]
QFrame frame
[0]
manager setCache(diskCache)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent
\inmodule QtQuick
Definition qquickitem.h:158