File indexing completed on 2024-05-26 04:33:34

0001 /*
0002  *  SPDX-FileCopyrightText: 2006 Cyrille Berger <cberger@cberger.net>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #ifndef KIS_OPEN_RASTER_STACK_LOAD_VISITOR_H_
0007 #define KIS_OPEN_RASTER_STACK_LOAD_VISITOR_H_
0008 
0009 #include "kis_global.h"
0010 #include "kis_types.h"
0011 
0012 class QDomElement;
0013 
0014 class KisUndoStore;
0015 class KisOpenRasterLoadContext;
0016 
0017 class KisOpenRasterStackLoadVisitor
0018 {
0019 public:
0020     KisOpenRasterStackLoadVisitor(KisUndoStore *undoStore, KisOpenRasterLoadContext* orlc);
0021     virtual ~KisOpenRasterStackLoadVisitor();
0022 
0023 public:
0024     void loadImage();
0025     void loadPaintLayer(const QDomElement& elem, KisPaintLayerSP pL);
0026     void loadAdjustmentLayer(const QDomElement& elem, KisAdjustmentLayerSP pL);
0027     void loadGroupLayer(const QDomElement& elem, KisGroupLayerSP groupLayer);
0028     KisImageSP image();
0029     vKisNodeSP activeNodes();
0030 private:
0031     void loadLayerInfo(const QDomElement& elem, KisLayerSP layer);
0032     struct Private;
0033     Private* const d;
0034 };
0035 
0036 
0037 #endif // KIS_LAYER_VISITOR_H_
0038