File indexing completed on 2024-05-26 04:33:34
0001 /* 0002 * SPDX-FileCopyrightText: 2007 Cyrille Berger <cberger@cberger.net> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "kis_open_raster_load_context.h" 0008 0009 #include <QDomDocument> 0010 0011 #include <KoStore.h> 0012 #include <KoStoreDevice.h> 0013 0014 #include <kis_image.h> 0015 #include <kis_paint_device.h> 0016 #include "kis_png_converter.h" 0017 0018 KisOpenRasterLoadContext::KisOpenRasterLoadContext(KoStore* _store) 0019 : m_store(_store) 0020 { 0021 } 0022 0023 KisImageSP KisOpenRasterLoadContext::loadDeviceData(const QString & filename) 0024 { 0025 if (m_store->open(filename)) { 0026 KoStoreDevice io(m_store); 0027 if (!io.open(QIODevice::ReadOnly)) { 0028 dbgFile << "Could not open for reading:" << filename; 0029 return 0; 0030 } 0031 KisPNGConverter pngConv(0); 0032 pngConv.buildImage(&io); 0033 io.close(); 0034 m_store->close(); 0035 0036 return pngConv.image(); 0037 0038 } 0039 return 0; 0040 } 0041 0042 QDomDocument KisOpenRasterLoadContext::loadStack() 0043 { 0044 m_store->open("stack.xml"); 0045 KoStoreDevice io(m_store); 0046 QDomDocument doc; 0047 doc.setContent(&io, false); 0048 io.close(); 0049 m_store->close(); 0050 return doc; 0051 }