Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QSvgIconEngine Class Reference

#include <qsvgiconengine.h>

+ Inheritance diagram for QSvgIconEngine:
+ Collaboration diagram for QSvgIconEngine:

Public Member Functions

 QSvgIconEngine ()
 
 QSvgIconEngine (const QSvgIconEngine &other)
 
 ~QSvgIconEngine ()
 
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.
 
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.
 
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.
 
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.
 
void virtual_hook (int id, void *data) override
 
- Public Member Functions inherited from QIconEngine
 QIconEngine ()
 
virtual ~QIconEngine ()
 Destroys the icon engine.
 
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)
 

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 14 of file qsvgiconengine.h.

Constructor & Destructor Documentation

◆ QSvgIconEngine() [1/2]

QSvgIconEngine::QSvgIconEngine ( )

Definition at line 55 of file qsvgiconengine.cpp.

Referenced by clone().

+ Here is the caller graph for this function:

◆ QSvgIconEngine() [2/2]

QSvgIconEngine::QSvgIconEngine ( const QSvgIconEngine & other)

Definition at line 60 of file qsvgiconengine.cpp.

References QSvgIconEnginePrivate::addedPixmaps, other(), QSvgIconEnginePrivate::svgBuffers, and QSvgIconEnginePrivate::svgFiles.

+ Here is the call graph for this function:

◆ ~QSvgIconEngine()

QSvgIconEngine::~QSvgIconEngine ( )

Definition at line 71 of file qsvgiconengine.cpp.

Member Function Documentation

◆ actualSize()

QSize QSvgIconEngine::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 76 of file qsvgiconengine.cpp.

References QSvgIconEnginePrivate::addedPixmaps, QSvgIconEnginePrivate::hashKey(), QPixmap::isNull(), pixmap, QPixmap::size(), state, and QHash< Key, T >::value().

Referenced by pixmap().

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

◆ addFile()

void QSvgIconEngine::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 238 of file qsvgiconengine.cpp.

References addPixmap(), CompressedSvgFile, fileName, fileType(), QSvgIconEnginePrivate::hashKey(), QHash< Key, T >::insert(), QPixmap::isNull(), QSvgRenderer::isValid(), OtherFile, renderer, state, QSvgIconEnginePrivate::stepSerialNum(), SvgFile, and QSvgIconEnginePrivate::svgFiles.

+ Here is the call graph for this function:

◆ addPixmap()

void QSvgIconEngine::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 208 of file qsvgiconengine.cpp.

References QSvgIconEnginePrivate::addedPixmaps, QSvgIconEnginePrivate::hashKey(), QHash< Key, T >::insert(), pixmap, state, and QSvgIconEnginePrivate::stepSerialNum().

Referenced by addFile().

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

◆ clone()

QIconEngine * QSvgIconEngine::clone ( ) const
overridevirtual

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

Implements QIconEngine.

Definition at line 277 of file qsvgiconengine.cpp.

References QSvgIconEngine().

+ Here is the call graph for this function:

◆ key()

QString QSvgIconEngine::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 272 of file qsvgiconengine.cpp.

◆ paint()

void QSvgIconEngine::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 263 of file qsvgiconengine.cpp.

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

+ Here is the call graph for this function:

◆ pixmap()

QPixmap QSvgIconEngine::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 160 of file qsvgiconengine.cpp.

References actualSize(), QSvgIconEnginePrivate::addedPixmaps, QSvgRenderer::defaultSize(), QPixmapCache::find(), QImage::Format_ARGB32_Premultiplied, QPixmap::fromImage(), QSvgIconEnginePrivate::hashKey(), QPixmapCache::insert(), QGuiApplicationPrivate::instance(), QCoreApplication::instance(), QSize::isEmpty(), QPixmap::isNull(), QSize::isNull(), QSvgRenderer::isValid(), Qt::KeepAspectRatio, QSvgIconEnginePrivate::loadDataForModeAndState(), QIcon::Normal, QSvgIconEnginePrivate::pmcKey(), QSvgRenderer::render(), renderer, QSize::scale(), QPixmap::size(), state, and QHash< Key, T >::value().

+ Here is the call graph for this function:

◆ read()

bool QSvgIconEngine::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 283 of file qsvgiconengine.cpp.

References QSvgIconEnginePrivate::addedPixmaps, QHash< Key, T >::begin(), QHash< Key, T >::clear(), QHash< Key, T >::end(), fileNames, QSvgIconEnginePrivate::hashKey(), i, QHash< Key, T >::insert(), it, QIcon::Normal, QIcon::Off, pixmap, qCompress(), qUncompress(), qWarning, state, and QSvgIconEnginePrivate::svgBuffers.

+ Here is the call graph for this function:

◆ virtual_hook()

void QSvgIconEngine::virtual_hook ( int id,
void * data )
overridevirtual
Since
4.5

Additional method to allow extending QIconEngine without adding new virtual methods (and without breaking binary compatibility). The actual action and format of data depends on id argument which is in fact a constant from IconEngineHook enum.

See also
IconEngineHook

Reimplemented from QIconEngine.

Definition at line 389 of file qsvgiconengine.cpp.

References QSvgIconEnginePrivate::addedPixmaps, QHash< Key, T >::isEmpty(), QIconEngine::IsNullHook, QSvgIconEnginePrivate::svgBuffers, QSvgIconEnginePrivate::svgFiles, and QIconEngine::virtual_hook().

+ Here is the call graph for this function:

◆ write()

bool QSvgIconEngine::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 341 of file qsvgiconengine.cpp.

References QSvgIconEnginePrivate::addedPixmaps, QHash< Key, T >::cbegin(), QHash< Key, T >::cend(), QSvgIconEnginePrivate::hashKey(), it, QIcon::Normal, QIcon::Off, out, qCompress(), QIODeviceBase::ReadOnly, QSvgIconEnginePrivate::svgBuffers, QSvgIconEnginePrivate::svgFiles, and QHash< Key, T >::value().

+ Here is the call graph for this function:

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