Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_tool_select_contiguous.h
Go to the documentation of this file.
1
/*
2
* kis_tool_select_contiguous.h - part of KImageShop^WKrayon^Krita
3
*
4
* SPDX-FileCopyrightText: 1999 Michael Koch <koch@kde.org>
5
* SPDX-FileCopyrightText: 2002 Patrick Julien <freak@codepimps.org>
6
* SPDX-FileCopyrightText: 2015 Michael Abrahams <miabraha@gmail.com>
7
*
8
* SPDX-License-Identifier: GPL-2.0-or-later
9
*/
10
11
#ifndef __KIS_TOOL_SELECT_CONTIGUOUS_H__
12
#define __KIS_TOOL_SELECT_CONTIGUOUS_H__
13
14
#include "
KisSelectionToolFactoryBase.h
"
15
#include "
kis_tool_select_base.h
"
16
#include <
kis_icon.h
>
17
#include <kconfig.h>
18
#include <kconfiggroup.h>
19
#include <
commands_new/KisMergeLabeledLayersCommand.h
>
20
21
class
KoGroupButton
;
22
27
class
KisToolSelectContiguous
:
public
KisToolSelect
28
{
29
30
Q_OBJECT
31
32
public
:
33
enum
ContiguousSelectionMode
34
{
35
FloodFill
,
36
BoundaryFill
37
};
38
39
KisToolSelectContiguous
(
KoCanvasBase
*canvas);
40
~KisToolSelectContiguous
()
override
;
41
42
QWidget*
createOptionWidget
()
override
;
43
void
paint
(QPainter &painter,
const
KoViewConverter
&converter)
override
;
44
45
void
beginPrimaryAction
(
KoPointerEvent
*event)
override
;
46
void
endPrimaryAction
(
KoPointerEvent
*event)
override
;
47
48
void
resetCursorStyle
()
override
;
49
50
protected
:
51
52
bool
wantsAutoScroll
()
const override
{
return
false
; }
53
54
bool
isPixelOnly
()
const override
{
return
true
; }
55
bool
usesColorLabels
()
const override
{
return
true
; }
56
57
public
Q_SLOTS:
58
void
activate
(
const
QSet<KoShape*> &shapes)
override
;
59
void
deactivate
()
override
;
60
61
void
slotSetContiguousSelectionMode
(
ContiguousSelectionMode
);
62
void
slotSetContiguousSelectionBoundaryColor
(
const
KoColor
&);
63
void
slotSetThreshold
(
int
);
64
void
slotSetOpacitySpread
(
int
);
65
void
slotSetCloseGap
(
int
);
66
void
slotSetUseSelectionAsBoundary
(
bool
);
67
68
protected
:
69
using
KisToolSelectBase::m_widgetHelper
;
70
71
private
:
72
ContiguousSelectionMode
m_contiguousSelectionMode
{
FloodFill
};
73
KoColor
m_contiguousSelectionBoundaryColor
;
74
int
m_threshold
{8};
75
int
m_opacitySpread
{100};
76
int
m_closeGap
{0};
77
bool
m_useSelectionAsBoundary
{
false
};
78
KConfigGroup
m_configGroup
;
79
KisPaintDeviceSP
m_referencePaintDevice
;
80
KisMergeLabeledLayersCommand::ReferenceNodeInfoListSP
m_referenceNodeList
;
81
int
m_previousTime
;
82
83
KoColor
loadContiguousSelectionBoundaryColorFromConfig
();
84
85
private
Q_SLOTS:
86
void
slot_optionButtonStripContiguousSelectionMode_buttonToggled
(
87
KoGroupButton
*,
bool
88
);
89
};
90
91
class
KisToolSelectContiguousFactory
:
public
KisSelectionToolFactoryBase
92
{
93
public
:
94
KisToolSelectContiguousFactory
()
95
:
KisSelectionToolFactoryBase
(
"KisToolSelectContiguous"
)
96
{
97
setToolTip
(i18n(
"Contiguous Selection Tool"
));
98
setSection
(
ToolBoxSection::Select
);
99
setIconName
(
koIconNameCStr
(
"tool_contiguous_selection"
));
100
setPriority
(4);
101
setActivationShapeId
(
KRITA_TOOL_ACTIVATION_ID
);
102
}
103
104
~KisToolSelectContiguousFactory
()
override
{}
105
106
KoToolBase
*
createTool
(
KoCanvasBase
*
canvas
)
override
{
107
return
new
KisToolSelectContiguous
(
canvas
);
108
}
109
};
110
111
#endif
//__KIS_TOOL_SELECT_CONTIGUOUS_H__
KisMergeLabeledLayersCommand.h
KisSelectionToolFactoryBase.h
KisSelectionToolFactoryBase
Definition
KisSelectionToolFactoryBase.h:14
KisSharedPtr< KisPaintDevice >
KisToolSelectBase
Definition
kis_tool_select_base.h:62
KisToolSelectBase::m_widgetHelper
KisSelectionToolConfigWidgetHelper m_widgetHelper
Definition
kis_tool_select_base.h:535
KisToolSelectContiguousFactory
Definition
kis_tool_select_contiguous.h:92
KisToolSelectContiguousFactory::KisToolSelectContiguousFactory
KisToolSelectContiguousFactory()
Definition
kis_tool_select_contiguous.h:94
KisToolSelectContiguousFactory::createTool
KoToolBase * createTool(KoCanvasBase *canvas) override
Definition
kis_tool_select_contiguous.h:106
KisToolSelectContiguousFactory::~KisToolSelectContiguousFactory
~KisToolSelectContiguousFactory() override
Definition
kis_tool_select_contiguous.h:104
KisToolSelectContiguous
Definition
kis_tool_select_contiguous.h:28
KisToolSelectContiguous::resetCursorStyle
void resetCursorStyle() override
Definition
kis_tool_select_contiguous.cc:505
KisToolSelectContiguous::ContiguousSelectionMode
ContiguousSelectionMode
Definition
kis_tool_select_contiguous.h:34
KisToolSelectContiguous::BoundaryFill
@ BoundaryFill
Definition
kis_tool_select_contiguous.h:36
KisToolSelectContiguous::FloodFill
@ FloodFill
Definition
kis_tool_select_contiguous.h:35
KisToolSelectContiguous::m_closeGap
int m_closeGap
Definition
kis_tool_select_contiguous.h:76
KisToolSelectContiguous::m_referenceNodeList
KisMergeLabeledLayersCommand::ReferenceNodeInfoListSP m_referenceNodeList
Definition
kis_tool_select_contiguous.h:80
KisToolSelectContiguous::KisToolSelectContiguous
KisToolSelectContiguous(KoCanvasBase *canvas)
Definition
kis_tool_select_contiguous.cc:55
KisToolSelectContiguous::slotSetUseSelectionAsBoundary
void slotSetUseSelectionAsBoundary(bool)
Definition
kis_tool_select_contiguous.cc:302
KisToolSelectContiguous::m_opacitySpread
int m_opacitySpread
Definition
kis_tool_select_contiguous.h:75
KisToolSelectContiguous::m_contiguousSelectionBoundaryColor
KoColor m_contiguousSelectionBoundaryColor
Definition
kis_tool_select_contiguous.h:73
KisToolSelectContiguous::m_previousTime
int m_previousTime
Definition
kis_tool_select_contiguous.h:81
KisToolSelectContiguous::deactivate
void deactivate() override
Definition
kis_tool_select_contiguous.cc:78
KisToolSelectContiguous::slotSetThreshold
void slotSetThreshold(int)
Definition
kis_tool_select_contiguous.cc:284
KisToolSelectContiguous::isPixelOnly
bool isPixelOnly() const override
Definition
kis_tool_select_contiguous.h:54
KisToolSelectContiguous::createOptionWidget
QWidget * createOptionWidget() override
Definition
kis_tool_select_contiguous.cc:355
KisToolSelectContiguous::slotSetContiguousSelectionMode
void slotSetContiguousSelectionMode(ContiguousSelectionMode)
Definition
kis_tool_select_contiguous.cc:259
KisToolSelectContiguous::m_threshold
int m_threshold
Definition
kis_tool_select_contiguous.h:74
KisToolSelectContiguous::activate
void activate(const QSet< KoShape * > &shapes) override
Definition
kis_tool_select_contiguous.cc:72
KisToolSelectContiguous::m_configGroup
KConfigGroup m_configGroup
Definition
kis_tool_select_contiguous.h:78
KisToolSelectContiguous::slotSetOpacitySpread
void slotSetOpacitySpread(int)
Definition
kis_tool_select_contiguous.cc:290
KisToolSelectContiguous::loadContiguousSelectionBoundaryColorFromConfig
KoColor loadContiguousSelectionBoundaryColorFromConfig()
Definition
kis_tool_select_contiguous.cc:334
KisToolSelectContiguous::paint
void paint(QPainter &painter, const KoViewConverter &converter) override
Definition
kis_tool_select_contiguous.cc:253
KisToolSelectContiguous::slotSetCloseGap
void slotSetCloseGap(int)
Definition
kis_tool_select_contiguous.cc:296
KisToolSelectContiguous::beginPrimaryAction
void beginPrimaryAction(KoPointerEvent *event) override
Definition
kis_tool_select_contiguous.cc:85
KisToolSelectContiguous::m_contiguousSelectionMode
ContiguousSelectionMode m_contiguousSelectionMode
Definition
kis_tool_select_contiguous.h:72
KisToolSelectContiguous::slotSetContiguousSelectionBoundaryColor
void slotSetContiguousSelectionBoundaryColor(const KoColor &)
Definition
kis_tool_select_contiguous.cc:274
KisToolSelectContiguous::~KisToolSelectContiguous
~KisToolSelectContiguous() override
Definition
kis_tool_select_contiguous.cc:68
KisToolSelectContiguous::m_referencePaintDevice
KisPaintDeviceSP m_referencePaintDevice
Definition
kis_tool_select_contiguous.h:79
KisToolSelectContiguous::endPrimaryAction
void endPrimaryAction(KoPointerEvent *event) override
Definition
kis_tool_select_contiguous.cc:243
KisToolSelectContiguous::m_useSelectionAsBoundary
bool m_useSelectionAsBoundary
Definition
kis_tool_select_contiguous.h:77
KisToolSelectContiguous::wantsAutoScroll
bool wantsAutoScroll() const override
Definition
kis_tool_select_contiguous.h:52
KisToolSelectContiguous::slot_optionButtonStripContiguousSelectionMode_buttonToggled
void slot_optionButtonStripContiguousSelectionMode_buttonToggled(KoGroupButton *, bool)
Definition
kis_tool_select_contiguous.cc:308
KisToolSelectContiguous::usesColorLabels
bool usesColorLabels() const override
Definition
kis_tool_select_contiguous.h:55
KoCanvasBase
Definition
KoCanvasBase.cpp:24
KoColor
Definition
KoColor.h:31
KoGroupButton
Definition
KoGroupButton.cpp:17
KoPointerEvent
Definition
KoPointerEvent.cpp:92
KoToolBase
Definition
KoToolBase.h:57
KoToolFactoryBase::setSection
void setSection(const QString §ion)
Definition
KoToolFactoryBase.cpp:178
KoToolFactoryBase::setActivationShapeId
void setActivationShapeId(const QString &activationShapeId)
Definition
KoToolFactoryBase.cpp:168
KoToolFactoryBase::setIconName
void setIconName(const char *iconName)
Definition
KoToolFactoryBase.cpp:183
KoToolFactoryBase::setToolTip
void setToolTip(const QString &tooltip)
Definition
KoToolFactoryBase.cpp:173
KoToolFactoryBase::setPriority
void setPriority(int newPriority)
Definition
KoToolFactoryBase.cpp:193
KoViewConverter
Definition
KoViewConverter.h:32
QSharedPointer< ReferenceNodeInfoList >
kis_icon.h
koIconNameCStr
#define koIconNameCStr(name)
Definition
kis_icon.h:28
KRITA_TOOL_ACTIVATION_ID
static const QString KRITA_TOOL_ACTIVATION_ID
Definition
kis_tool.h:37
kis_tool_select_base.h
ToolBoxSection::Select
static const QString Select
Tools that select pixels.
Definition
KoToolFactoryBase.h:32
Private::canvas
KisCanvas2 * canvas
Definition
KisFrameDisplayProxy.cpp:22
plugins
tools
selectiontools
kis_tool_select_contiguous.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52