QIconEngine Class

The QIconEngine class provides an abstract base class for QIcon renderers. More...

Header: #include <QIconEngine>
Inherited By:

QIconEngineV2

Public Functions

virtual ~QIconEngine()
virtual QSize actualSize(const QSize & size, QIcon::Mode mode, QIcon::State state)
virtual void addFile(const QString & fileName, const QSize & size, QIcon::Mode mode, QIcon::State state)
virtual void addPixmap(const QPixmap & pixmap, QIcon::Mode mode, QIcon::State state)
virtual void paint(QPainter * painter, const QRect & rect, QIcon::Mode mode, QIcon::State state) = 0
virtual QPixmap pixmap(const QSize & size, QIcon::Mode mode, QIcon::State state)

Detailed Description

The QIconEngine class provides an abstract base class for QIcon renderers.

Use QIconEngineV2 instead.

An icon engine provides the rendering functions for a QIcon. Each icon has a corresponding icon engine that is responsible for drawing the icon with a requested size, mode and state.

The icon is rendered by the paint() function, and the icon can additionally be obtained as a pixmap with the pixmap() function (the default implementation simply uses paint() to achieve this). The addPixmap() function can be used to add new pixmaps to the icon engine, and is used by QIcon to add specialized custom pixmaps.

The paint(), pixmap(), and addPixmap() functions are all virtual, and can therefore be reimplemented in subclasses of QIconEngine.

See also QIconEngineV2 and QIconEnginePlugin.

Member Function Documentation

[virtual] QIconEngine::~QIconEngine()

Destroys the icon engine.

[virtual] QSize QIconEngine::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. The default implementation returns the given size.

[virtual] void QIconEngine::addFile(const QString & fileName, const QSize & size, QIcon::Mode mode, QIcon::State state)

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.

[virtual] void QIconEngine::addPixmap(const QPixmap & pixmap, QIcon::Mode mode, QIcon::State state)

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.

[pure virtual] void QIconEngine::paint(QPainter * painter, const QRect & rect, QIcon::Mode mode, QIcon::State state)

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

[virtual] QPixmap QIconEngine::pixmap(const QSize & size, QIcon::Mode mode, QIcon::State state)

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.

© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.