diff --git a/Perspex.SceneGraph/Media/FormattedText.cs b/Perspex.SceneGraph/Media/FormattedText.cs index c2122faa8d..eff63ee8e4 100644 --- a/Perspex.SceneGraph/Media/FormattedText.cs +++ b/Perspex.SceneGraph/Media/FormattedText.cs @@ -25,6 +25,8 @@ namespace Perspex.Media this.FontFamilyName = fontFamilyName; this.FontSize = fontSize; this.FontStyle = fontStyle; + this.FontWeight = fontWeight; + this.TextAlignment = textAlignment; var platform = Locator.Current.GetService(); @@ -61,6 +63,12 @@ namespace Perspex.Media private set; } + public FontWeight FontWeight + { + get; + private set; + } + public string Text { get; @@ -73,6 +81,12 @@ namespace Perspex.Media private set; } + public TextAlignment TextAlignment + { + get; + private set; + } + public void Dispose() { this.PlatformImpl.Dispose(); diff --git a/Windows/Perspex.Direct2D1/PrimitiveExtensions.cs b/Windows/Perspex.Direct2D1/PrimitiveExtensions.cs index 81f403f344..5b8cc5f32a 100644 --- a/Windows/Perspex.Direct2D1/PrimitiveExtensions.cs +++ b/Windows/Perspex.Direct2D1/PrimitiveExtensions.cs @@ -6,6 +6,7 @@ namespace Perspex.Direct2D1 { + using System; using System.Linq; using SharpDX; using SharpDX.Direct2D1; @@ -132,13 +133,17 @@ namespace Perspex.Direct2D1 public static DWrite.TextAlignment ToDirect2D(this Perspex.Media.TextAlignment alignment) { - if (alignment == Perspex.Media.TextAlignment.Left) - return DWrite.TextAlignment.Leading; - - if (alignment == Perspex.Media.TextAlignment.Centered) - return DWrite.TextAlignment.Center; - - return DWrite.TextAlignment.Trailing; + switch (alignment) + { + case Perspex.Media.TextAlignment.Left: + return DWrite.TextAlignment.Leading; + case Perspex.Media.TextAlignment.Centered: + return DWrite.TextAlignment.Center; + case Perspex.Media.TextAlignment.Right: + return DWrite.TextAlignment.Trailing; + default: + throw new InvalidOperationException("Invalid TextAlignment"); + } } } }