Browse Source

Added missing properties to FormattedText.

Also use a switch for TextAlignment.ToDirect2D.
pull/58/head
Steven Kirk 12 years ago
parent
commit
493768a5ad
  1. 14
      Perspex.SceneGraph/Media/FormattedText.cs
  2. 19
      Windows/Perspex.Direct2D1/PrimitiveExtensions.cs

14
Perspex.SceneGraph/Media/FormattedText.cs

@ -25,6 +25,8 @@ namespace Perspex.Media
this.FontFamilyName = fontFamilyName; this.FontFamilyName = fontFamilyName;
this.FontSize = fontSize; this.FontSize = fontSize;
this.FontStyle = fontStyle; this.FontStyle = fontStyle;
this.FontWeight = fontWeight;
this.TextAlignment = textAlignment;
var platform = Locator.Current.GetService<IPlatformRenderInterface>(); var platform = Locator.Current.GetService<IPlatformRenderInterface>();
@ -61,6 +63,12 @@ namespace Perspex.Media
private set; private set;
} }
public FontWeight FontWeight
{
get;
private set;
}
public string Text public string Text
{ {
get; get;
@ -73,6 +81,12 @@ namespace Perspex.Media
private set; private set;
} }
public TextAlignment TextAlignment
{
get;
private set;
}
public void Dispose() public void Dispose()
{ {
this.PlatformImpl.Dispose(); this.PlatformImpl.Dispose();

19
Windows/Perspex.Direct2D1/PrimitiveExtensions.cs

@ -6,6 +6,7 @@
namespace Perspex.Direct2D1 namespace Perspex.Direct2D1
{ {
using System;
using System.Linq; using System.Linq;
using SharpDX; using SharpDX;
using SharpDX.Direct2D1; using SharpDX.Direct2D1;
@ -132,13 +133,17 @@ namespace Perspex.Direct2D1
public static DWrite.TextAlignment ToDirect2D(this Perspex.Media.TextAlignment alignment) public static DWrite.TextAlignment ToDirect2D(this Perspex.Media.TextAlignment alignment)
{ {
if (alignment == Perspex.Media.TextAlignment.Left) switch (alignment)
return DWrite.TextAlignment.Leading; {
case Perspex.Media.TextAlignment.Left:
if (alignment == Perspex.Media.TextAlignment.Centered) return DWrite.TextAlignment.Leading;
return DWrite.TextAlignment.Center; case Perspex.Media.TextAlignment.Centered:
return DWrite.TextAlignment.Center;
return DWrite.TextAlignment.Trailing; case Perspex.Media.TextAlignment.Right:
return DWrite.TextAlignment.Trailing;
default:
throw new InvalidOperationException("Invalid TextAlignment");
}
} }
} }
} }

Loading…
Cancel
Save