Krita Source Code Documentation
Loading...
Searching...
No Matches
CssFontStyleModel.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
*/
6
#include "
CssFontStyleModel.h
"
7
8
namespace
{
9
10
auto
getValue
= lager::lenses::getset(
11
[](
const
KoSvgText::CssFontStyleData
&data) -> qreal {
12
if
(data.
style
== QFont::StyleOblique) {
13
if (data.slantValue.isAuto) {
14
return 14;
15
}
else
{
16
return data.slantValue.customValue;
17
}
18
}
19
return
0;
20
},
21
[](
KoSvgText::CssFontStyleData
data,
const
qreal &val) ->
KoSvgText::CssFontStyleData
{
22
if
(data.
style
== QFont::StyleOblique) {
23
data.
slantValue
.
isAuto
=
false
;
24
data.
slantValue
= val;
25
}
26
return
data;
27
});
28
29
auto
getStyle = lager::lenses::getset(
30
[](
const
KoSvgText::CssFontStyleData
&data) ->
CssFontStyleModel::FontStyle
{
31
return
CssFontStyleModel::FontStyle
(data.
style
);
32
},
33
[](
KoSvgText::CssFontStyleData
data,
const
CssFontStyleModel::FontStyle
&val) ->
KoSvgText::CssFontStyleData
{
34
data.
style
= QFont::Style(val);
35
if
(data.
style
!= QFont::StyleOblique) {
36
data.
slantValue
.
isAuto
=
true
;
37
data.
slantValue
= 0;
38
}
39
return
data;
40
});
41
42
}
// namespace
43
44
CssFontStyleModel::CssFontStyleModel
(lager::cursor<KoSvgText::CssFontStyleData> _data)
45
: data(_data)
46
,
LAGER_QT
(style) {
data
.zoom(getStyle)}
47
,
LAGER_QT
(
value
) {data.zoom(
getValue
)}
48
{
49
50
}
LAGER_QT
LAGER_QT(value)
Definition
CssFontStyleModel.cpp:47
CssFontStyleModel.h
getValue
auto getValue
Definition
CssLengthPercentageModel.cpp:9
value
float value(const T *src, size_t ch)
Definition
JPEGXLImport.cpp:93
CssFontStyleModel::FontStyle
FontStyle
Definition
CssFontStyleModel.h:25
CssFontStyleModel::CssFontStyleModel
CssFontStyleModel(lager::cursor< KoSvgText::CssFontStyleData > _data=lager::make_state(KoSvgText::CssFontStyleData(), lager::automatic_tag{}))
Definition
CssFontStyleModel.cpp:44
CssFontStyleModel::data
lager::cursor< KoSvgText::CssFontStyleData > data
Definition
CssFontStyleModel.h:32
KoSvgText::AutoValue::isAuto
bool isAuto
Definition
KoSvgText.h:449
KoSvgText::CssFontStyleData
When style is oblique, a custom slant value can be specified for variable fonts.
Definition
KoSvgText.h:475
KoSvgText::CssFontStyleData::style
QFont::Style style
Definition
KoSvgText.h:478
KoSvgText::CssFontStyleData::slantValue
KoSvgText::AutoValue slantValue
Definition
KoSvgText.h:479
libs
flake
text
lager
CssFontStyleModel.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52