Krita Source Code Documentation
Loading...
Searching...
No Matches
KisFilterOptionModel.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 <kis_filter.h>
10#include <kis_filter_registry.h>
12
13namespace {
14
15auto effectiveFilterStateLens = lager::lenses::getset(
16 [](const FilterState &x) {
17 if (!std::get<0>(x).isEmpty()) {
18 return x;
19 }
20
22
23 return std::make_tuple(
24 fallback->id(),
26 },
27 [](FilterState, const FilterState &y) {
28 return y;
29 });
30
31} // namespace
32
33
34KisFilterOptionModel::KisFilterOptionModel(lager::cursor<KisFilterOptionData> _optionData)
35 : optionData(_optionData)
37 , LAGER_QT(filterConfig) {optionData[&KisFilterOptionData::filterConfig]}
38 , LAGER_QT(effectiveFilterState) {lager::with(LAGER_QT(filterId), LAGER_QT(filterConfig)).zoom(effectiveFilterStateLens)}
39 , LAGER_QT(smudgeMode) {optionData[&KisFilterOptionData::smudgeMode]}
40{
41}
42
44{
46
47 std::tie(data.filterId, data.filterConfig) =
48 effectiveFilterState();
49
50 return data;
51}
52
53
54
LAGER_QT(filterConfig)
std::tuple< QString, QString > FilterState
lager::cursor< KisFilterOptionData > optionData
KisFilterOptionModel(lager::cursor< KisFilterOptionData > optionData)
KisFilterOptionData bakedOptionData() const
KisFilterSP fallbackFilter() const
static KisFilterRegistry * instance()
static KisResourcesInterfaceSP instance()
virtual KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const