Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_merge_walker.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2009 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#ifndef __KIS_MERGE_WALKER_H
8
#define __KIS_MERGE_WALKER_H
9
10
#include "
kis_types.h
"
11
#include "
kis_base_rects_walker.h
"
12
13
class
KisMergeWalker
;
14
typedef
KisSharedPtr<KisMergeWalker>
KisMergeWalkerSP
;
15
16
class
KRITAIMAGE_EXPORT
KisMergeWalker
:
public
virtual
KisBaseRectsWalker
17
{
18
19
public
:
27
enum
Flag
{
28
DEFAULT
= 0,
29
NO_FILTHY = 0x1,
30
CLONES_DONT_INVALIDATE_FRAMES = 0x2
31
};
32
33
Q_DECLARE_FLAGS
(Flags, Flag)
34
35
KisMergeWalker
(QRect cropRect, Flags flags =
DEFAULT
);
36
37
~KisMergeWalker
()
override
;
38
39
UpdateType
type
()
const override
;
40
41
protected
:
42
KisMergeWalker
() : m_flags(
DEFAULT
) {}
43
KisMergeWalker
(Flags flags) : m_flags(flags) {}
44
52
void
startTrip
(
KisProjectionLeafSP
startWith)
override
;
53
54
using
KisBaseRectsWalker::startTrip
;
55
56
void
startTripWithMask(
KisProjectionLeafSP
filthyMask, KisMergeWalker::Flags flags);
57
58
private
:
59
void
startTripImpl(
KisProjectionLeafSP
startLeaf, Flags flags);
60
61
private
:
68
void
visitHigherNode(
KisProjectionLeafSP
leaf, NodePosition positionToFilthy);
69
75
void
visitLowerNode(
KisProjectionLeafSP
leaf);
76
77
private
:
78
const
Flags
m_flags
;
79
};
80
81
Q_DECLARE_OPERATORS_FOR_FLAGS
(KisMergeWalker::Flags)
82
83
#endif
/* __KIS_MERGE_WALKER_H */
84
KisBaseRectsWalker
Definition
kis_base_rects_walker.h:22
KisBaseRectsWalker::Q_DECLARE_FLAGS
Q_DECLARE_FLAGS(SubtreeVisitFlags, SubtreeVisitFlag)
KisBaseRectsWalker::type
virtual UpdateType type() const =0
KisBaseRectsWalker::startTrip
virtual void startTrip(KisProjectionLeafSP startWith)=0
KisMergeWalker
Definition
kis_merge_walker.h:17
KisMergeWalker::KisMergeWalker
KisMergeWalker(Flags flags)
Definition
kis_merge_walker.h:43
KisMergeWalker::KisMergeWalker
KisMergeWalker()
Definition
kis_merge_walker.h:42
KisMergeWalker::m_flags
const Flags m_flags
Definition
kis_merge_walker.h:78
KisMergeWalker::Flag
Flag
Definition
kis_merge_walker.h:27
KisSharedPtr
Definition
kis_shared_ptr.h:57
QSharedPointer< KisProjectionLeaf >
DEFAULT
#define DEFAULT(c)
Definition
kcolorscheme.cpp:247
kis_base_rects_walker.h
Q_DECLARE_OPERATORS_FOR_FLAGS
Q_DECLARE_OPERATORS_FOR_FLAGS(KisBaseRectsWalker::SubtreeVisitFlags)
KisMergeWalkerSP
KisSharedPtr< KisMergeWalker > KisMergeWalkerSP
Definition
kis_merge_walker.h:14
kis_types.h
libs
image
kis_merge_walker.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52