Example #1
0
        public override bool Equals(object o)
        {
            StringWrapperBIFF8 stringWrapperBIFF = (StringWrapperBIFF8)o;

            if (m_runsList == null != (stringWrapperBIFF.m_runsList == null))
            {
                return(false);
            }
            if ((stringWrapperBIFF.m_grbit & 0xFE) != (m_grbit & 0xFE))
            {
                return(false);
            }
            if (stringWrapperBIFF.m_rgb.Length != m_rgb.Length)
            {
                return(false);
            }
            if (string.Compare(stringWrapperBIFF.m_rgb, m_rgb, StringComparison.Ordinal) != 0)
            {
                return(false);
            }
            if (m_runsList != null && m_runsList.Count > 0)
            {
                for (int i = 0; i < m_runsList.Count; i++)
                {
                    Pair <int, int> pair  = stringWrapperBIFF.m_runsList[i];
                    Pair <int, int> pair2 = m_runsList[i];
                    if (pair.First != pair2.First || pair.Second != pair2.Second)
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
 internal int AddString(StringWrapperBIFF8 aWrapper)
 {
     if (m_stringTable.ContainsKey(aWrapper))
     {
         return(m_stringTable[aWrapper]);
     }
     return(InternalAddString(aWrapper));
 }
 private int InternalAddString(StringWrapperBIFF8 aWrapper)
 {
     m_totalStrings++;
     m_stringTable[aWrapper] = m_stringOrder.Count;
     m_stringOrder.Add(aWrapper);
     if (m_stringTable.Count < m_baseUniqueStrings)
     {
         m_baseUniqueStrings++;
     }
     m_offset += aWrapper.Size;
     return(m_stringOrder.Count - 1);
 }
        private TransformResult CreateRichStringRecord(RichTextInfo richTextInfo, CellRenderingDetails details)
        {
            StringWrapperBIFF8 stringWrapperBIFF = richTextInfo.CompleteRun();

            if (stringWrapperBIFF.Cch > 32767)
            {
                throw new ReportRenderingException(ExcelRenderRes.MaxStringLengthExceeded(details.Row.ToString(CultureInfo.InvariantCulture), details.Column.ToString(CultureInfo.InvariantCulture)));
            }
            int isst = m_stringHandler.AddString(stringWrapperBIFF);

            OnCellBegin(253, details.Column);
            RecordFactory.LABELSST(details.Output, (ushort)details.Row, (ushort)details.Column, details.Ixfe, (uint)isst);
            return(TransformResult.Handled);
        }
        internal StringWrapperBIFF8 CompleteRun()
        {
            if (m_font != null)
            {
                int num = m_styleContainer.AddFont(m_font);
                m_maxFontIndex = Math.Max(m_maxFontIndex, num);
                m_fontList.Add(new Pair <int, int>(m_startIndex, num));
            }
            StringWrapperBIFF8 stringWrapperBIFF = new StringWrapperBIFF8(m_stringBuilder.ToString());

            stringWrapperBIFF.SetRunsList(m_fontList);
            m_fontList      = null;
            m_font          = null;
            m_stringBuilder = null;
            return(stringWrapperBIFF);
        }