Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QIconLoaderEngine Class Reference

An icon engine based on icon entries collected by QIconLoader. More...

#include <qiconloader_p.h>

+ Inheritance diagram for QIconLoaderEngine:
+ Collaboration diagram for QIconLoaderEngine:

Public Member Functions

 QIconLoaderEngine (const QString &iconName=QString())
 
 ~QIconLoaderEngine ()
 
void paint (QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) override
 Uses the given painter to paint the icon with the required mode and state into the rectangle rect.
 
QPixmap pixmap (const QSize &size, QIcon::Mode mode, QIcon::State state) override
 Returns the icon as a pixmap with the required size, mode, and state.
 
QSize actualSize (const QSize &size, QIcon::Mode mode, QIcon::State state) override
 Returns the actual size of the icon the engine provides for the requested size, mode and state.
 
QIconEngineclone () const override
 Reimplement this method to return a clone of this icon engine.
 
QString iconName () override
 
bool isNull () override
 
QPixmap scaledPixmap (const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale) override
 
QList< QSizeavailableSizes (QIcon::Mode mode, QIcon::State state) override
 
- Public Member Functions inherited from QIconEngine
 QIconEngine ()
 
virtual ~QIconEngine ()
 Destroys the icon engine.
 
virtual void paint (QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state)=0
 Uses the given painter to paint the icon with the required mode and state into the rectangle rect.
 
virtual QSize actualSize (const QSize &size, QIcon::Mode mode, QIcon::State state)
 Returns the actual size of the icon the engine provides for the requested size, mode and state.
 
virtual QPixmap pixmap (const QSize &size, QIcon::Mode mode, QIcon::State state)
 Returns the icon as a pixmap with the required size, mode, and state.
 
virtual void addPixmap (const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state)
 Called by QIcon::addPixmap().
 
virtual void addFile (const QString &fileName, const QSize &size, QIcon::Mode mode, QIcon::State state)
 Called by QIcon::addFile().
 
virtual QString key () const
 \variable QIconEngine::ScaledPixmapArgument::size
 
virtual QIconEngineclone () const =0
 Reimplement this method to return a clone of this icon engine.
 
virtual bool read (QDataStream &in)
 Reads icon engine contents from the QDataStream in.
 
virtual bool write (QDataStream &out) const
 Writes the contents of this engine to the QDataStream out.
 
virtual QList< QSizeavailableSizes (QIcon::Mode mode=QIcon::Normal, QIcon::State state=QIcon::Off)
 
virtual QString iconName ()
 
virtual bool isNull ()
 
virtual QPixmap scaledPixmap (const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale)
 
virtual void virtual_hook (int id, void *data)
 

Static Public Member Functions

static Q_GUI_EXPORT QIconLoaderEngineEntryentryForSize (const QThemeIconInfo &info, const QSize &size, int scale=1)
 

Private Member Functions

QString key () const override
 \variable QIconEngine::ScaledPixmapArgument::size
 

Friends

class QIconLoader
 

Additional Inherited Members

- Public Types inherited from QIconEngine
enum  IconEngineHook { IsNullHook = 3 , ScaledPixmapHook }
 
- Protected Member Functions inherited from QIconEngine
 QIconEngine (const QIconEngine &other)
 

Detailed Description

An icon engine based on icon entries collected by QIconLoader.

\inmodule QtGui

The design and implementation of QIconLoader is based on the XDG icon specification.

Definition at line 111 of file qiconloader_p.h.

Constructor & Destructor Documentation

◆ QIconLoaderEngine()

QIconLoaderEngine::QIconLoaderEngine ( const QString iconName = QString())

Definition at line 705 of file qiconloader.cpp.

◆ ~QIconLoaderEngine()

QIconLoaderEngine::~QIconLoaderEngine ( )
default

Member Function Documentation

◆ actualSize()

QSize QIconLoaderEngine::actualSize ( const QSize size,
QIcon::Mode  mode,
QIcon::State  state 
)
overridevirtual

Returns the actual size of the icon the engine provides for the requested size, mode and state.

The default implementation returns the given size.

Reimplemented from QIconEngine.

Definition at line 823 of file qiconloader.cpp.

References QIcon::actualSize(), dir, entryForSize(), QIconDirInfo::Fallback, Q_UNUSED, qMin(), QIconDirInfo::Scalable, QString::size(), and state.

