Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_wdg_blur.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of Krita
3
*
4
* SPDX-FileCopyrightText: 2006 Cyrille Berger <cberger@cberger.net>
5
*
6
* SPDX-License-Identifier: GPL-2.0-or-later
7
*/
8
9
#include "
kis_wdg_blur.h
"
10
#include <QLayout>
11
12
#include <
filter/kis_filter.h
>
13
#include <
filter/kis_filter_configuration.h
>
14
#include <
kis_selection.h
>
15
#include <
kis_paint_device.h
>
16
#include <
kis_processing_information.h
>
17
#include <
KisGlobalResourcesInterface.h
>
18
19
#include "ui_wdgblur.h"
20
21
KisWdgBlur::KisWdgBlur
(QWidget * parent) :
KisConfigWidget
(parent)
22
{
23
m_halfSizeLink
=
true
;
24
m_widget
=
new
Ui_WdgBlur();
25
m_widget
->setupUi(
this
);
26
linkSpacingToggled
(
true
);
27
28
widget
()->angleSelector->setDecimals(0);
29
30
connect(
widget
()->aspectButton, SIGNAL(keepAspectRatioChanged(
bool
)),
this
, SLOT(
linkSpacingToggled
(
bool
)));
31
connect(
widget
()->intHalfWidth, SIGNAL(valueChanged(
int
)),
this
, SLOT(
sldHalfWidthChanged
(
int
)));
32
connect(
widget
()->intHalfHeight, SIGNAL(valueChanged(
int
)),
this
, SLOT(
sldHalfHeightChanged
(
int
)));
33
34
widget
()->aspectButton->setKeepAspectRatio(
m_halfSizeLink
);
35
36
connect(
widget
()->intStrength, SIGNAL(valueChanged(
int
)), SIGNAL(
sigConfigurationItemChanged
()));
37
connect(
widget
()->angleSelector, SIGNAL(angleChanged(qreal)), SIGNAL(
sigConfigurationItemChanged
()));
38
connect(
widget
()->cbShape, SIGNAL(activated(
int
)), SIGNAL(
sigConfigurationItemChanged
()));
39
}
40
41
KisWdgBlur::~KisWdgBlur
()
42
{
43
delete
m_widget
;
44
}
45
46
KisPropertiesConfigurationSP
KisWdgBlur::configuration
()
const
47
{
48
KisFilterConfigurationSP
config =
new
KisFilterConfiguration
(
"blur"
, 1,
KisGlobalResourcesInterface::instance
());
49
config->setProperty(
"lockAspect"
,
widget
()->aspectButton->keepAspectRatio());
50
config->setProperty(
"halfWidth"
,
widget
()->intHalfWidth->value());
51
config->setProperty(
"halfHeight"
,
widget
()->intHalfHeight->value());
52
config->setProperty(
"rotate"
,
static_cast<
int
>
(
widget
()->angleSelector->angle()));
53
config->setProperty(
"strength"
,
widget
()->intStrength->value());
54
config->setProperty(
"shape"
,
widget
()->cbShape->currentIndex());
55
return
config;
56
}
57
58
void
KisWdgBlur::setConfiguration
(
const
KisPropertiesConfigurationSP
config)
59
{
60
QVariant
value
;
61
if
(config->getProperty(
"lockAspect"
,
value
)) {
62
m_widget
->aspectButton->setKeepAspectRatio(
value
.toBool());
63
}
64
if
(config->getProperty(
"shape"
,
value
)) {
65
widget
()->cbShape->setCurrentIndex(
value
.toUInt());
66
}
67
if
(config->getProperty(
"halfWidth"
,
value
)) {
68
widget
()->intHalfWidth->setValue(
value
.toUInt());
69
}
70
if
(config->getProperty(
"halfHeight"
,
value
)) {
71
widget
()->intHalfHeight->setValue(
value
.toUInt());
72
}
73
if
(config->getProperty(
"rotate"
,
value
)) {
74
widget
()->angleSelector->setAngle(
static_cast<
qreal
>
(
value
.toUInt()));
75
}
76
if
(config->getProperty(
"strength"
,
value
)) {
77
widget
()->intStrength->setValue(
value
.toUInt());
78
}
79
}
80
81
void
KisWdgBlur::linkSpacingToggled
(
bool
b)
82
{
83
m_halfSizeLink
= b;
84
widget
()->intHalfHeight->setValue(
widget
()->intHalfWidth->value());
85
}
86
87
void
KisWdgBlur::sldHalfWidthChanged
(
int
v
)
88
{
89
if
(
m_halfSizeLink
) {
90
widget
()->intHalfHeight->blockSignals(
true
);
91
widget
()->intHalfHeight->setValue(
v
);
92
widget
()->intHalfHeight->blockSignals(
false
);
93
}
94
/* if( widget()->intHalfHeight->value() == v && widget()->cbShape->currentItem() != 1)
95
widget()->intAngle->setEnabled(false);
96
else
97
widget()->intAngle->setEnabled(true);*/
98
Q_EMIT
sigConfigurationItemChanged
();
99
}
100
101
void
KisWdgBlur::sldHalfHeightChanged
(
int
v
)
102
{
103
if
(
m_halfSizeLink
) {
104
widget
()->intHalfWidth->blockSignals(
true
);
105
widget
()->intHalfWidth->setValue(
v
);
106
widget
()->intHalfWidth->blockSignals(
false
);
107
}
108
/* if( widget()->intHalfWidth->value() == v && widget()->cbShape->currentItem() != 1)
109
widget()->intAngle->setEnabled(false);
110
else
111
widget()->intAngle->setEnabled(true);*/
112
Q_EMIT
sigConfigurationItemChanged
();
113
}
114
value
float value(const T *src, size_t ch)
Definition
JPEGXLImport.cpp:93
v
qreal v
Definition
KisBezierUtils.cpp:702
KisGlobalResourcesInterface.h
KisConfigWidget
Definition
kis_config_widget.h:31
KisConfigWidget::sigConfigurationItemChanged
void sigConfigurationItemChanged()
KisGlobalResourcesInterface::instance
static KisResourcesInterfaceSP instance()
Definition
KisGlobalResourcesInterface.cpp:55
KisPinnedSharedPtr< KisPropertiesConfiguration >
KisWdgBlur::configuration
KisPropertiesConfigurationSP configuration() const override
Definition
kis_wdg_blur.cpp:46
KisWdgBlur::sldHalfWidthChanged
void sldHalfWidthChanged(int)
Definition
kis_wdg_blur.cpp:87
KisWdgBlur::m_widget
Ui_WdgBlur * m_widget
Definition
kis_wdg_blur.h:37
KisWdgBlur::widget
const Ui_WdgBlur * widget() const
Definition
kis_wdg_blur.h:22
KisWdgBlur::setConfiguration
void setConfiguration(const KisPropertiesConfigurationSP) override
Definition
kis_wdg_blur.cpp:58
KisWdgBlur::~KisWdgBlur
~KisWdgBlur() override
Definition
kis_wdg_blur.cpp:41
KisWdgBlur::KisWdgBlur
KisWdgBlur(QWidget *parent)
Definition
kis_wdg_blur.cpp:21
KisWdgBlur::m_halfSizeLink
bool m_halfSizeLink
Definition
kis_wdg_blur.h:36
KisWdgBlur::sldHalfHeightChanged
void sldHalfHeightChanged(int)
Definition
kis_wdg_blur.cpp:101
KisWdgBlur::linkSpacingToggled
void linkSpacingToggled(bool)
Definition
kis_wdg_blur.cpp:81
kis_filter.h
kis_filter_configuration.h
kis_paint_device.h
kis_processing_information.h
kis_selection.h
kis_wdg_blur.h
KisFilterConfiguration
Definition
kis_filter_configuration.cc:25
plugins
filters
blur
kis_wdg_blur.cpp
Generated at
2026-01-15 02:30:07+01:00
from
Krita
branch
master
, commit
38b517ca06286bb65279453cbf9a2b4fbd1153d1