Exemple #1
0
        protected override void Write(PPTXRenderer renderer, EmphasisInline obj)
        {
            var cloneFont = renderer.Writer.CurrentFont.Clone();

            if (obj.DelimiterChar == '*' || obj.DelimiterChar == '_')
            {
                if (obj.IsDouble)
                {
                    cloneFont.Bold = true;
                }
                else
                {
                    cloneFont.Italic = true;
                }
            }
            else if (obj.DelimiterChar == '~')
            {
                if (obj.IsDouble)
                {
                    cloneFont.Strike = true;
                }
            }

            renderer.Writer.FontStack.Push(cloneFont);

            renderer.WriteChildren(obj);

            renderer.Writer.FontStack.Pop();
        }
        private void WriteHyperLink(PPTXRenderer renderer, LinkInline link)
        {
            renderer.PushHyperLink(new PPTXLink()
            {
                LinkKey = link.Url,
                LinkURL = link.Url
            });

            if (link.Label != null)
            {
                var literal = link.FirstChild as LiteralInline;
                if (literal != null && literal.Content.Match(link.Label) && literal.Content.Length == link.Label.Length)
                {
                }
                else
                {
                    // full link
                    renderer.Write(link.Label);
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(link.Url))
                {
                    renderer.WriteChildren(link);
                }
            }

            renderer.PopHyperLink();
        }
 protected override void Write(PPTXRenderer renderer, DelimiterInline obj)
 {
     renderer.WriteChildren(obj);
 }