public MatrixInstance(ReportProcessing.ProcessingContext pc, Matrix reportItemDef)
     : base(pc.CreateUniqueName(), reportItemDef)
 {
     base.m_instanceInfo = new MatrixInstanceInfo(pc, reportItemDef, this);
     pc.Pagination.EnterIgnoreHeight(reportItemDef.StartHidden);
     this.m_columnInstances    = new MatrixHeadingInstanceList();
     this.m_rowInstances       = new MatrixHeadingInstanceList();
     this.m_cells              = new MatrixCellInstancesList();
     this.m_renderingPages     = new RenderingPagesRangesList();
     reportItemDef.CurrentPage = reportItemDef.StartPage;
     this.m_startPage          = reportItemDef.StartPage;
     if (reportItemDef.FirstCellInstances == null)
     {
         int count = reportItemDef.CellReportItems.Count;
         reportItemDef.FirstCellInstances = new BoolList(count);
         for (int i = 0; i < count; i++)
         {
             reportItemDef.FirstCellInstances.Add(true);
         }
     }
     this.m_inFirstPage = pc.ChunkManager.InFirstPage;
 }
 public MatrixHeadingInstance(ReportProcessing.ProcessingContext pc, int headingCellIndex, MatrixHeading matrixHeadingDef, bool isSubtotal, int reportItemDefIndex, VariantList groupExpressionValues, out NonComputedUniqueNames nonComputedUniqueNames)
 {
     this.m_uniqueName = pc.CreateUniqueName();
     if (isSubtotal && matrixHeadingDef.Subtotal.StyleClass != null)
     {
         base.m_instanceInfo = new MatrixSubtotalHeadingInstanceInfo(pc, headingCellIndex, matrixHeadingDef, this, isSubtotal, reportItemDefIndex, groupExpressionValues, out nonComputedUniqueNames);
         if (matrixHeadingDef.GetInnerStaticHeading() != null)
         {
             this.m_subHeadingInstances = new MatrixHeadingInstanceList();
         }
     }
     else
     {
         base.m_instanceInfo = new MatrixHeadingInstanceInfo(pc, headingCellIndex, matrixHeadingDef, this, isSubtotal, reportItemDefIndex, groupExpressionValues, out nonComputedUniqueNames);
         if (matrixHeadingDef.SubHeading != null)
         {
             this.m_subHeadingInstances = new MatrixHeadingInstanceList();
         }
     }
     this.m_renderingPages   = new RenderingPagesRangesList();
     this.m_matrixHeadingDef = matrixHeadingDef;
     this.m_isSubtotal       = isSubtotal;
     this.m_headingDefIndex  = reportItemDefIndex;
     if (!matrixHeadingDef.IsColumn)
     {
         pc.Pagination.EnterIgnoreHeight(matrixHeadingDef.StartHidden);
     }
     if (matrixHeadingDef.FirstHeadingInstances == null)
     {
         int count = matrixHeadingDef.ReportItems.Count;
         matrixHeadingDef.FirstHeadingInstances = new BoolList(count);
         for (int i = 0; i < count; i++)
         {
             matrixHeadingDef.FirstHeadingInstances.Add(true);
         }
     }
 }