Krita Source Code Documentation
Loading...
Searching...
No Matches
KisSmudgeLengthOptionModel.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 */
7
8#include <KisLager.h>
9
10namespace {
11CheckBoxState calcUseNewEngineState(bool useNewEngine, bool forceUseNewEngine) {
12 return {useNewEngine || forceUseNewEngine, !forceUseNewEngine};
13}
14}
15
16KisSmudgeLengthOptionModel::KisSmudgeLengthOptionModel(lager::cursor<KisSmudgeLengthOptionMixIn> optionData,
17 lager::reader<bool> forceUseNewEngine)
18 : optionData(optionData)
19 , LAGER_QT(mode) {optionData[&KisSmudgeLengthOptionMixIn::mode].zoom(kislager::lenses::do_static_cast<KisSmudgeLengthOptionMixIn::Mode, int>)}
20 , LAGER_QT(smearAlpha) {optionData[&KisSmudgeLengthOptionMixIn::smearAlpha]}
21 , LAGER_QT(useNewEngine) {optionData[&KisSmudgeLengthOptionMixIn::useNewEngine]}
22 , LAGER_QT(useNewEngineState) {
23 lager::with(optionData[&KisSmudgeLengthOptionMixIn::useNewEngine],
24 forceUseNewEngine)
25 .map(&calcUseNewEngineState)}
26{
27}
28
30{
32 data.useNewEngine = useNewEngineState().value;
33 return data;
34}
LAGER_QT(smearAlpha)
KisSmudgeLengthOptionMixIn backedOptionData() const
KisSmudgeLengthOptionModel(lager::cursor< KisSmudgeLengthOptionMixIn > optionData, lager::reader< bool > forceUseNewEngine)
lager::cursor< KisSmudgeLengthOptionMixIn > optionData