![]() |
Qt 6.x
The Qt SDK
|
#include <qsvgiconengine.h>
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 | |
QIconEngine * | clone () 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 |
![]() | |
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 QIconEngine * | clone () 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< QSize > | availableSizes (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) |
Additional Inherited Members | |
![]() | |
enum | IconEngineHook { IsNullHook = 3 , ScaledPixmapHook } |
![]() | |
QIconEngine (const QIconEngine &other) | |
Definition at line 14 of file qsvgiconengine.h.
QSvgIconEngine::QSvgIconEngine | ( | ) |
Definition at line 55 of file qsvgiconengine.cpp.
Referenced by clone().
QSvgIconEngine::QSvgIconEngine | ( | const QSvgIconEngine & | other | ) |
Definition at line 60 of file qsvgiconengine.cpp.
References QSvgIconEnginePrivate::addedPixmaps, other(), QSvgIconEnginePrivate::svgBuffers, and QSvgIconEnginePrivate::svgFiles.
QSvgIconEngine::~QSvgIconEngine | ( | ) |
Definition at line 71 of file qsvgiconengine.cpp.
|
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().
|
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 QFileInfo::absoluteFilePath(), addPixmap(), CompressedSvgFile, fi, fileName, fileType(), QSvgIconEnginePrivate::hashKey(), QHash< Key, T >::insert(), QPixmap::isNull(), QSvgRenderer::isValid(), OtherFile, renderer, state, QSvgIconEnginePrivate::stepSerialNum(), SvgFile, and QSvgIconEnginePrivate::svgFiles.
|
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().
|
overridevirtual |
Reimplement this method to return a clone of this icon engine.
Implements QIconEngine.
Definition at line 277 of file qsvgiconengine.cpp.
References QSvgIconEngine().
|
overridevirtual |
\variable QIconEngine::ScaledPixmapArgument::size
The requested size of the pixmap.
\variable QIconEngine::ScaledPixmapArgument::mode
The requested mode of the pixmap.
\variable QIconEngine::ScaledPixmapArgument::state
The requested state of the pixmap.
\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.
|
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.
|
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, QGuiApplicationPrivate::applyQIconStyleHelper(), 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().
|
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(), QDataStream::Qt_4_4, qUncompress(), qWarning, state, and QSvgIconEnginePrivate::svgBuffers.
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.
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().
|
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(), QHash< Key, T >::insert(), QString::isEmpty(), it, QIcon::Normal, QIcon::Off, out, qCompress(), QDataStream::Qt_4_4, QIODeviceBase::ReadOnly, QSvgIconEnginePrivate::svgBuffers, QSvgIconEnginePrivate::svgFiles, and QHash< Key, T >::value().