Пример #1
0
        public override LineNode[] GetNodes()
        {
            if (Content == null)
            {
                throw new LayoutException("Content property is null");
            }

            return(LineNodeTransformer.Create(this).ToArray());
        }
Пример #2
0
        public override LineNode[] GetNodes()
        {
            var items = LineNodeTransformer.Create(this);

            if (Referenced.Page != null)
            {
                foreach (var item in items)
                {
                    item.Link = Referenced.Page.Index;
                }
            }

            return(items.ToArray());
        }
Пример #3
0
        protected override Measurement MeasureOverride(Size availableSize)
        {
            //var doc = Document ?? throw new LayoutException("Document was not set");

            var ms = new Measurement(this);

            lineNodes = new List <LineNode>();
            foreach (var leaf in Leaves)
            {
                leaf.Measure(availableSize);
                var nodes = leaf.GetNodes();
                if (nodes.Length > 0)
                {
                    lineNodes.AddRange(nodes);
                }
            }
            LineNodeTransformer.Clean(lineNodes);
            if (lineNodes.Count > 0)
            {
                var indent = Style.Get(StyleKeys.ParagraphIndent);

                if (indent.Value > 0)
                {
                    lineNodes.Insert(0, LineNode.Box(indent.Point, string.Empty));
                }

                var linebreak       = new Linebreak();
                var breaks          = linebreak.BreakLines(lineNodes, new double[] { availableSize.Width }, new LinebreakOptions());
                var positionedItems = linebreak.PositionItems(lineNodes, new double[] { availableSize.Width }, breaks, false);
                lines = ProduceLines(positionedItems);
                double totalHeight = 0;

                for (int i = 0; i < lines.Length; i++)
                {
                    var line        = lines[i];
                    var height      = 0.0;
                    var lastElement = line[^ 1];
Пример #4
0
 public override LineNode[] GetNodes()
 {
     Element.Parent = Parent;
     return(LineNodeTransformer.Create(this).ToArray());
 }
Пример #5
0
 public override LineNode[] GetNodes()
 {
     return(LineNodeTransformer.Create(this).ToArray());
 }