Browse Source

Requested changes

pull/1564/head
Benedikt Schroeder 8 years ago
parent
commit
5a5be9e767
  1. 14
      src/Avalonia.Visuals/Media/FontFamily.cs
  2. 11
      src/Avalonia.Visuals/Media/Fonts/FontFamilyKey.cs
  3. 7
      src/Avalonia.Visuals/Media/Typeface.cs
  4. 2
      src/Shared/PlatformSupport/AssetLoader.cs
  5. 2
      src/Windows/Avalonia.Direct2D1/Direct2D1Platform.cs
  6. 8
      tests/Avalonia.Visuals.UnitTests/Media/FontFamilyTests.cs

14
src/Avalonia.Visuals/Media/FontFamily.cs

@ -79,9 +79,23 @@ namespace Avalonia.Media
/// </returns>
public override string ToString()
{
if (Key != null)
{
return Key + "#" + Name;
}
return Name;
}
/// <summary>
/// Implicit conversion of FontFamily to string
/// </summary>
/// <param name="fontFamily"></param>
public static implicit operator string(FontFamily fontFamily)
{
return fontFamily.ToString();
}
/// <summary>
/// Parses a <see cref="T:Avalonia.Media.FontFamily"/> string.
/// </summary>

11
src/Avalonia.Visuals/Media/Fonts/FontFamilyKey.cs

@ -88,12 +88,13 @@ namespace Avalonia.Media.Fonts
/// </returns>
public override string ToString()
{
if (FileName != null)
{
return Location.AbsolutePath + "." + FileName;
}
if (FileName == null) return Location.PathAndQuery;
var builder = new UriBuilder(Location);
builder.Path += "." + FileName;
return Location.AbsolutePath;
return builder.ToString();
}
}
}

7
src/Avalonia.Visuals/Media/Typeface.cs

@ -7,6 +7,13 @@ namespace Avalonia.Media
/// </summary>
public class Typeface
{
/// <summary>
/// Initializes a new instance of the <see cref="Typeface"/> class.
/// </summary>
/// <param name="fontFamily">The font family.</param>
/// <param name="fontSize">The font size, in DIPs.</param>
/// <param name="style">The font style.</param>
/// <param name="weight">The font weight.</param>
public Typeface(FontFamily fontFamily, double fontSize = 12, FontStyle style = FontStyle.Normal,
FontWeight weight = FontWeight.Normal)
{

2
src/Shared/PlatformSupport/AssetLoader.cs

@ -216,5 +216,5 @@ namespace Avalonia.Shared.PlatformSupport
public Dictionary<string, IAssetDescriptor> Resources { get; }
public string Name { get; }
}
}
}
}

2
src/Windows/Avalonia.Direct2D1/Direct2D1Platform.cs

@ -117,7 +117,7 @@ namespace Avalonia.Direct2D1
}
public IFormattedTextImpl CreateFormattedText(
string text,
string text,
Typeface typeface,
TextAlignment textAlignment,
TextWrapping wrapping,

8
tests/Avalonia.Visuals.UnitTests/Media/FontFamilyTests.cs

@ -24,6 +24,14 @@ namespace Avalonia.Visuals.UnitTests.Media
Assert.Throws<ArgumentNullException>(() => new FontFamily((IEnumerable<string>)null));
}
[Fact]
public void ShouldImplicitlyConvertToString()
{
var fontFamily = new FontFamily("Arial");
Assert.Equal("Arial", fontFamily);
}
[Fact]
public void Parse_Parses_FontFamily_With_Name()
{

Loading…
Cancel
Save