2026-03-20 00:41:14 +08:00
|
|
|
using Avalonia;
|
|
|
|
|
using LanMountainDesktop.Settings.Core;
|
|
|
|
|
using LanMountainDesktop.Shared.Contracts;
|
|
|
|
|
|
|
|
|
|
namespace LanMountainDesktop.Appearance;
|
|
|
|
|
|
|
|
|
|
public static class AppearanceCornerRadiusTokenFactory
|
|
|
|
|
{
|
2026-04-08 00:55:10 +08:00
|
|
|
public static AppearanceCornerRadiusTokens Create(string style)
|
2026-03-20 00:41:14 +08:00
|
|
|
{
|
2026-04-08 00:55:10 +08:00
|
|
|
var normalized = GlobalAppearanceSettings.NormalizeCornerRadiusStyle(style);
|
|
|
|
|
return normalized switch
|
|
|
|
|
{
|
|
|
|
|
GlobalAppearanceSettings.CornerRadiusStyleSharp => new AppearanceCornerRadiusTokens(
|
|
|
|
|
Micro: new CornerRadius(4),
|
|
|
|
|
Xs: new CornerRadius(8),
|
|
|
|
|
Sm: new CornerRadius(10),
|
|
|
|
|
Md: new CornerRadius(14),
|
|
|
|
|
Lg: new CornerRadius(20),
|
|
|
|
|
Xl: new CornerRadius(24),
|
|
|
|
|
Island: new CornerRadius(28),
|
|
|
|
|
Component: new CornerRadius(20)),
|
|
|
|
|
GlobalAppearanceSettings.CornerRadiusStyleRounded => new AppearanceCornerRadiusTokens(
|
|
|
|
|
Micro: new CornerRadius(8),
|
|
|
|
|
Xs: new CornerRadius(14),
|
|
|
|
|
Sm: new CornerRadius(16),
|
|
|
|
|
Md: new CornerRadius(24),
|
|
|
|
|
Lg: new CornerRadius(32),
|
|
|
|
|
Xl: new CornerRadius(36),
|
|
|
|
|
Island: new CornerRadius(40),
|
|
|
|
|
Component: new CornerRadius(28)),
|
|
|
|
|
GlobalAppearanceSettings.CornerRadiusStyleOpen => new AppearanceCornerRadiusTokens(
|
|
|
|
|
Micro: new CornerRadius(10),
|
|
|
|
|
Xs: new CornerRadius(16),
|
|
|
|
|
Sm: new CornerRadius(20),
|
|
|
|
|
Md: new CornerRadius(28),
|
|
|
|
|
Lg: new CornerRadius(36),
|
|
|
|
|
Xl: new CornerRadius(40),
|
|
|
|
|
Island: new CornerRadius(44),
|
|
|
|
|
Component: new CornerRadius(32)),
|
|
|
|
|
// Balanced (default)
|
|
|
|
|
_ => new AppearanceCornerRadiusTokens(
|
|
|
|
|
Micro: new CornerRadius(6),
|
|
|
|
|
Xs: new CornerRadius(12),
|
|
|
|
|
Sm: new CornerRadius(14),
|
|
|
|
|
Md: new CornerRadius(20),
|
|
|
|
|
Lg: new CornerRadius(28),
|
|
|
|
|
Xl: new CornerRadius(32),
|
|
|
|
|
Island: new CornerRadius(36),
|
|
|
|
|
Component: new CornerRadius(24))
|
|
|
|
|
};
|
2026-03-20 00:41:14 +08:00
|
|
|
}
|
|
|
|
|
}
|