Krita Source Code Documentation
Loading...
Searching...
No Matches
KisPaintingModeOptionModel.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
#include "
KisPaintingModeOptionModel.h
"
7
8
#include <
KisLager.h
>
9
10
using
ToControlState
=
KisWidgetConnectionUtils::ToControlState
;
11
12
namespace
{
13
int
calcEffectivePaintingMode(
enumPaintingMode
mode,
bool
maskingBrushEnabled) {
14
return
static_cast<
int
>
(maskingBrushEnabled ?
enumPaintingMode::WASH
: mode);
15
}
16
}
17
18
KisPaintingModeOptionModel::KisPaintingModeOptionModel
(lager::cursor<KisPaintingModeOptionData> _optionData, lager::reader<bool> _maskingBrushEnabled)
19
: optionData(_optionData)
20
, maskingBrushEnabled(_maskingBrushEnabled)
21
,
LAGER_QT
(paintingMode) {
optionData
[&
KisPaintingModeOptionData::paintingMode
].zoom(kislager::lenses::do_static_cast<enumPaintingMode, int>)}
22
,
LAGER_QT
(effectivePaintingMode) {
23
lager::with(optionData[&
KisPaintingModeOptionData::paintingMode
],
24
maskingBrushEnabled)
25
.map(&calcEffectivePaintingMode)}
26
,
LAGER_QT
(paintingModeState) {
27
lager::with(
LAGER_QT
(effectivePaintingMode),
28
maskingBrushEnabled.map(std::logical_not{}))
29
.map(
ToControlState
{})}
30
{
31
}
32
33
KisPaintingModeOptionData
KisPaintingModeOptionModel::bakedOptionData
()
const
34
{
35
KisPaintingModeOptionData
data;
36
data.
paintingMode
=
static_cast<
enumPaintingMode
>
(effectivePaintingMode());
37
return
data;
38
}
KisLager.h
enumPaintingMode
enumPaintingMode
Definition
KisPaintingModeOptionData.h:16
enumPaintingMode::WASH
@ WASH
LAGER_QT
LAGER_QT(effectivePaintingMode)
Definition
KisPaintingModeOptionModel.cpp:22
KisPaintingModeOptionModel.h
KisPaintingModeOptionModel::bakedOptionData
KisPaintingModeOptionData bakedOptionData() const
KisPaintingModeOptionModel::optionData
lager::cursor< KisPaintingModeOptionData > optionData
Definition
KisPaintingModeOptionModel.h:25
KisPaintingModeOptionModel::KisPaintingModeOptionModel
KisPaintingModeOptionModel(lager::cursor< KisPaintingModeOptionData > optionData, lager::reader< bool > maskingBrushEnabled)
Definition
KisPaintingModeOptionModel.cpp:18
KisPaintingModeOptionData
Definition
KisPaintingModeOptionData.h:22
KisPaintingModeOptionData::paintingMode
enumPaintingMode paintingMode
Definition
KisPaintingModeOptionData.h:27
KisWidgetConnectionUtils::ToControlState
Definition
KisWidgetConnectionUtils.h:63
plugins
paintops
libpaintop
KisPaintingModeOptionModel.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52