Krita Source Code Documentation
Loading...
Searching...
No Matches
CssLengthPercentageModel.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2024 Wolthera van Hövell tot Westerflier <griffinvalley@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
7#include <KisLager.h>
8
9auto getValue = lager::lenses::getset (
10 [] (const KoSvgText::CssLengthPercentage &data) -> qreal {
12 return data.value * 100;
13 } else {
14 return data.value;
15 }
16}, [] (KoSvgText::CssLengthPercentage data, const qreal &val) -> KoSvgText::CssLengthPercentage {
18 data.value = val * 0.01;
19 } else {
20 data.value = val;
21 }
22 return data;
23});
24
25CssLengthPercentageModel::CssLengthPercentageModel(lager::cursor<KoSvgText::CssLengthPercentage> _data)
26 : length(_data)
27 , LAGER_QT(value) {length.zoom(getValue)}
28, LAGER_QT(unitType) {length[&KoSvgText::CssLengthPercentage::unit].zoom(kislager::lenses::do_static_cast<KoSvgText::CssLengthPercentage::UnitType, int>)}
29{}
LAGER_QT(unitType)
qreal length(const QPointF &vec)
Definition Ellipse.cc:82
float value(const T *src, size_t ch)
CssLengthPercentageModel(lager::cursor< KoSvgText::CssLengthPercentage > _data=lager::make_state(KoSvgText::CssLengthPercentage(), lager::automatic_tag{}))
lager::cursor< KoSvgText::CssLengthPercentage > length