Browse Source

Fixes SKFontStyleSlant to FontStyle conversion

pull/4381/head
Benedikt Schroeder 6 years ago
parent
commit
2bec4c14c5
  1. 8
      src/Avalonia.Visuals/Media/FontStyle.cs
  2. 3
      src/Skia/Avalonia.Skia/SKTypefaceCollectionCache.cs
  3. 11
      src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs

8
src/Avalonia.Visuals/Media/FontStyle.cs

@ -11,13 +11,13 @@ namespace Avalonia.Media
Normal, Normal,
/// <summary> /// <summary>
/// An oblique font. /// An italic font.
/// </summary> /// </summary>
Oblique, Italic,
/// <summary> /// <summary>
/// An italic font. /// An oblique font.
/// </summary> /// </summary>
Italic, Oblique
} }
} }

3
src/Skia/Avalonia.Skia/SKTypefaceCollectionCache.cs

@ -56,7 +56,8 @@ namespace Avalonia.Skia
continue; continue;
} }
var key = new FontKey(fontFamily.Name, (FontStyle)typeface.FontSlant, (FontWeight)typeface.FontWeight); var key = new FontKey(fontFamily.Name, typeface.FontSlant.ToAvalonia(),
(FontWeight)typeface.FontWeight);
typeFaceCollection.AddTypeface(key, typeface); typeFaceCollection.AddTypeface(key, typeface);
} }

11
src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs

@ -138,6 +138,17 @@ namespace Avalonia.Skia
} }
} }
public static FontStyle ToAvalonia(this SKFontStyleSlant slant)
{
return slant switch
{
SKFontStyleSlant.Upright => FontStyle.Normal,
SKFontStyleSlant.Italic => FontStyle.Italic,
SKFontStyleSlant.Oblique => FontStyle.Oblique,
_ => throw new ArgumentOutOfRangeException(nameof (slant), slant, null)
};
}
public static SKPath Clone(this SKPath src) public static SKPath Clone(this SKPath src)
{ {
return src != null ? new SKPath(src) : null; return src != null ? new SKPath(src) : null;

Loading…
Cancel
Save