Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_count_visitor.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2007 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef KIS_COUNT_VISITOR
7#define KIS_COUNT_VISITOR
8
9#include "kritaimage_export.h"
10
11#include <KoProperties.h>
12
13#include "kis_node_visitor.h"
14
15#include "kis_node.h"
16#include "kis_paint_layer.h"
17#include "kis_group_layer.h"
20#include "kis_clone_layer.h"
21#include "kis_filter_mask.h"
22#include "kis_transform_mask.h"
24#include "kis_selection_mask.h"
34class KRITAIMAGE_EXPORT KisCountVisitor : public KisNodeVisitor
35{
36public:
37
39
40 KisCountVisitor(const QStringList & nodeTypes, const KoProperties & properties)
41 : m_nodeTypes(nodeTypes)
42 , m_properties(properties)
43 , m_count(0) {
44 }
45
46 quint32 count() {
47 return m_count;
48 }
49
50 bool visit(KisNode* node) override {
51 return check(node);
52 }
53
54 bool visit(KisPaintLayer *layer) override {
55 return check(layer);
56 }
57
58 bool visit(KisGroupLayer *layer) override {
59 return check(layer);
60 }
61
62
63 bool visit(KisAdjustmentLayer *layer) override {
64 return check(layer);
65 }
66
67
68 bool visit(KisExternalLayer *layer) override {
69 return check(layer);
70 }
71
72
73 bool visit(KisCloneLayer *layer) override {
74 return check(layer);
75 }
76
77
78 bool visit(KisFilterMask *mask) override {
79 return check(mask);
80 }
81
82 bool visit(KisTransformMask *mask) override {
83 return check(mask);
84 }
85
86 bool visit(KisTransparencyMask *mask) override {
87 return check(mask);
88 }
89
90
91 bool visit(KisGeneratorLayer * layer) override {
92 return check(layer);
93 }
94
95 bool visit(KisSelectionMask* mask) override {
96 return check(mask);
97 }
98
99 bool visit(KisColorizeMask* mask) override {
100 return check(mask);
101 }
102
103private:
104
105 bool inList(KisNode* node);
106 bool check(KisNode * node);
107
110 quint32 m_count;
111};
112#endif
bool visit(KisFilterMask *mask) override
KisCountVisitor(const QStringList &nodeTypes, const KoProperties &properties)
bool visit(KisTransformMask *mask) override
bool visit(KisColorizeMask *mask) override
const KoProperties m_properties
bool visit(KisAdjustmentLayer *layer) override
const QStringList m_nodeTypes
bool visit(KisTransparencyMask *mask) override
bool visit(KisExternalLayer *layer) override
bool visit(KisGroupLayer *layer) override
bool visit(KisNode *node) override
bool visit(KisGeneratorLayer *layer) override
bool visit(KisSelectionMask *mask) override
bool visit(KisCloneLayer *layer) override
bool visit(KisPaintLayer *layer) override
virtual bool visit(KisNode *node)=0