diff options
Diffstat (limited to 'src/gui/image/qplatformpixmap.cpp')
-rw-r--r-- | src/gui/image/qplatformpixmap.cpp | 60 |
1 files changed, 12 insertions, 48 deletions
diff --git a/src/gui/image/qplatformpixmap.cpp b/src/gui/image/qplatformpixmap.cpp index ea4243ba07..a297736095 100644 --- a/src/gui/image/qplatformpixmap.cpp +++ b/src/gui/image/qplatformpixmap.cpp @@ -1,41 +1,5 @@ -/**************************************************************************** -** -** 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 "qplatformpixmap.h" #include <qpa/qplatformintegration.h> @@ -83,7 +47,7 @@ QPlatformPixmap::QPlatformPixmap(PixelType pixelType, int objectId) QPlatformPixmap::~QPlatformPixmap() { - // Sometimes the pixmap cleanup hooks will be called from derrived classes, which will + // Sometimes the pixmap cleanup hooks will be called from derived classes, which will // then set is_cached to false. For example, on X11 Qt GUI needs to delete the GLXPixmap // or EGL Pixmap Surface for a given pixmap _before_ the native X11 pixmap is deleted, // otherwise some drivers will leak the GL surface. In this case, QX11PlatformPixmap will @@ -101,10 +65,10 @@ QPlatformPixmap *QPlatformPixmap::createCompatiblePlatformPixmap() const return d; } -static QImage makeBitmapCompliantIfNeeded(QPlatformPixmap *d, const QImage &image, Qt::ImageConversionFlags flags) +static QImage makeBitmapCompliantIfNeeded(QPlatformPixmap *d, QImage image, Qt::ImageConversionFlags flags) { if (d->pixelType() == QPlatformPixmap::BitmapType) { - QImage img = image.convertToFormat(QImage::Format_MonoLSB, flags); + QImage img = std::move(image).convertToFormat(QImage::Format_MonoLSB, flags); // make sure image.color(0) == Qt::color0 (white) // and image.color(1) == Qt::color1 (black) @@ -134,7 +98,7 @@ bool QPlatformPixmap::fromFile(const QString &fileName, const char *format, QImage image = QImageReader(fileName, format).read(); if (image.isNull()) return false; - fromImage(makeBitmapCompliantIfNeeded(this, image, flags), flags); + fromImage(makeBitmapCompliantIfNeeded(this, std::move(image), flags), flags); return !isNull(); } @@ -146,7 +110,7 @@ bool QPlatformPixmap::fromData(const uchar *buf, uint len, const char *format, Q QImage image = QImageReader(&b, format).read(); if (image.isNull()) return false; - fromImage(makeBitmapCompliantIfNeeded(this, image, flags), flags); + fromImage(makeBitmapCompliantIfNeeded(this, std::move(image), flags), flags); return !isNull(); } @@ -168,9 +132,9 @@ QBitmap QPlatformPixmap::mask() const if (!hasAlphaChannel()) return QBitmap(); - const QImage img = toImage(); + QImage img = toImage(); bool shouldConvert = (img.format() != QImage::Format_ARGB32 && img.format() != QImage::Format_ARGB32_Premultiplied); - const QImage image = (shouldConvert ? img.convertToFormat(QImage::Format_ARGB32_Premultiplied) : img); + const QImage image = (shouldConvert ? std::move(img).convertToFormat(QImage::Format_ARGB32_Premultiplied) : img); const int w = image.width(); const int h = image.height(); @@ -196,7 +160,7 @@ QBitmap QPlatformPixmap::mask() const } } - return QBitmap::fromImage(mask); + return QBitmap::fromImage(std::move(mask)); } void QPlatformPixmap::setMask(const QBitmap &mask) @@ -204,7 +168,7 @@ void QPlatformPixmap::setMask(const QBitmap &mask) QImage image = toImage(); if (mask.size().isEmpty()) { if (image.depth() != 1) { // hw: ???? - image = image.convertToFormat(QImage::Format_RGB32); + image = std::move(image).convertToFormat(QImage::Format_RGB32); } } else { const int w = image.width(); @@ -224,7 +188,7 @@ void QPlatformPixmap::setMask(const QBitmap &mask) } default: { const QImage imageMask = mask.toImage().convertToFormat(QImage::Format_MonoLSB); - image = image.convertToFormat(QImage::Format_ARGB32_Premultiplied); + image = std::move(image).convertToFormat(QImage::Format_ARGB32_Premultiplied); for (int y = 0; y < h; ++y) { const uchar *mscan = imageMask.scanLine(y); QRgb *tscan = (QRgb *)image.scanLine(y); |