Пример #1
0
        protected override void Write(
            AttributedTextRenderer renderer,
            ListBlock listBlock)
        {
            var start = renderer.Count;

            renderer.EnsureLine();

            foreach (var item in listBlock)
            {
                var listItem = (ListItemBlock)item;

                renderer.EnsureLine();
                renderer.Write("• ");
                renderer.WriteChildren(listItem);
            }

            var length = renderer.Count - start;

            if (length > 0)
            {
                var attributes = new TextAttributes();
                if (!listBlock.IsOrdered)
                {
                    attributes[TextAttribute.UnorderedList] = "True";
                }
                renderer.AddTextRun(start, length, attributes);
            }
        }
        protected override void Write(AttributedTextRenderer renderer, HtmlBlock leafBlock)
        {
            bool writeEndOfLines = true;

            if (leafBlock.Lines.Lines != null)
            {
                var lines  = leafBlock.Lines;
                var slices = lines.Lines;
                for (int i = 0; i < lines.Count; i++)
                {
                    if (!writeEndOfLines && i > 0)
                    {
                        renderer.WriteLine();
                    }

                    renderer.Write(ref slices[i].Slice);

                    if (writeEndOfLines)
                    {
                        renderer.WriteLine();
                    }
                }
            }
        }
 protected override void Write(AttributedTextRenderer renderer, LiteralInline obj)
 {
     renderer.Write(ref obj.Content);
 }