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