/// <summary> /// Draws text. /// </summary> /// <param name="foreground">The foreground brush.</param> /// <param name="origin">The upper-left corner of the text.</param> /// <param name="text">The text.</param> public void DrawText(Perspex.Media.Brush foreground, Perspex.Point origin, FormattedText text) { if (!string.IsNullOrEmpty(text.Text)) { var impl = (FormattedTextImpl)text.PlatformImpl; using (var renderer = new PerspexTextRenderer(this.renderTarget, foreground.ToDirect2D(this.renderTarget))) { impl.TextLayout.Draw(renderer, (float)origin.X, (float)origin.Y); } } }
/// <summary> /// Draws text. /// </summary> /// <param name="foreground">The foreground brush.</param> /// <param name="origin">The upper-left corner of the text.</param> /// <param name="text">The text.</param> public void DrawText(Perspex.Media.Brush foreground, Point origin, FormattedText text) { if (!string.IsNullOrEmpty(text.Text)) { var impl = (FormattedTextImpl)text.PlatformImpl; using (var brush = CreateBrush(foreground, impl.Measure())) using (var renderer = new PerspexTextRenderer(this, _renderTarget, brush.PlatformBrush)) { impl.TextLayout.Draw(renderer, (float)origin.X, (float)origin.Y); } } }
/// <summary> /// Draws text. /// </summary> /// <param name="foreground">The foreground brush.</param> /// <param name="origin">The upper-left corner of the text.</param> /// <param name="text">The text.</param> public void DrawText(Perspex.Media.Brush foreground, Point origin, FormattedText text) { if (!string.IsNullOrEmpty(text.Text)) { var impl = (FormattedTextImpl)text.PlatformImpl; using (var brush = CreateBrush(foreground, impl.Measure())) using (var renderer = new PerspexTextRenderer(this, _renderTarget, brush.PlatformBrush)) { if (brush.PlatformBrush != null) { impl.TextLayout.Draw(renderer, (float)origin.X, (float)origin.Y); } } } }