30 QFontIconEngine(
const QString &iconName,
const QFont &font);
33 QString iconName() override;
34 bool isNull() override;
35 QString key()
const override;
36 QIconEngine *clone()
const override;
38 QList<QSize> availableSizes(QIcon::Mode, QIcon::State) override;
39 QSize actualSize(
const QSize &size, QIcon::Mode mode, QIcon::State state) override;
40 QPixmap pixmap(
const QSize &size, QIcon::Mode mode, QIcon::State state) override;
41 QPixmap scaledPixmap(
const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale) override;
42 void paint(QPainter *painter,
const QRect &rect, QIcon::Mode mode, QIcon::State state) override;
45 virtual QString string()
const;
46 virtual glyph_t glyph()
const;
49 static constexpr quint64 calculateCacheKey(QIcon::Mode mode, QIcon::State state)
51 return (quint64(mode) << 32) | state;
54 const QString m_iconName;
55 const QFont m_iconFont;
56 mutable QPixmap m_pixmap;
57 mutable quint64 m_pixmapCacheKey = {};
58 static constexpr glyph_t uninitializedGlyph = std::numeric_limits<glyph_t>::max();
59 mutable glyph_t m_glyph = uninitializedGlyph;