+ Here is the call graph for this function:

◆ availableSizes()

QList< QSize > QIconLoaderEngine::availableSizes ( QIcon::Mode  mode,
QIcon::State  state 
)
overridevirtual
Since
4.5

Returns sizes of all images that are contained in the engine for the specific mode and state.

Reimplemented from QIconEngine.

Definition at line 926 of file qiconloader.cpp.

References QIcon::availableSizes(), QThemeIconInfo::entries, QIconDirInfo::Fallback, Q_UNUSED, and state.

+ Here is the call graph for this function:

◆ clone()

QIconEngine * QIconLoaderEngine::clone ( ) const
overridevirtual

Reimplement this method to return a clone of this icon engine.

Implements QIconEngine.

Definition at line 713 of file qiconloader.cpp.

◆ entryForSize()

QIconLoaderEngineEntry * QIconLoaderEngine::entryForSize ( const QThemeIconInfo info,
const QSize size,
int  scale = 1 
)
static

Definition at line 790 of file qiconloader.cpp.

References closestMatch(), directoryMatchesSize(), directorySizeDistance(), info, and qMin().

Referenced by actualSize(), pixmap(), scaledPixmap(), and QQuickIconImagePrivate::updateIcon().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ iconName()

QString QIconLoaderEngine::iconName ( )
overridevirtual
Since
4.7

Returns the name used to create the engine, if available.

Reimplemented from QIconEngine.

Definition at line 909 of file qiconloader.cpp.

References QThemeIconInfo::iconName.

◆ isNull()

bool QIconLoaderEngine::isNull ( )
overridevirtual
Since
5.7

Returns true if this icon engine represent a null QIcon.

Reimplemented from QIconEngine.

Definition at line 914 of file qiconloader.cpp.

References QThemeIconInfo::entries.

◆ key()

QString QIconLoaderEngine::key ( ) const
overrideprivatevirtual

\variable QIconEngine::ScaledPixmapArgument::size

The requested size of the pixmap.

\variable QIconEngine::ScaledPixmapArgument::mode

The requested mode of the pixmap.

See also
QIcon::Mode

\variable QIconEngine::ScaledPixmapArgument::state

The requested state of the pixmap.

See also
QIcon::State

\variable QIconEngine::ScaledPixmapArgument::scale

The requested scale of the pixmap.

\variable QIconEngine::ScaledPixmapArgument::pixmap

The pixmap that is the best match for the given \l size, \l mode, \l state, and \l scale. This is an output parameter that is set after calling \l virtual_hook().

Returns a key that identifies this icon engine.

Reimplemented from QIconEngine.

Definition at line 904 of file qiconloader.cpp.

◆ paint()

void QIconLoaderEngine::paint ( QPainter painter,
const QRect rect,
QIcon::Mode  mode,
QIcon::State  state 
)
overridevirtual

Uses the given painter to paint the icon with the required mode and state into the rectangle rect.

Implements QIconEngine.

Definition at line 724 of file qiconloader.cpp.

References QPainter::device(), QPaintDevice::devicePixelRatio(), QPainter::drawPixmap(), painter, pixmap, rect, and state.

+ Here is the call graph for this function:

◆ pixmap()

QPixmap QIconLoaderEngine::pixmap ( const QSize size,
QIcon::Mode  mode,
QIcon::State  state 
)
overridevirtual

Returns the icon as a pixmap with the required size, mode, and state.

The default implementation creates a new pixmap and calls paint() to fill it.

Reimplemented from QIconEngine.

Definition at line 894 of file qiconloader.cpp.

References entryForSize(), and state.

+ Here is the call graph for this function:

◆ scaledPixmap()

QPixmap QIconLoaderEngine::scaledPixmap ( const QSize size,
QIcon::Mode  mode,
QIcon::State  state,
qreal  scale 
)
overridevirtual
Since
5.9

Returns a pixmap for the given size, mode, state and scale.

The scale argument is typically equal to the \l {High DPI} {device pixel ratio} of the display.

Note
Some engines may cast scale to an integer.
See also
ScaledPixmapArgument

Reimplemented from QIconEngine.

Definition at line 919 of file qiconloader.cpp.

References entryForSize(), qCeil(), and state.

+ Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ QIconLoader

friend class QIconLoader
friend

Definition at line 138 of file qiconloader_p.h.


The documentation for this class was generated from the following files: