File indexing completed on 2024-05-05 04:22:00

0001 /* SPDX-FileCopyrightText: 2003-2019 The KPhotoAlbum Development Team
0002 
0003    SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 #include "ImageDecoder.h"
0006 
0007 #include <kpabase/FileName.h>
0008 
0009 QList<ImageManager::ImageDecoder *> *ImageManager::ImageDecoder::decoders()
0010 {
0011     static QList<ImageDecoder *> s_decoders;
0012     return &s_decoders;
0013 }
0014 
0015 ImageManager::ImageDecoder::ImageDecoder()
0016 {
0017     decoders()->append(this);
0018 }
0019 
0020 ImageManager::ImageDecoder::~ImageDecoder()
0021 {
0022     decoders()->removeOne(this);
0023 }
0024 
0025 bool ImageManager::ImageDecoder::decode(QImage *img, ImageRequest *request, QSize *fullSize, int dim)
0026 {
0027     for (ImageDecoder *decoder : *decoders()) {
0028         if (decoder->_decode(img, request, fullSize, dim))
0029             return true;
0030     }
0031     return false;
0032 }
0033 
0034 bool ImageManager::ImageDecoder::mightDecode(const DB::FileName &imageFile)
0035 {
0036     for (ImageDecoder *decoder : *decoders()) {
0037         if (decoder->_mightDecode(imageFile))
0038             return true;
0039     }
0040     return false;
0041 }
0042 // vi:expandtab:tabstop=4 shiftwidth=4: