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

#include <qicon_p.h>

+ Inheritance diagram for QPixmapIconEngine:
+ Collaboration diagram for QPixmapIconEngine:

Public Member Functions

 QPixmapIconEngine ()
 
 QPixmapIconEngine (const QPixmapIconEngine &)
 
 ~QPixmapIconEngine ()
 
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.
 
QPixmap scaledPixmap (const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale) override
 
QPixmapIconEngineEntrybestMatch (const QSize &size, qreal scale, QIcon::Mode mode, QIcon::State state, bool sizeOnly)
 
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.
 
QList< QSizeavailableSizes (QIcon::Mode mode, QIcon::State state) override
 
void addPixmap (const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state) override
 Called by QIcon::addPixmap().
 
void addFile (const QString &fileName, const QSize &size, QIcon::Mode mode, QIcon::State state) override
 Called by QIcon::addFile().
 
QString key () const override
 \variable QIconEngine::ScaledPixmapArgument::size
 
QIconEngineclone () const override
 Reimplement this method to return a clone of this icon engine.
 
bool read (QDataStream &in) override
 Reads icon engine contents from the QDataStream in.
 
bool write (QDataStream &out) const override
 Writes the contents of this engine to the QDataStream out.
 
- 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)
 

Friends

class QIconThemeEngine
 
Q_GUI_EXPORT QDataStreamoperator<< (QDataStream &s, const QIcon &icon)
 

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

Definition at line 74 of file qicon_p.h.

Constructor & Destructor Documentation

◆ QPixmapIconEngine() [1/2]

QPixmapIconEngine::QPixmapIconEngine ( )

Definition at line 130 of file qicon.cpp.

Referenced by clone().

+ Here is the caller graph for this function:

◆ QPixmapIconEngine() [2/2]

QPixmapIconEngine::QPixmapIconEngine ( const QPixmapIconEngine other)

Definition at line 134 of file qicon.cpp.

◆ ~QPixmapIconEngine()

QPixmapIconEngine::~QPixmapIconEngine ( )

Definition at line 139 of file qicon.cpp.

Member Function Documentation

◆ actualSize()

QSize QPixmapIconEngine::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 328 of file qicon.cpp.

References actualSize(), bestMatch(), QSize::height(), QSize::isNull(), Qt::KeepAspectRatio, QSize::scale(), QPixmapIconEngineEntry::size, state, and QSize::width().

Referenced by actualSize(), and scaledPixmap().

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

◆ addFile()

void QPixmapIconEngine::addFile ( const QString fileName,
const QSize size,
QIcon::Mode  mode,
QIcon::State  state 
)
overridevirtual

Called by QIcon::addFile().

Adds a specialized pixmap from the file with the given fileName, size, mode and state. The default pixmap-based engine stores any supplied file names, and it loads the pixmaps on demand instead of using scaled pixmaps if the size of a pixmap matches the size of icon requested. Custom icon engines that implement scalable vector formats are free to ignores any extra files.

Reimplemented from QIconEngine.

Definition at line 420 of file qicon.cpp.

References QFileInfo::absoluteFilePath(), QList< T >::append(), QList< T >::at(), fileName, findBySize(), i, QList< T >::isEmpty(), origIcoDepth(), position(), and state.

Referenced by read().

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

◆ addPixmap()

void QPixmapIconEngine::addPixmap ( const QPixmap pixmap,
QIcon::Mode  mode,
QIcon::State  state 
)
overridevirtual

Called by QIcon::addPixmap().

Adds a specialized pixmap for the given mode and state. The default pixmap-based engine stores any supplied pixmaps, and it uses them instead of scaled pixmaps if the size of a pixmap matches the size of icon requested. Custom icon engines that implement scalable vector formats are free to ignores any extra pixmaps.

Reimplemented from QIconEngine.

Definition at line 363 of file qicon.cpp.

References QString::clear(), QPixmapIconEngineEntry::fileName, QPixmapIconEngineEntry::pixmap, pixmap, QPixmapIconEngineEntry::scale, QPixmapIconEngineEntry::size, and state.

+ Here is the call graph for this function:

◆ availableSizes()

QList< QSize > QPixmapIconEngine::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.

Reimplemented in QWindowsFileIconEngine.

Definition at line 348 of file qicon.cpp.

