7#include <QtGui/qtguiglobal.h>
8#include <QtCore/qlist.h>
9#include <QtGui/qicon.h>
18 virtual ~QIconEngine();
19 virtual void paint(QPainter *painter,
const QRect &rect, QIcon::Mode mode, QIcon::State state) = 0;
20 virtual QSize actualSize(
const QSize &size, QIcon::Mode mode, QIcon::State state);
22 virtual QPixmap pixmap(
const QSize &size, QIcon::Mode mode, QIcon::State state);
24 virtual void addPixmap(
const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state);
25 virtual void addFile(
const QString &fileName,
const QSize &size, QIcon::Mode mode, QIcon::State state);
27 virtual QString key()
const;
28 virtual QIconEngine *clone()
const = 0;
29 virtual bool read(QDataStream &in);
30 virtual bool write(QDataStream &out)
const;
32 virtual QList<QSize> availableSizes(QIcon::Mode mode = QIcon::Normal,
33 QIcon::State state = QIcon::Off);
35 virtual QString iconName();
36 virtual bool isNull();
37 virtual QPixmap scaledPixmap(
const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale);
39 enum IconEngineHook { IsNullHook = 3, ScaledPixmapHook };
41 struct ScaledPixmapArgument
50 virtual void virtual_hook(
int id,
void *data);
53 QIconEngine(
const QIconEngine &other);
56 QIconEngine &operator=(
const QIconEngine &other) =
delete;
The QIconEngine class provides an abstract base class for QIcon renderers.
QIconPrivate(QIconEngine *e)
static void clearIconCache()
static qreal pixmapDevicePixelRatio(qreal displayDevicePixelRatio, const QSize &requestedSize, const QSize &actualSize)
QString fileName() const
If the currently assigned device is a QFile, or if setFileName() has been called, this function retur...
QDataStream & operator>>(QDataStream &s, QKeyCombination &combination)
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
static void qt_cleanup_icon_cache()
static constexpr auto themeIconMapping
static int origIcoDepth(const QImage &image)
static qint64 area(const QSize &s)
static int nextSerialNumCounter()
static QIconEngine * iconEngineFromSuffix(const QString &fileName, const QString &suffix)
QString qt_findAtNxFile(const QString &baseFileName, qreal targetDevicePixelRatio, qreal *sourceDevicePixelRatio)
static int findBySize(const QList< QImage > &images, const QSize &size)
static QPixmapIconEngineEntry * bestSizeScaleMatch(const QSize &size, qreal scale, QPixmapIconEngineEntry *pa, QPixmapIconEngineEntry *pb)
static constexpr QLatin1StringView themeIconName(QIcon::ThemeIcon icon)
Q_DECLARE_TYPEINFO(QPixmapIconEngineEntry, Q_RELOCATABLE_TYPE)
#define QIconEngineFactoryInterface_iid
Q_GLOBAL_STATIC_WITH_ARGS(PermissionStatusHash, g_permissionStatusHash,({ { qMetaTypeId< QCameraPermission >(), Qt::PermissionStatus::Undetermined }, { qMetaTypeId< QMicrophonePermission >(), Qt::PermissionStatus::Undetermined }, { qMetaTypeId< QBluetoothPermission >(), Qt::PermissionStatus::Undetermined }, { qMetaTypeId< QContactsPermission >(), Qt::PermissionStatus::Undetermined }, { qMetaTypeId< QCalendarPermission >(), Qt::PermissionStatus::Undetermined }, { qMetaTypeId< QLocationPermission >(), Qt::PermissionStatus::Undetermined } }))
QPixmapIconEngineEntry(const QPixmap &pm, QIcon::Mode m, QIcon::State s)
QPixmapIconEngineEntry()=default
QPixmapIconEngineEntry(const QString &file, const QSize &sz, QIcon::Mode m, QIcon::State s)