diff options
Diffstat (limited to 'src/gui/image/qiconengine.cpp')
-rw-r--r-- | src/gui/image/qiconengine.cpp | 127 |
1 files changed, 83 insertions, 44 deletions
diff --git a/src/gui/image/qiconengine.cpp b/src/gui/image/qiconengine.cpp index f1004b4d2a..78273bdeb3 100644 --- a/src/gui/image/qiconengine.cpp +++ b/src/gui/image/qiconengine.cpp @@ -1,43 +1,8 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #include "qiconengine.h" +#include "qiconengine_p.h" #include "qpainter.h" QT_BEGIN_NAMESPACE @@ -160,8 +125,8 @@ void QIconEngine::addFile(const QString &/*fileName*/, const QSize &/*size*/, QI was added in Qt 5.7. \value ScaledPixmapHook Provides a way to get a pixmap that is scaled - according to the given scale (typically equal to the \l {Glossary Of High - DPI Terms}{device pixel ratio}). The \a data argument of the virtual_hook() + according to the given scale (typically equal to the \l {High + DPI}{device pixel ratio}). The \a data argument of the virtual_hook() function is a \l ScaledPixmapArgument pointer that contains both the input and output arguments. This enum value was added in Qt 5.9. @@ -178,8 +143,8 @@ void QIconEngine::addFile(const QString &/*fileName*/, const QSize &/*size*/, QI the \a id parameter is QIconEngine::ScaledPixmapHook. The struct provides a way for icons created via \l QIcon::fromTheme() - to return pixmaps that are designed for the current \l {Glossary Of High - DPI Terms}{device pixel ratio}. The scale for such an icon is specified + to return pixmaps that are designed for the current \l {High + DPI}{device pixel ratio}. The scale for such an icon is specified using the \l {Icon Theme Specification - Directory Layout}{Scale directory key} in the appropriate \c index.theme file. @@ -323,8 +288,8 @@ bool QIconEngine::isNull() Returns a pixmap for the given \a size, \a mode, \a state and \a scale. - The \a scale argument is typically equal to the \l {Glossary Of High DPI - Terms}{device pixel ratio} of the display. + The \a scale argument is typically equal to the \l {High DPI} + {device pixel ratio} of the display. \include qiconengine-virtualhookhelper.qdocinc @@ -343,4 +308,78 @@ QPixmap QIconEngine::scaledPixmap(const QSize &size, QIcon::Mode mode, QIcon::St return arg.pixmap; } + +// ------- QProxyIconEngine ----- + +void QProxyIconEngine::paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) +{ + proxiedEngine()->paint(painter, rect, mode, state); +} + +QSize QProxyIconEngine::actualSize(const QSize &size, QIcon::Mode mode, QIcon::State state) +{ + return proxiedEngine()->actualSize(size, mode, state); +} + +QPixmap QProxyIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) +{ + return proxiedEngine()->pixmap(size, mode, state); +} + +void QProxyIconEngine::addPixmap(const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state) +{ + proxiedEngine()->addPixmap(pixmap, mode, state); +} + +void QProxyIconEngine::addFile(const QString &fileName, const QSize &size, QIcon::Mode mode, QIcon::State state) +{ + proxiedEngine()->addFile(fileName, size, mode, state); +} + +QString QProxyIconEngine::key() const +{ + return proxiedEngine()->key(); +} + +QIconEngine *QProxyIconEngine::clone() const +{ + return proxiedEngine()->clone(); +} + +bool QProxyIconEngine::read(QDataStream &in) +{ + return proxiedEngine()->read(in); +} + +bool QProxyIconEngine::write(QDataStream &out) const +{ + return proxiedEngine()->write(out); +} + +QList<QSize> QProxyIconEngine::availableSizes(QIcon::Mode mode, QIcon::State state) +{ + return proxiedEngine()->availableSizes(mode, state); +} + +QString QProxyIconEngine::iconName() +{ + return proxiedEngine()->iconName(); +} + +bool QProxyIconEngine::isNull() +{ + return proxiedEngine()->isNull(); +} + +QPixmap QProxyIconEngine::scaledPixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale) +{ + return proxiedEngine()->scaledPixmap(size, mode, state, scale); +} + +void QProxyIconEngine::virtual_hook(int id, void *data) +{ + proxiedEngine()->virtual_hook(id, data); +} + + QT_END_NAMESPACE |