From 03a93a60a6c425f5e881bed01feddf7f755624a7 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sun, 13 Jul 2025 22:44:02 +0800 Subject: refactor: icons -> icon components --- components/Icon.qml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 components/Icon.qml (limited to 'components/Icon.qml') diff --git a/components/Icon.qml b/components/Icon.qml new file mode 100644 index 0000000..a5d2348 --- /dev/null +++ b/components/Icon.qml @@ -0,0 +1,35 @@ +import QtQuick +import QtQuick.Layouts + +import qs.config + +IText { + id: root + property real iconSize: General.iconSize + property real fill: 0 + property real truncatedFill: Math.round(fill * 100) / 100 // Reduce memory consumption spikes from constant font remapping + renderType: Text.NativeRendering + font { + // hintingPreference: Font.PreferFullHinting + hintingPreference: Font.PreferNoHinting // so the icons dont just offset away + family: Style.font.family.symbols ?? "Symbols Nerd Font" + pixelSize: iconSize + weight: Font.Normal + (Font.DemiBold - Font.Normal) * fill + variableAxes: { + "FILL": truncatedFill, + // "wght": font.weight, + // "GRAD": 0, + "opsz": iconSize + } + } + verticalAlignment: Text.AlignVCenter + // color: Style.m3colors.m3onBackground + + // Behavior on fill { + // NumberAnimation { + // duration: Appearance?.animation.elementMoveFast.duration ?? 200 + // easing.type: Appearance?.animation.elementMoveFast.type ?? Easing.BezierSpline + // easing.bezierCurve: Appearance?.animation.elementMoveFast.bezierCurve ?? [0.34, 0.80, 0.34, 1.00, 1, 1] + // } + // } +} -- cgit v1.2.3