internal void RenderReportItem(RPLWriter rplWriter, string reportItemName)
        {
            Microsoft.ReportingServices.OnDemandReportRendering.ReportSection reportSection = null;
            ReportItem       obj      = FindReportItem(m_report, SplitReportItemPath(reportItemName), out reportSection) ?? throw new SelectiveRenderingCannotFindReportItemException(reportItemName);
            CustomReportItem criOwner = obj.CriOwner;

            if (criOwner != null)
            {
                criOwner.DynamicWidth  = ReportSize.FromMillimeters(m_paginationSettings.PhysicalPageWidth);
                criOwner.DynamicHeight = ReportSize.FromMillimeters(m_paginationSettings.PhysicalPageHeight);
            }
            PageItem pageItem = PageItem.Create(obj, tablixCellParent: false, m_pageContext);

            pageItem.ItemPageSizes.Top    = 0.0;
            pageItem.ItemPageSizes.Left   = 0.0;
            pageItem.ItemPageSizes.Width  = m_paginationSettings.PhysicalPageWidth;
            pageItem.ItemPageSizes.Height = m_paginationSettings.PhysicalPageHeight;
            ItemContext itemContext = new ItemContext(rplWriter, m_pageContext, m_report, reportSection);

            if (rplWriter.BinaryWriter != null)
            {
                ReportToRplStreamWriter.Write(pageItem, itemContext);
            }
            else
            {
                ReportToRplOmWriter.Write(pageItem, itemContext);
            }
            Done = true;
        }
 protected void CreateChildren(ReportItemCollection childrenDef, PageContext pageContext)
 {
     if (childrenDef != null && childrenDef.Count != 0 && m_children == null)
     {
         double num  = 0.0;
         double num2 = 0.0;
         m_children           = new PageItem[childrenDef.Count + 1];
         m_indexesLeftToRight = new int[childrenDef.Count + 1];
         for (int i = 0; i < childrenDef.Count; i++)
         {
             ReportItem source = childrenDef[i];
             m_children[i]           = PageItem.Create(source, tablixCellParent: false, pageContext);
             m_indexesLeftToRight[i] = i;
             num  = Math.Max(num, m_children[i].ItemPageSizes.Right);
             num2 = Math.Max(num2, m_children[i].ItemPageSizes.Bottom);
         }
         double num3 = 0.0;
         num3 = ((!pageContext.ConsumeWhitespace) ? Math.Max(num2, base.ItemPageSizes.Height) : num2);
         m_children[m_children.Length - 1]           = new HiddenPageItem(num3, 0.0);
         m_indexesLeftToRight[m_children.Length - 1] = m_children.Length - 1;
         m_rightPadding           = Math.Max(0.0, m_itemPageSizes.Width - num);
         m_definitionRightPadding = m_rightPadding;
         m_bottomPadding          = Math.Max(0.0, m_itemPageSizes.Height - num2);
         Array.Sort(m_indexesLeftToRight, this);
         VerticalDependency();
         HorizontalDependecy();
     }
 }
        public void RenderReportItem(RPLWriter rplWriter, string reportItemName)
        {
            AspNetCore.ReportingServices.OnDemandReportRendering.ReportSection reportSection = null;
            ReportItem reportItem = SelectiveRendering.FindReportItem(this.m_report, SelectiveRendering.SplitReportItemPath(reportItemName), out reportSection);

            if (reportItem == null)
            {
                throw new SelectiveRenderingCannotFindReportItemException(reportItemName);
            }
            CustomReportItem criOwner = reportItem.CriOwner;

            if (criOwner != null)
            {
                criOwner.DynamicWidth  = ReportSize.FromMillimeters(this.m_paginationSettings.PhysicalPageWidth);
                criOwner.DynamicHeight = ReportSize.FromMillimeters(this.m_paginationSettings.PhysicalPageHeight);
            }
            PageItem pageItem = PageItem.Create(reportItem, false, this.m_pageContext);

            pageItem.ItemPageSizes.Top    = 0.0;
            pageItem.ItemPageSizes.Left   = 0.0;
            pageItem.ItemPageSizes.Width  = this.m_paginationSettings.PhysicalPageWidth;
            pageItem.ItemPageSizes.Height = this.m_paginationSettings.PhysicalPageHeight;
            ItemContext itemContext = new ItemContext(rplWriter, this.m_pageContext, this.m_report, reportSection);

            if (rplWriter.BinaryWriter != null)
            {
                ReportToRplStreamWriter.Write(pageItem, itemContext);
            }
            else
            {
                ReportToRplOmWriter.Write(pageItem, itemContext);
            }
            this.Done = true;
        }