Exemple #1
0
 internal void ReadRegionPageTotalInfo(PageTotalInfo pageTotalInfo)
 {
     if (m_regionPageTotalInfoOffset <= 0)
     {
         return;
     }
     BinaryReader.BaseStream.Seek(m_regionPageTotalInfoOffset, SeekOrigin.Begin);
     if (BinaryReader.ReadBoolean())
     {
         bool isCalculationDone = BinaryReader.ReadBoolean();
         bool isCounting        = BinaryReader.ReadBoolean();
         int  num = BinaryReader.ReadInt32();
         List <KeyValuePair <int, string> > list = new List <KeyValuePair <int, string> >(num);
         for (int i = 0; i < num; i++)
         {
             int    key   = BinaryReader.ReadInt32();
             string value = BinaryReader.ReadString();
             list.Add(new KeyValuePair <int, string>(key, value));
         }
         num = BinaryReader.ReadInt32();
         List <KeyValuePair <int, int> > list2 = new List <KeyValuePair <int, int> >(num);
         for (int j = 0; j < num; j++)
         {
             int key2   = BinaryReader.ReadInt32();
             int value2 = BinaryReader.ReadInt32();
             list2.Add(new KeyValuePair <int, int>(key2, value2));
         }
         pageTotalInfo.SetupPageTotalInfo(isCalculationDone, isCounting, list2, list);
     }
 }
Exemple #2
0
 internal PageContextCommon(string pageName, double pageHeight, bool registerEvents, bool consumeWhitespace, CreateAndRegisterStream createAndRegisterStream)
 {
     m_pageHeight                  = pageHeight;
     m_originalPageHeight          = pageHeight;
     m_registerEvents              = registerEvents;
     m_consumeWhitespace           = consumeWhitespace;
     m_sharedItemSizes             = new Hashtable();
     m_sharedEdgeItemSizes         = new Hashtable();
     m_sharedRenderItemSizes       = new Hashtable();
     m_sharedRenderEdgeItemSizes   = new Hashtable();
     m_sharedRenderRepeatItemSizes = new Hashtable();
     m_registeredStreamNames       = new Hashtable();
     m_registeredPBIgnored         = new Hashtable();
     m_createAndRegisterStream     = createAndRegisterStream;
     m_pageTotalInfo               = new PageTotalInfo(pageName);
 }
Exemple #3
0
 internal void SavePaginationMetadata(bool reportDone, PageTotalInfo pageTotalInfo)
 {
     if (m_stream == null || m_reportDone || !m_newPagesMetadata)
     {
         return;
     }
     m_reportDone = reportDone;
     BinaryWriter.BaseStream.Seek(m_offsetLastPage, SeekOrigin.Begin);
     BinaryWriter.Write(m_reportDone);
     BinaryWriter.Write(m_metadataPages.Count);
     for (int i = 0; i < m_metadataPages.Count; i++)
     {
         BinaryWriter.Write(m_metadataPages[i]);
     }
     m_regionPageTotalInfoOffset = BinaryWriter.BaseStream.Position;
     if (pageTotalInfo == null)
     {
         BinaryWriter.Write(value: false);
     }
     else
     {
         BinaryWriter.Write(value: true);
         BinaryWriter.Write(pageTotalInfo.CalculationDone);
         BinaryWriter.Write(pageTotalInfo.IsCounting);
         List <KeyValuePair <int, string> > pageNameList = pageTotalInfo.GetPageNameList();
         BinaryWriter.Write(pageNameList.Count);
         foreach (KeyValuePair <int, string> item in pageNameList)
         {
             BinaryWriter.Write(item.Key);
             BinaryWriter.Write(item.Value);
         }
         List <KeyValuePair <int, int> > pageNumberList = pageTotalInfo.GetPageNumberList();
         BinaryWriter.Write(pageNumberList.Count);
         foreach (KeyValuePair <int, int> item2 in pageNumberList)
         {
             BinaryWriter.Write(item2.Key);
             BinaryWriter.Write(item2.Value);
         }
     }
     BinaryWriter.Write(m_regionPageTotalInfoOffset);
     BinaryWriter.Flush();
     m_newPagesMetadata = false;
 }