| File: Font.cs | Web Access |
| Project: src\src\Graphics\src\Graphics\Graphics.csproj (Microsoft.Maui.Graphics) |
using System; namespace Microsoft.Maui.Graphics { public static class FontWeights { public const int Default = -1; public const int Thin = 100; public const int ExtraLight = 200; public const int UltraLight = 200; public const int Light = 300; public const int SemiLight = 400; public const int Normal = 400; public const int Regular = 400; public const int Medium = 500; public const int DemiBold = 600; public const int SemiBold = 600; public const int Bold = 700; public const int ExtraBold = 800; public const int UltraBold = 800; public const int Black = 900; public const int Heavy = 900; public const int ExtraBlack = 950; public const int UltraBlack = 950; } public struct Font : IFont, IEquatable<IFont> { public static Font Default => new Font(null); public static Font DefaultBold => new Font(null, FontWeights.Bold); public Font(string name, int weight = FontWeights.Normal, FontStyleType styleType = FontStyleType.Normal) { Name = name; Weight = weight; StyleType = styleType; } public string Name { get; private set; } public int Weight { get; private set; } public FontStyleType StyleType { get; private set; } public bool Equals(IFont other) => StyleType == other.StyleType && Weight == other.Weight && ((Name is null && other.Name is null) || Name.Equals(other.Name, StringComparison.OrdinalIgnoreCase)); public override bool Equals(object obj) => obj is IFont font && Equals(font); public override int GetHashCode() => (Name, Weight, StyleType).GetHashCode(); public bool IsDefault => string.IsNullOrEmpty(Name); public static bool operator ==(Font left, Font right) => left.Equals(right); public static bool operator !=(Font left, Font right) => !(left == right); } }