References QPixmapIconEngineEntry::fileName, i, QSize::isEmpty(), QPixmap::isNull(), QPixmapIconEngineEntry::mode, QPixmapIconEngineEntry::pixmap, QPixmapIconEngineEntry::size, QPixmap::size(), QList< T >::size(), QPixmapIconEngineEntry::state, and state.

Referenced by QAbstractFileIconEngine::actualSize().

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

◆ bestMatch()

QPixmapIconEngineEntry * QPixmapIconEngine::bestMatch ( const QSize size,
qreal  scale,
QIcon::Mode  mode,
QIcon::State  state,
bool  sizeOnly 
)

Definition at line 211 of file qicon.cpp.

References QIcon::Active, QIcon::Disabled, QPixmapIconEngineEntry::fileName, QPixmap::isNull(), QSize::isNull(), QSize::isValid(), QIcon::Normal, QIcon::Off, QIcon::On, QPixmapIconEngineEntry::pixmap, QIcon::Selected, QPixmapIconEngineEntry::size, QPixmap::size(), and state.

Referenced by actualSize(), and scaledPixmap().

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

◆ clone()

QIconEngine * QPixmapIconEngine::clone ( ) const
overridevirtual

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

Implements QIconEngine.

Definition at line 470 of file qicon.cpp.

References QPixmapIconEngine().

+ Here is the call graph for this function:

◆ key()

QString QPixmapIconEngine::key ( ) const
overridevirtual

\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 465 of file qicon.cpp.

Referenced by QWindowsFileIconEngine::filePixmap().

+ Here is the caller graph for this function:

◆ paint()

void QPixmapIconEngine::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 143 of file qicon.cpp.

References QPainter::device(), dpr(), QPainter::drawPixmap(), painter, qApp, rect, scaledPixmap(), and state.

+ Here is the call graph for this function:

◆ pixmap()

QPixmap QPixmapIconEngine::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 263 of file qicon.cpp.

References scaledPixmap(), and state.

+ Here is the call graph for this function:

◆ read()

bool QPixmapIconEngine::read ( QDataStream in)
overridevirtual

Reads icon engine contents from the QDataStream in.

Returns true if the contents were read; otherwise returns false.

QIconEngine's default implementation always return false.

Reimplemented from QIconEngine.

Definition at line 475 of file qicon.cpp.

References addFile(), QList< T >::clear(), fileName, i, QPixmapIconEngineEntry::pixmap, and state.

+ Here is the call graph for this function:

◆ scaledPixmap()

QPixmap QPixmapIconEngine::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 268 of file qicon.cpp.

References QIcon::Active, actualSize(), QList< T >::at(), bestMatch(), QPixmap::cacheKey(), QPalette::cacheKey(), QPixmapCache::find(), QObjectPrivate::get(), QSize::height(), Qt::IgnoreAspectRatio, QPixmapCache::insert(), QList< T >::isEmpty(), QPixmap::isNull(), QSize::isNull(), Qt::KeepAspectRatio, QPixmapIconEngineEntry::mode, QIcon::Normal, QGuiApplication::palette(), QPixmapIconEngineEntry::pixmap, pixmap, qApp, QList< T >::remove(), QSize::scale(), QPixmap::scaled(), QPixmap::size(), QList< T >::size(), Qt::SmoothTransformation, state, and QSize::width().

Referenced by paint(), and pixmap().

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

◆ write()

bool QPixmapIconEngine::write ( QDataStream out) const
overridevirtual

Writes the contents of this engine to the QDataStream out.

Returns true if the contents were written; otherwise returns false.

QIconEngine's default implementation always return false.

Reimplemented from QIconEngine.

Definition at line 506 of file qicon.cpp.

References QList< T >::at(), QPixmapIconEngineEntry::fileName, i, QPixmap::isNull(), QPixmapIconEngineEntry::mode, out, QPixmapIconEngineEntry::pixmap, QList< T >::size(), QPixmapIconEngineEntry::size, and QPixmapIconEngineEntry::state.

+ Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ operator<<

Q_GUI_EXPORT QDataStream & operator<< ( QDataStream s,
const QIcon icon 
)
friend

Definition at line 1393 of file qicon.cpp.

◆ QIconThemeEngine

friend class QIconThemeEngine
friend

Definition at line 99 of file qicon_p.h.


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