Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_node_visitor.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2005 C. Boemann <cbo@boemann.dk>
3 * SPDX-FileCopyrightText: 2007 Boudewijn Rempt <boud@valdyas.org>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7#ifndef KIS_NODE_VISITOR_H_
8#define KIS_NODE_VISITOR_H_
9
10#include "kritaimage_export.h"
11
12class KisNode;
13class KisPaintLayer;
14class KisGroupLayer;
17class KisCloneLayer;
18class KisFilterMask;
23class KisColorizeMask;
24
25
26class KRITAIMAGE_EXPORT KisNodeVisitor
27{
28public:
30 virtual ~KisNodeVisitor() {}
31
32public:
33 virtual bool visit(KisNode *node) = 0;
34
35 virtual bool visit(KisPaintLayer *layer) = 0;
36
37 virtual bool visit(KisGroupLayer *layer) = 0;
38
39 virtual bool visit(KisAdjustmentLayer *layer) = 0;
40
41 virtual bool visit(KisExternalLayer *layer) = 0;
42
43 virtual bool visit(KisGeneratorLayer *layer) = 0;
44
45 virtual bool visit(KisCloneLayer *layer) = 0;
46
47 virtual bool visit(KisFilterMask *mask) = 0;
48
49 virtual bool visit(KisTransformMask *mask) = 0;
50
51 virtual bool visit(KisTransparencyMask *mask) = 0;
52
53 virtual bool visit(KisSelectionMask *mask) = 0;
54
55 virtual bool visit(KisColorizeMask *mask) = 0;
56
57protected:
58
68 bool visitAll(KisNode * node, bool breakOnFail = false);
69
79 bool visitAllInverse(KisNode * node, bool breakOnFail = false);
80};
81
82
83#endif // KIS_ NODE_VISITOR_H_
84
virtual bool visit(KisColorizeMask *mask)=0
virtual bool visit(KisAdjustmentLayer *layer)=0
virtual bool visit(KisExternalLayer *layer)=0
virtual bool visit(KisTransparencyMask *mask)=0
virtual bool visit(KisSelectionMask *mask)=0
virtual bool visit(KisGroupLayer *layer)=0
virtual bool visit(KisGeneratorLayer *layer)=0
virtual bool visit(KisTransformMask *mask)=0
virtual bool visit(KisNode *node)=0
virtual bool visit(KisFilterMask *mask)=0
virtual bool visit(KisPaintLayer *layer)=0
virtual bool visit(KisCloneLayer *layer)=0
virtual ~KisNodeVisitor()