mattercontrol/Utilities/MarkdigAgg/Inlines/AggEmphasisInlineRenderer.cs

77 lines
2 KiB
C#
Raw Normal View History

// Copyright (c) 2016-2017 Nicolas Musset. All rights reserved.
// This file is licensed under the MIT license.
// See the LICENSE.md file in the project root for more information.
using Markdig.Syntax.Inlines;
using MatterHackers.Agg;
using MatterHackers.Agg.UI;
namespace Markdig.Renderers.Agg.Inlines
{
public class EmphasisInlineX : FlowLayoutWidget
{
public EmphasisInlineX()
{
HAnchor = HAnchor.Fit;
VAnchor = VAnchor.Fit;
}
public override void AddChild(GuiWidget childToAdd, int indexInChildrenList = -1)
{
if (childToAdd is TextWidget textWidget)
{
textWidget.TextColor = Color.Red;
}
base.AddChild(childToAdd, indexInChildrenList);
}
}
/// <summary>
/// A WPF renderer for an <see cref="EmphasisInline"/>.
/// </summary>
/// <seealso cref="EmphasisInline" />
public class AggEmphasisInlineRenderer : AggObjectRenderer<EmphasisInline>
{
protected override void Write(AggRenderer renderer, EmphasisInline obj)
{
//Span span = null;
//switch (obj.DelimiterChar)
//{
// case '*':
// case '_':
// span = obj.IsDouble ? (Span)new Bold() : new Italic();
// break;
// case '~':
// span = new Span();
// span.SetResourceReference(FrameworkContentElement.StyleProperty, obj.IsDouble ? Styles.StrikeThroughStyleKey : Styles.SubscriptStyleKey);
// break;
// case '^':
// span = new Span();
// span.SetResourceReference(FrameworkContentElement.StyleProperty, Styles.SuperscriptStyleKey);
// break;
// case '+':
// span = new Span();
// span.SetResourceReference(FrameworkContentElement.StyleProperty, Styles.InsertedStyleKey);
// break;
// case '=':
// span = new Span();
// span.SetResourceReference(FrameworkContentElement.StyleProperty, Styles.MarkedStyleKey);
// break;
//}
if (true) //span != null)
{
renderer.Push(new EmphasisInlineX());
renderer.WriteChildren(obj);
renderer.Pop();
}
else
{
renderer.WriteChildren(obj);
}
}
}
}