internal override void ProcessRenderingElementContent(RPLElement rplElement, GdiContext context, RectangleF bounds)
        {
            if (m_textRuns == null)
            {
                m_textRuns = new List <RenderingTextRun>();
            }
            if (m_isSimple)
            {
                RPLTextBox       rplElement2      = rplElement as RPLTextBox;
                RenderingTextRun renderingTextRun = new RenderingTextRun();
                renderingTextRun.Initialize(rplElement2, bounds, m_textRuns.Count);
                renderingTextRun.ProcessRenderingElementContent(rplElement2, context, bounds);
                m_textRuns.Add(renderingTextRun);
                return;
            }
            RPLParagraph rPLParagraph = rplElement as RPLParagraph;

            for (RPLTextRun nextTextRun = rPLParagraph.GetNextTextRun(); nextTextRun != null; nextTextRun = rPLParagraph.GetNextTextRun())
            {
                RenderingTextRun renderingTextRun2 = new RenderingTextRun();
                renderingTextRun2.Initialize(nextTextRun, bounds, m_textRuns.Count);
                renderingTextRun2.ProcessRenderingElementContent(nextTextRun, context, bounds);
                m_textRuns.Add(renderingTextRun2);
            }
        }
示例#2
0
        public RPLTextRun GetRPLTextRun(PageContext pageContext, bool hideDuplicates, TextBox.TextBoxOffset startPosition, TextBox.TextBoxOffset endPosition, int previousCount, List <AspNetCore.ReportingServices.Rendering.RichText.TextRun> richTextRuns)
        {
            RPLTextRun      rPLTextRun = new RPLTextRun();
            RPLTextRunProps props      = rPLTextRun.ElementProps as RPLTextRunProps;

            this.WriteElementProps(props, pageContext, hideDuplicates, startPosition, endPosition, previousCount, richTextRuns);
            return(rPLTextRun);
        }
示例#3
0
        public void WriteItemToStream(RPLWriter rplWriter, PageContext pageContext)
        {
            BinaryWriter binaryWriter = rplWriter.BinaryWriter;

            if (binaryWriter != null)
            {
                Stream baseStream = binaryWriter.BaseStream;
                this.m_offset = baseStream.Position;
                binaryWriter.Write((byte)20);
                this.WriteElementProps(binaryWriter, rplWriter, pageContext, this.m_offset + 1);
                binaryWriter.Write((byte)255);
            }
            else
            {
                this.m_rplElement = new RPLTextRun();
                this.WriteElementProps(this.m_rplElement.ElementProps, rplWriter, pageContext);
            }
        }
示例#4
0
        internal void WriteItemToStream(RPLWriter rplWriter, PageContext pageContext)
        {
            BinaryWriter binaryWriter = rplWriter.BinaryWriter;

            if (binaryWriter != null)
            {
                Stream baseStream = binaryWriter.BaseStream;
                m_offset = baseStream.Position;
                binaryWriter.Write((byte)20);
                WriteElementProps(binaryWriter, rplWriter, pageContext, m_offset + 1);
                binaryWriter.Write(byte.MaxValue);
            }
            else
            {
                m_rplElement = new RPLTextRun();
                WriteElementProps(m_rplElement.ElementProps, rplWriter, pageContext);
            }
        }
示例#5
0
        public RPLParagraph GetRPLParagraph(PageContext pageContext, bool hideDuplicates, TextBox.TextBoxOffset startPosition, TextBox.TextBoxOffset endPosition, List <AspNetCore.ReportingServices.Rendering.RichText.TextRun> richTextParaRuns)
        {
            RPLParagraph rPLParagraph = new RPLParagraph();

            this.WriteElementProps(rPLParagraph.ElementProps as RPLParagraphProps, pageContext);
            int num  = 0;
            int num2 = 0;

            if (endPosition == null && startPosition == null)
            {
                {
                    foreach (TextRun textRun2 in this.m_textRuns)
                    {
                        num   = num2;
                        num2 += textRun2.SplitIndices.Count + 1;
                        RPLTextRun rPLTextRun = textRun2.GetRPLTextRun(pageContext, hideDuplicates, null, null, num, richTextParaRuns);
                        rPLParagraph.AddTextRun(rPLTextRun);
                    }
                    return(rPLParagraph);
                }
            }
            int count = this.m_textRuns.Count;
            int num3  = -1;

            if (startPosition != null)
            {
                num3 = startPosition.TextRunIndex;
            }
            int num4 = -1;

            if (endPosition != null)
            {
                num4 = endPosition.TextRunIndex;
            }
            for (int i = 0; i < count; i++)
            {
                TextRun textRun = this.m_textRuns[i];
                num   = num2;
                num2 += textRun.SplitIndices.Count + 1;
                if (num3 < num2)
                {
                    if (endPosition != null)
                    {
                        if (num2 < num4)
                        {
                            rPLParagraph.AddTextRun(textRun.GetRPLTextRun(pageContext, hideDuplicates, startPosition, null, num, richTextParaRuns));
                            continue;
                        }
                        if (num2 == num4)
                        {
                            rPLParagraph.AddTextRun(textRun.GetRPLTextRun(pageContext, hideDuplicates, startPosition, null, num, richTextParaRuns));
                            if (endPosition.CharacterIndex <= 0)
                            {
                                break;
                            }
                            continue;
                        }
                        rPLParagraph.AddTextRun(textRun.GetRPLTextRun(pageContext, hideDuplicates, startPosition, endPosition, num, richTextParaRuns));
                        break;
                    }
                    rPLParagraph.AddTextRun(textRun.GetRPLTextRun(pageContext, hideDuplicates, startPosition, null, num, richTextParaRuns));
                }
            }
            return(rPLParagraph);
        }