File indexing completed on 2025-03-09 04:04:47

0001 /*
0002  *  SPDX-FileCopyrightText: 2013 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef __KIS_SIMPLE_PROCESSING_VISITOR_H
0008 #define __KIS_SIMPLE_PROCESSING_VISITOR_H
0009 
0010 #include "kis_processing_visitor.h"
0011 
0012 
0013 class KRITAIMAGE_EXPORT KisSimpleProcessingVisitor : public KisProcessingVisitor
0014 {
0015 public:
0016     ~KisSimpleProcessingVisitor() override;
0017 
0018     void visit(KisNode *node, KisUndoAdapter *undoAdapter) override;
0019     void visit(KisPaintLayer *layer, KisUndoAdapter *undoAdapter) override;
0020     void visit(KisGroupLayer *layer, KisUndoAdapter *undoAdapter) override;
0021     void visit(KisAdjustmentLayer *layer, KisUndoAdapter *undoAdapter) override;
0022     void visit(KisExternalLayer *layer, KisUndoAdapter *undoAdapter) override;
0023     void visit(KisGeneratorLayer *layer, KisUndoAdapter *undoAdapter) override;
0024     void visit(KisCloneLayer *layer, KisUndoAdapter *undoAdapter) override;
0025     void visit(KisFilterMask *mask, KisUndoAdapter *undoAdapter) override;
0026     void visit(KisTransformMask *mask, KisUndoAdapter *undoAdapter) override;
0027     void visit(KisTransparencyMask *mask, KisUndoAdapter *undoAdapter) override;
0028     void visit(KisSelectionMask *mask, KisUndoAdapter *undoAdapter) override;
0029     void visit(KisColorizeMask *mask, KisUndoAdapter *undoAdapter) override;
0030 
0031 protected:
0032     virtual void visitNodeWithPaintDevice(KisNode *node, KisUndoAdapter *undoAdapter) = 0;
0033     virtual void visitExternalLayer(KisExternalLayer *layer, KisUndoAdapter *undoAdapter) = 0;
0034     virtual void visitColorizeMask(KisColorizeMask *mask, KisUndoAdapter *undoAdapter) = 0;
0035 };
0036 
0037 #endif /* __KIS_SIMPLE_PROCESSING_VISITOR_H */