File indexing completed on 2024-05-12 13:04:45
0001 /* 0002 * This file is part of the KDE project 0003 * 0004 * SPDX-FileCopyrightText: 2013 Shantanu Tushar <shantanu@kde.org> 0005 * SPDX-FileCopyrightText: 2013 Sujith Haridasan <sujith.h@gmail.com> 0006 * 0007 * SPDX-License-Identifier: LGPL-2.0-or-later 0008 * 0009 */ 0010 0011 #include "CQImageProvider.h" 0012 0013 0014 const char CQImageProvider::identificationString[] = "cqimage"; 0015 CQImageProvider *CQImageProvider::s_imageProvider = 0; 0016 0017 CQImageProvider::CQImageProvider() 0018 : QDeclarativeImageProvider(Image) 0019 { 0020 } 0021 0022 CQImageProvider::~CQImageProvider() 0023 { 0024 0025 } 0026 0027 QImage CQImageProvider::requestImage(const QString& id, QSize* size, const QSize& requestedSize) 0028 { 0029 if (m_images.contains(id)) { 0030 QImage image = m_images.value(id); 0031 *size = image.size(); 0032 return requestedSize.isValid() ? image.scaled(requestedSize, Qt::KeepAspectRatioByExpanding) : image; 0033 } 0034 *size = QSize(); 0035 return QImage(); 0036 } 0037 0038 void CQImageProvider::addImage(const QString& id, const QImage& image) 0039 { 0040 m_images.insert(id, image); 0041 } 0042 0043 bool CQImageProvider::containsId(const QString& id) 0044 { 0045 return m_images.contains(id); 0046 } 0047 0048 void CQImageProvider::clearCache() 0049 { 0050 m_images.clear(); 0051 }