Krita Source Code Documentation
Loading...
Searching...
No Matches
KisEncloseAndFillPainter.h
Go to the documentation of this file.
1/*
2 * KDE. Krita Project.
3 *
4 * SPDX-FileCopyrightText: 2022 Deif Lou <ginoba@gmail.com>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
9#ifndef KISENCLOSEANDFILLPAINTER_H
10#define KISENCLOSEANDFILLPAINTER_H
11
12#include <QPoint>
13#include <QScopedPointer>
14
15#include <kis_pixel_selection.h>
16#include <kis_paint_device.h>
17#include <kis_fill_painter.h>
18#include <KoColor.h>
19#include <kritaimage_export.h>
20
21class KRITAIMAGE_EXPORT KisEncloseAndFillPainter : public KisFillPainter
22{
23public:
83
88 KisEncloseAndFillPainter(const QSize &imageSize);
92 KisEncloseAndFillPainter(KisPaintDeviceSP device, const QSize &imageSize);
93
94 KisEncloseAndFillPainter(KisPaintDeviceSP device, KisSelectionSP selection, const QSize &imageSize);
95
97
108 void encloseAndFillColor(KisPixelSelectionSP enclosingMask, KisPaintDeviceSP referenceDevice);
109
121 void encloseAndFillPattern(KisPixelSelectionSP enclosingMask,
122 KisPaintDeviceSP referenceDevice,
123 QTransform patternTransform = QTransform());
124
135 KisPixelSelectionSP createEncloseAndFillSelection(KisPixelSelectionSP enclosingMask,
136 KisPaintDeviceSP referenceDevice,
137 KisPixelSelectionSP existingSelection);
138
151 KisPixelSelectionSP createEncloseAndFillSelection(KisPixelSelectionSP newSelection,
152 KisPixelSelectionSP enclosingMask,
153 KisPaintDeviceSP referenceDevice,
154 KisPixelSelectionSP existingSelection);
155
157 void setRegionSelectionMethod(RegionSelectionMethod regionSelectionMethod);
158
160 RegionSelectionMethod regionSelectionMethod() const;
161
165 void setRegionSelectionColor(const KoColor &color);
166
170 KoColor regionSelectionColor() const;
171
173 void setRegionSelectionInvert(bool invert);
174
176 bool regionSelectionInvert() const;
177
179 void setRegionSelectionIncludeContourRegions(bool include);
180
182 bool regionSelectionIncludeContourRegions() const;
183
191 void setRegionSelectionIncludeSurroundingRegions(bool include);
192
200 bool regionSelectionIncludeSurroundingRegions() const;
201
202protected:
203 void genericEncloseAndFillStart(KisPixelSelectionSP enclosingMask, KisPaintDeviceSP referenceDevice);
204 void genericEncloseAndFillEnd(KisPaintDeviceSP filled);
205
206private:
207 class Private;
208 QScopedPointer<Private> m_d;
209};
210
211#endif
QScopedPointer< Private > m_d