Krita Source Code Documentation
Loading...
Searching...
No Matches
KisMirrorOption.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
3
* SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
4
*
5
* SPDX-License-Identifier: GPL-2.0-or-later
6
*/
7
#include "
KisMirrorOption.h
"
8
9
10
#include <
kis_properties_configuration.h
>
11
#include <
kis_paint_information.h
>
12
#include <
KisMirrorOptionData.h
>
13
#include <
KisMirrorProperties.h
>
14
15
#include <
KisPaintOpOptionUtils.h
>
16
namespace
kpou
=
KisPaintOpOptionUtils
;
17
18
19
KisMirrorOption::KisMirrorOption
(
const
KisPropertiesConfiguration
*setting)
20
:
KisMirrorOption
(
kpou
::loadOptionData<
KisMirrorOptionData
>(setting))
21
{
22
}
23
24
KisMirrorOption::KisMirrorOption
(
const
KisMirrorOptionData
&data)
25
:
KisCurveOption
(data)
26
, m_enableHorizontalMirror(data.enableHorizontalMirror)
27
, m_enableVerticalMirror(data.enableVerticalMirror)
28
{
29
}
30
31
MirrorProperties
KisMirrorOption::apply
(
const
KisPaintInformation
&info)
const
32
{
33
int
mirrorXIncrement = info.
canvasMirroredH
();
34
int
mirrorYIncrement = info.
canvasMirroredV
();
35
bool
coordinateSystemFlipped =
false
;
36
37
if
(
isChecked
() && (
m_enableHorizontalMirror
||
m_enableVerticalMirror
)) {
38
39
qreal sensorResult =
computeSizeLikeValue
(info);
40
41
bool
result = (sensorResult >= 0.5);
42
43
mirrorXIncrement += result &&
m_enableHorizontalMirror
;
44
mirrorYIncrement += result &&
m_enableVerticalMirror
;
45
coordinateSystemFlipped = result &&
46
(
m_enableHorizontalMirror
!=
m_enableVerticalMirror
);
47
}
48
49
MirrorProperties
mirrors;
50
51
mirrors.
verticalMirror
= mirrorYIncrement % 2;
52
mirrors.
horizontalMirror
= mirrorXIncrement % 2;
53
mirrors.
coordinateSystemFlipped
= coordinateSystemFlipped;
54
55
return
mirrors;
56
}
KisMirrorOptionData.h
KisMirrorOption.h
KisMirrorProperties.h
KisPaintOpOptionUtils.h
KisCurveOption
Definition
KisCurveOption.h:18
KisCurveOption::isChecked
bool isChecked() const
Definition
KisCurveOption.cpp:192
KisCurveOption::computeSizeLikeValue
qreal computeSizeLikeValue(const KisPaintInformation &info, bool useStrengthValue=true) const
Definition
KisCurveOption.cpp:165
KisMirrorOption
Definition
KisMirrorOption.h:15
KisMirrorOption::apply
MirrorProperties apply(const KisPaintInformation &info) const
Definition
KisMirrorOption.cpp:31
KisMirrorOption::m_enableHorizontalMirror
bool m_enableHorizontalMirror
Definition
KisMirrorOption.h:24
KisMirrorOption::KisMirrorOption
KisMirrorOption(const KisPropertiesConfiguration *setting)
Definition
KisMirrorOption.cpp:19
KisMirrorOption::m_enableVerticalMirror
bool m_enableVerticalMirror
Definition
KisMirrorOption.h:25
KisPaintInformation
Definition
kis_paint_information.h:51
KisPaintInformation::canvasMirroredV
bool canvasMirroredV() const
Definition
kis_paint_information.cc:295
KisPaintInformation::canvasMirroredH
bool canvasMirroredH() const
Definition
kis_paint_information.cc:285
kis_paint_information.h
kis_properties_configuration.h
KisPaintOpOptionUtils
Definition
KisPaintOpOptionUtils.h:12
KisMirrorOptionData
Definition
KisMirrorOptionData.h:32
KisPropertiesConfiguration
Definition
kis_properties_configuration.cc:26
MirrorProperties
Definition
KisMirrorProperties.h:10
MirrorProperties::horizontalMirror
bool horizontalMirror
Definition
KisMirrorProperties.h:16
MirrorProperties::verticalMirror
bool verticalMirror
Definition
KisMirrorProperties.h:17
MirrorProperties::coordinateSystemFlipped
bool coordinateSystemFlipped
Definition
KisMirrorProperties.h:19
plugins
paintops
libpaintop
KisMirrorOption.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52