Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_tool_measure.h
Go to the documentation of this file.
1
/*
2
*
3
* SPDX-FileCopyrightText: 2007 Sven Langkamp <sven.langkamp@gmail.com>
4
*
5
* SPDX-License-Identifier: GPL-2.0-or-later
6
*/
7
8
#ifndef KIS_TOOL_MEASURE_H_
9
#define KIS_TOOL_MEASURE_H_
10
11
#include <QLabel>
12
13
#include <
KoUnit.h
>
14
15
#include "
kis_tool.h
"
16
#include "
kis_global.h
"
17
#include "
kis_types.h
"
18
#include "
KoToolFactoryBase.h
"
19
#include "
flake/kis_node_shape.h
"
20
#include <
kis_icon.h
>
21
22
#include <QVector2D>
23
24
class
QPointF;
25
class
QWidget;
26
class
QVector2D;
27
28
class
KoCanvasBase
;
29
30
31
class
KisToolMeasureOptionsWidget
:
public
QWidget
32
{
33
Q_OBJECT
34
35
public
:
36
KisToolMeasureOptionsWidget
(QWidget* parent,
KisImageWSP
image);
37
38
public
Q_SLOTS:
39
void
slotSetDistance
(
double
distance
);
40
void
slotSetAngle
(
double
angle);
41
void
slotUnitChanged
(
int
index);
42
void
slotResolutionChanged
(
double
xRes,
double
yRes);
43
44
private
:
45
void
updateDistance
();
46
47
QLabel*
m_angleLabel
{
nullptr
};
48
double
m_distance
{0.0};
49
public
:
50
QLabel*
m_distanceLabel
{
nullptr
};
51
double
m_resolution
;
52
KoUnit
m_unit
;
53
};
54
55
class
KisToolMeasure
:
public
KisTool
56
{
57
58
Q_OBJECT
59
60
public
:
61
KisToolMeasure
(
KoCanvasBase
*
canvas
);
62
~KisToolMeasure
()
override
;
63
64
void
beginPrimaryAction
(
KoPointerEvent
*event)
override
;
65
void
continuePrimaryAction
(
KoPointerEvent
*event)
override
;
66
void
endPrimaryAction
(
KoPointerEvent
*event)
override
;
67
void
showDistanceAngleOnCanvas
();
68
69
QPointF
lockedAngle
(QPointF pos);
70
71
void
paint
(QPainter& gc,
const
KoViewConverter
&converter)
override
;
72
73
QWidget *
createOptionWidget
()
override
;
74
75
Q_SIGNALS:
76
void
sigDistanceChanged
(
double
distance
);
77
void
sigAngleChanged
(
double
angle
);
78
79
private
:
80
QRectF
boundingRect
();
81
double
angle
();
82
double
distance
();
83
84
private
:
85
KisToolMeasureOptionsWidget
*
m_optionsWidget
{
nullptr
};
86
87
QPointF
m_startPos
{QPointF(0, 0)};
88
QPointF
m_endPos
{QPointF(0, 0)};
89
QVector2D
m_baseLineVec
{QPointF(1, 0)};
90
bool
m_chooseBaseLineVec
{
false
};
91
};
92
93
94
class
KisToolMeasureFactory
:
public
KoToolFactoryBase
95
{
96
97
public
:
98
99
KisToolMeasureFactory
()
100
:
KoToolFactoryBase
(
"KritaShape/KisToolMeasure"
) {
101
setSection
(
ToolBoxSection::View
);
102
setToolTip
(i18n(
"Measure Tool"
));
103
setIconName
(
koIconNameCStr
(
"krita_tool_measure"
));
104
setPriority
(1);
105
setActivationShapeId
(
KRITA_TOOL_ACTIVATION_ID
);
106
}
107
108
~KisToolMeasureFactory
()
override
{}
109
110
KoToolBase
*
createTool
(
KoCanvasBase
*
canvas
)
override
{
111
return
new
KisToolMeasure
(
canvas
);
112
}
113
114
};
115
116
117
118
119
#endif
//KIS_TOOL_MEASURE_H_
distance
qreal distance(const QPointF &p1, const QPointF &p2)
Definition
KoCurveFit.cpp:84
KoToolFactoryBase.h
KoUnit.h
KisToolMeasureFactory
Definition
kis_tool_measure.h:95
KisToolMeasureFactory::KisToolMeasureFactory
KisToolMeasureFactory()
Definition
kis_tool_measure.h:99
KisToolMeasureFactory::~KisToolMeasureFactory
~KisToolMeasureFactory() override
Definition
kis_tool_measure.h:108
KisToolMeasureFactory::createTool
KoToolBase * createTool(KoCanvasBase *canvas) override
Definition
kis_tool_measure.h:110
KisToolMeasureOptionsWidget
Definition
kis_tool_measure.h:32
KisToolMeasureOptionsWidget::slotSetAngle
void slotSetAngle(double angle)
Definition
kis_tool_measure.cc:75
KisToolMeasureOptionsWidget::m_unit
KoUnit m_unit
Definition
kis_tool_measure.h:52
KisToolMeasureOptionsWidget::slotUnitChanged
void slotUnitChanged(int index)
Definition
kis_tool_measure.cc:80
KisToolMeasureOptionsWidget::m_distance
double m_distance
Definition
kis_tool_measure.h:48
KisToolMeasureOptionsWidget::m_distanceLabel
QLabel * m_distanceLabel
Definition
kis_tool_measure.h:50
KisToolMeasureOptionsWidget::updateDistance
void updateDistance()
Definition
kis_tool_measure.cc:92
KisToolMeasureOptionsWidget::slotSetDistance
void slotSetDistance(double distance)
Definition
kis_tool_measure.cc:69
KisToolMeasureOptionsWidget::KisToolMeasureOptionsWidget
KisToolMeasureOptionsWidget(QWidget *parent, KisImageWSP image)
Definition
kis_tool_measure.cc:36
KisToolMeasureOptionsWidget::m_angleLabel
QLabel * m_angleLabel
Definition
kis_tool_measure.h:47
KisToolMeasureOptionsWidget::slotResolutionChanged
void slotResolutionChanged(double xRes, double yRes)
Definition
kis_tool_measure.cc:86
KisToolMeasureOptionsWidget::m_resolution
double m_resolution
Definition
kis_tool_measure.h:51
KisToolMeasure
Definition
kis_tool_measure.h:56
KisToolMeasure::continuePrimaryAction
void continuePrimaryAction(KoPointerEvent *event) override
Definition
kis_tool_measure.cc:198
KisToolMeasure::KisToolMeasure
KisToolMeasure(KoCanvasBase *canvas)
Definition
kis_tool_measure.cc:99
KisToolMeasure::m_baseLineVec
QVector2D m_baseLineVec
Definition
kis_tool_measure.h:89
KisToolMeasure::m_chooseBaseLineVec
bool m_chooseBaseLineVec
Definition
kis_tool_measure.h:90
KisToolMeasure::sigAngleChanged
void sigAngleChanged(double angle)
KisToolMeasure::endPrimaryAction
void endPrimaryAction(KoPointerEvent *event) override
Definition
kis_tool_measure.cc:230
KisToolMeasure::showDistanceAngleOnCanvas
void showDistanceAngleOnCanvas()
Definition
kis_tool_measure.cc:174
KisToolMeasure::angle
double angle()
Definition
kis_tool_measure.cc:257
KisToolMeasure::m_endPos
QPointF m_endPos
Definition
kis_tool_measure.h:88
KisToolMeasure::lockedAngle
QPointF lockedAngle(QPointF pos)
Definition
kis_tool_measure.cc:107
KisToolMeasure::createOptionWidget
QWidget * createOptionWidget() override
Definition
kis_tool_measure.cc:238
KisToolMeasure::m_startPos
QPointF m_startPos
Definition
kis_tool_measure.h:87
KisToolMeasure::~KisToolMeasure
~KisToolMeasure() override
Definition
kis_tool_measure.cc:104
KisToolMeasure::paint
void paint(QPainter &gc, const KoViewConverter &converter) override
Definition
kis_tool_measure.cc:126
KisToolMeasure::boundingRect
QRectF boundingRect()
Definition
kis_tool_measure.cc:268
KisToolMeasure::beginPrimaryAction
void beginPrimaryAction(KoPointerEvent *event) override
Definition
kis_tool_measure.cc:183
KisToolMeasure::sigDistanceChanged
void sigDistanceChanged(double distance)
KisToolMeasure::distance
double distance()
Definition
kis_tool_measure.cc:263
KisToolMeasure::m_optionsWidget
KisToolMeasureOptionsWidget * m_optionsWidget
Definition
kis_tool_measure.h:85
KisWeakSharedPtr< KisImage >
KoCanvasBase
Definition
KoCanvasBase.cpp:24
KoPointerEvent
Definition
KoPointerEvent.cpp:92
KoToolBase
Definition
KoToolBase.h:57
KoToolFactoryBase
Definition
KoToolFactoryBase.cpp:20
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
KoUnit
Definition
KoUnit.h:71
KoViewConverter
Definition
KoViewConverter.h:32
kis_global.h
kis_icon.h
koIconNameCStr
#define koIconNameCStr(name)
Definition
kis_icon.h:28
kis_node_shape.h
kis_tool.h
KRITA_TOOL_ACTIVATION_ID
static const QString KRITA_TOOL_ACTIVATION_ID
Definition
kis_tool.h:37
kis_types.h
ToolBoxSection::View
static const QString View
Assistance tools: guides, reference, etc.
Definition
KoToolFactoryBase.h:31
KisTool
Definition
kis_tool.cc:63
Private::canvas
KisCanvas2 * canvas
Definition
KisFrameDisplayProxy.cpp:22
plugins
tools
basictools
kis_tool_measure.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52