// Token: 0x06002D16 RID: 11542 RVA: 0x000CB650 File Offset: 0x000C9850
        public void ConstructFlowNodes(FixedTextBuilder.FlowModelBuilder flowBuilder, List <FixedNode> fixedNodes)
        {
            this._fixedNodes   = fixedNodes;
            this._visitedArray = new BitArray(fixedNodes.Count);
            this._flowBuilder  = flowBuilder;
            List <StoryFragment> storyFragmentList = this.StoryFragments.StoryFragmentList;

            foreach (StoryFragment storyFragment in storyFragmentList)
            {
                List <BlockElement> blockElementList = storyFragment.BlockElementList;
                foreach (BlockElement be in blockElementList)
                {
                    this._CreateFlowNodes(be);
                }
            }
            this._flowBuilder.AddStartNode(FixedElement.ElementType.Paragraph);
            for (int i = 0; i < this._visitedArray.Count; i++)
            {
                if (!this._visitedArray[i])
                {
                    this.AddFixedNodeInFlow(i, null);
                }
            }
            this._flowBuilder.AddEndNode();
            this._flowBuilder.AddLeftoverHyperlinks();
        }
示例#2
0
        public void ConstructFlowNodes(FixedTextBuilder.FlowModelBuilder flowBuilder, List <FixedNode> fixedNodes)
        {
            //
            // Initialize some variables inside this class.
            //
            _fixedNodes   = fixedNodes;
            _visitedArray = new BitArray(fixedNodes.Count);
            _flowBuilder  = flowBuilder;

            List <StoryFragment> StoryFragmentList = StoryFragments.StoryFragmentList;

            foreach (StoryFragment storyFragme in StoryFragmentList)
            {
                List <BlockElement> blockElementList = storyFragme.BlockElementList;
                foreach (BlockElement be in blockElementList)
                {
                    _CreateFlowNodes(be);
                }
            }
            //
            // After all the document structure referenced elements, we will go over
            // the FixedNodes again to take out all the un-referenced elements and put
            // them in the end of the story.
            //
            // Add the start node in the flow array.
            //
            _flowBuilder.AddStartNode(FixedElement.ElementType.Paragraph);

            for (int i = 0; i < _visitedArray.Count; i++)
            {
                if (_visitedArray[i] == false)
                {
                    AddFixedNodeInFlow(i, null);
                }
            }

            _flowBuilder.AddEndNode();

            //Add any undiscovered hyperlinks at the end of the page
            _flowBuilder.AddLeftoverHyperlinks();
        }