Fluid 1.3.0
Material Design for QtQuick and Qml
Loading...
Searching...
No Matches
typescale.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025-2026 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2// SPDX-License-Identifier: MPL-2.0
3
4#include "typescale.h"
5
6namespace Fluid {
7
8// Values are from AndroidX TypeScaleTokens.kt, VERSION: v0_103, at the pinned directory:
9// https://android.googlesource.com/platform/frameworks/support/+/5ba2cdd61be7b6945db999b238d14f3c626136fb/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/
10
11//
12// TypeScale
13//
14
15TypeScale::TypeScale(QObject *parent)
16 : QObject(parent)
17 , m_displayLarge(FluidStyle::TypeFace::Brand, 57, 64, QFont::Weight::Normal, -0.2)
18 , m_displayMedium(FluidStyle::TypeFace::Brand, 45, 52, QFont::Weight::Normal, 0.0)
19 , m_displaySmall(FluidStyle::TypeFace::Brand, 36, 44, QFont::Weight::Normal, 0.0)
20 , m_headlineLarge(FluidStyle::TypeFace::Brand, 32, 40, QFont::Weight::Normal, 0.0)
21 , m_headlineMedium(FluidStyle::TypeFace::Brand, 28, 36, QFont::Weight::Normal, 0.0)
22 , m_headlineSmall(FluidStyle::TypeFace::Brand, 24, 32, QFont::Weight::Normal, 0.0)
23 , m_titleLarge(FluidStyle::TypeFace::Brand, 22, 28, QFont::Weight::Normal, 0.0)
24 , m_titleMedium(FluidStyle::TypeFace::Plain, 16, 24, QFont::Weight::Medium, 0.2)
25 , m_titleSmall(FluidStyle::TypeFace::Plain, 14, 20, QFont::Weight::Medium, 0.1)
26 , m_bodyLarge(FluidStyle::TypeFace::Plain, 16, 24, QFont::Weight::Normal, 0.5)
27 , m_bodyMedium(FluidStyle::TypeFace::Plain, 14, 20, QFont::Weight::Normal, 0.2)
28 , m_bodySmall(FluidStyle::TypeFace::Plain, 12, 16, QFont::Weight::Normal, 0.4)
29 , m_labelLarge(FluidStyle::TypeFace::Plain, 14, 20, QFont::Weight::Medium, 0.1)
30 , m_labelMedium(FluidStyle::TypeFace::Plain, 12, 16, QFont::Weight::Medium, 0.5)
31 , m_labelSmall(FluidStyle::TypeFace::Plain, 11, 16, QFont::Weight::Medium, 0.5)
32{
33}
34
39
44
49
54
59
64
69
74
79
84
89
94
99
104
109
110//
111// EmphasizedTypeScale
112//
113
115 : TypeScale(parent)
116{
118 TypeScaleValue(FluidStyle::TypeFace::Brand, 57, 64, QFont::Weight::Medium, 0.0);
120 TypeScaleValue(FluidStyle::TypeFace::Brand, 45, 52, QFont::Weight::Medium, 0.0);
122 TypeScaleValue(FluidStyle::TypeFace::Brand, 36, 44, QFont::Weight::Medium, 0.0);
124 TypeScaleValue(FluidStyle::TypeFace::Brand, 32, 40, QFont::Weight::Medium, 0.0);
126 TypeScaleValue(FluidStyle::TypeFace::Brand, 28, 36, QFont::Weight::Medium, 0.0);
128 TypeScaleValue(FluidStyle::TypeFace::Brand, 24, 32, QFont::Weight::Medium, 0.0);
129 m_titleLarge = TypeScaleValue(FluidStyle::TypeFace::Brand, 22, 28, QFont::Weight::Medium, 0.0);
130 m_titleMedium = TypeScaleValue(FluidStyle::TypeFace::Plain, 16, 24, QFont::Weight::Bold, 0.15);
131 m_titleSmall = TypeScaleValue(FluidStyle::TypeFace::Plain, 14, 20, QFont::Weight::Bold, 0.1);
132 m_bodyLarge = TypeScaleValue(FluidStyle::TypeFace::Plain, 16, 24, QFont::Weight::Medium, 0.15);
133 m_bodyMedium = TypeScaleValue(FluidStyle::TypeFace::Plain, 14, 20, QFont::Weight::Medium, 0.25);
134 m_bodySmall = TypeScaleValue(FluidStyle::TypeFace::Plain, 12, 16, QFont::Weight::Medium, 0.4);
135 m_labelLarge = TypeScaleValue(FluidStyle::TypeFace::Plain, 14, 20, QFont::Weight::Bold, 0.1);
136 m_labelMedium = TypeScaleValue(FluidStyle::TypeFace::Plain, 12, 16, QFont::Weight::Bold, 0.5);
137 m_labelSmall = TypeScaleValue(FluidStyle::TypeFace::Plain, 11, 16, QFont::Weight::Bold, 0.5);
138}
139
140} // namespace Fluid
EmphasizedTypeScale(QObject *parent=nullptr)
Material Design 3 type scale tokens.
Definition typescale.h:123
Fluid::TypeScaleValue displayMedium
Definition typescale.h:129
Fluid::TypeScaleValue displaySmall
Definition typescale.h:130
TypeScaleValue m_titleSmall
Definition typescale.h:171
TypeScaleValue m_displayMedium
Definition typescale.h:164
TypeScaleValue m_bodySmall
Definition typescale.h:174
QML_SINGLETONFluid::TypeScaleValue displayLarge
Definition typescale.h:128
Fluid::TypeScaleValue headlineSmall
Definition typescale.h:133
TypeScaleValue m_headlineSmall
Definition typescale.h:168
TypeScaleValue m_displayLarge
Definition typescale.h:163
Fluid::TypeScaleValue bodySmall
Definition typescale.h:139
TypeScaleValue m_bodyMedium
Definition typescale.h:173
TypeScaleValue m_bodyLarge
Definition typescale.h:172
TypeScaleValue m_titleLarge
Definition typescale.h:169
TypeScaleValue m_labelMedium
Definition typescale.h:176
Fluid::TypeScaleValue titleLarge
Definition typescale.h:134
Fluid::TypeScaleValue headlineLarge
Definition typescale.h:131
TypeScaleValue m_titleMedium
Definition typescale.h:170
TypeScaleValue m_headlineMedium
Definition typescale.h:167
Fluid::TypeScaleValue bodyMedium
Definition typescale.h:138
Fluid::TypeScaleValue labelSmall
Definition typescale.h:142
Fluid::TypeScaleValue headlineMedium
Definition typescale.h:132
Fluid::TypeScaleValue titleMedium
Definition typescale.h:135
TypeScaleValue m_labelSmall
Definition typescale.h:177
TypeScaleValue m_headlineLarge
Definition typescale.h:166
TypeScaleValue m_displaySmall
Definition typescale.h:165
TypeScaleValue m_labelLarge
Definition typescale.h:175
TypeScale(QObject *parent=nullptr)
Definition typescale.cpp:15
Fluid::TypeScaleValue labelMedium
Definition typescale.h:141
Fluid::TypeScaleValue titleSmall
Definition typescale.h:136
Fluid::TypeScaleValue labelLarge
Definition typescale.h:140
Fluid::TypeScaleValue bodyLarge
Definition typescale.h:137
Type scale definition for typography tokens.
Definition typescale.h:30