Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_transparency_mask.cc
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
8
9#include "kis_debug.h"
10
11#include <KoIcon.h>
12#include <kis_icon.h>
13#include <KoColor.h>
14#include <KoColorSpace.h>
16#include "kis_paint_device.h"
17#include "kis_painter.h"
18#include "kis_node_visitor.h"
20#include "kis_image.h"
21
23 : KisEffectMask(image, name)
24{
25}
26
31
35
38 const QRect & rc,
39 PositionToFilthy maskPos,
40 KisRenderPassFlags flags) const
41{
42 Q_UNUSED(maskPos);
43 Q_UNUSED(flags);
44
45 if (src != dst) {
46 KisPainter::copyAreaOptimized(rc.topLeft(), src, dst, rc);
47 src->fill(rc, KoColor::createTransparent(src->colorSpace()));
48 }
49
50 return rc;
51}
52
54{
55 return parent() ? parent()->extent() : QRect();
56}
57
59{
60 return parent() ? parent()->exactBounds() : QRect();
61}
62
64{
69 return KisMask::changeRect(rect, pos);
70}
71
73{
78 return KisMask::needRect(rect, pos);
79}
80
82{
83 return true;
84}
85
87{
88 return KisIconUtils::loadIcon("transparencyMask");
89}
90
92{
93 return v.visit(this);
94}
95
97{
98 return visitor.visit(this, undoAdapter);
99}
100
qreal v
static void copyAreaOptimized(const QPoint &dstPt, KisPaintDeviceSP src, KisPaintDeviceSP dst, const QRect &originalSrcRect)
virtual void visit(KisNode *node, KisUndoAdapter *undoAdapter)=0
QRect changeRect(const QRect &rect, PositionToFilthy pos=N_FILTHY) const override
QRect decorateRect(KisPaintDeviceSP &src, KisPaintDeviceSP &dst, const QRect &rc, PositionToFilthy maskPos, KisRenderPassFlags flags) const override
QRect extent() const override
QRect exactBounds() const override
QIcon icon() const override
bool accept(KisNodeVisitor &v) override
bool paintsOutsideSelection() const override
QRect needRect(const QRect &rect, PositionToFilthy pos=N_FILTHY) const override
KisTransparencyMask(KisImageWSP image, const QString &name)
static KoColor createTransparent(const KoColorSpace *cs)
Definition KoColor.cpp:681
QIcon loadIcon(const QString &name)
virtual QRect exactBounds() const
virtual QRect extent() const
QRect needRect(const QRect &rect, PositionToFilthy pos=N_FILTHY) const override
Definition kis_mask.cc:366
QRect changeRect(const QRect &rect, PositionToFilthy pos=N_FILTHY) const override
Definition kis_mask.cc:386
PositionToFilthy
Definition kis_node.h:58
KisNodeWSP parent
Definition kis_node.cpp:86