Fluid 1.3.0
Material Design for QtQuick and Qml
Loading...
Searching...
No Matches
radiobutton.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2// SPDX-License-Identifier: MPL-2.0
3
4#pragma once
5
6#include <QtCore/qobject.h>
7#include <QtQml/qqmlregistration.h>
8
9#include "statetokens.h"
10
11// Component values map to the AndroidX Material 3 generated tokens where available:
12// https://android.googlesource.com/platform/frameworks/support/+/5ba2cdd61be7b6945db999b238d14f3c626136fb/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/
13// RadioButtonTokens.kt; state-layer opacities are provided by StateTokens.kt.
14
15namespace Fluid {
16
19{
20 Q_GADGET
21 QML_ANONYMOUS
22
23 Q_PROPERTY(qreal minimumInteractiveSize READ minimumInteractiveSize CONSTANT FINAL)
24 Q_PROPERTY(qreal iconSize READ iconSize CONSTANT FINAL)
25 Q_PROPERTY(qreal stateLayerSize READ stateLayerSize CONSTANT FINAL)
26 Q_PROPERTY(qreal indicatorPadding READ indicatorPadding CONSTANT FINAL)
27 Q_PROPERTY(qreal outlineWidth READ outlineWidth CONSTANT FINAL)
28 Q_PROPERTY(qreal contentPadding READ contentPadding CONSTANT FINAL)
29 Q_PROPERTY(qreal contentSpacing READ contentSpacing CONSTANT FINAL)
30 Q_PROPERTY(qreal selectedDisabledIconOpacity READ selectedDisabledIconOpacity CONSTANT FINAL)
31 Q_PROPERTY(
33 Q_PROPERTY(qreal hoverStateLayerOpacity READ hoverStateLayerOpacity CONSTANT FINAL)
34 Q_PROPERTY(qreal focusStateLayerOpacity READ focusStateLayerOpacity CONSTANT FINAL)
35 Q_PROPERTY(qreal pressedStateLayerOpacity READ pressedStateLayerOpacity CONSTANT FINAL)
36
37public:
38 constexpr qreal minimumInteractiveSize() const
39 {
40 return 48.0;
41 }
42 constexpr qreal iconSize() const
43 {
44 return 20.0;
45 }
46 constexpr qreal stateLayerSize() const
47 {
48 return 40.0;
49 }
50 // Fluid layout metric matching the AndroidX RadioButtonPadding constant.
51 constexpr qreal indicatorPadding() const
52 {
53 return 2.0;
54 }
55 constexpr qreal outlineWidth() const
56 {
57 return 2.0;
58 }
59 // Fluid label/layout metrics; AndroidX RadioButtonTokens has no label composition tokens.
60 constexpr qreal contentPadding() const
61 {
62 return 8.0;
63 }
64 constexpr qreal contentSpacing() const
65 {
66 return 8.0;
67 }
68 constexpr qreal selectedDisabledIconOpacity() const
69 {
70 return 0.38;
71 }
72 constexpr qreal unselectedDisabledIconOpacity() const
73 {
74 return 0.38;
75 }
76 constexpr qreal hoverStateLayerOpacity() const
77 {
79 }
80 constexpr qreal focusStateLayerOpacity() const
81 {
83 }
84 constexpr qreal pressedStateLayerOpacity() const
85 {
87 }
88};
89
90} // namespace Fluid
Material Design 3 radio-button tokens.
Definition radiobutton.h:19
constexpr qreal contentSpacing() const
Definition radiobutton.h:64
constexpr qreal hoverStateLayerOpacity() const
Definition radiobutton.h:76
qreal focusStateLayerOpacity
Definition radiobutton.h:34
qreal selectedDisabledIconOpacity
Definition radiobutton.h:30
constexpr qreal selectedDisabledIconOpacity() const
Definition radiobutton.h:68
constexpr qreal iconSize() const
Definition radiobutton.h:42
constexpr qreal unselectedDisabledIconOpacity() const
Definition radiobutton.h:72
constexpr qreal pressedStateLayerOpacity() const
Definition radiobutton.h:84
constexpr qreal contentPadding() const
Definition radiobutton.h:60
constexpr qreal outlineWidth() const
Definition radiobutton.h:55
constexpr qreal stateLayerSize() const
Definition radiobutton.h:46
QML_ANONYMOUSqreal minimumInteractiveSize
Definition radiobutton.h:23
constexpr qreal indicatorPadding() const
Definition radiobutton.h:51
qreal unselectedDisabledIconOpacity
Definition radiobutton.h:32
qreal hoverStateLayerOpacity
Definition radiobutton.h:33
constexpr qreal focusStateLayerOpacity() const
Definition radiobutton.h:80
qreal pressedStateLayerOpacity
Definition radiobutton.h:35
Material Design 3 system state tokens.
Definition statetokens.h:18
qreal focusStateLayerOpacity
Definition statetokens.h:23
qreal hoverStateLayerOpacity
Definition statetokens.h:24
qreal pressedStateLayerOpacity
Definition statetokens.h:25