示例#1
0
        internal void AddCellDiagonal(int cellIndex, RPLFormat.BorderStyles style, string width, string color, bool slantUp)
        {
            BorderCode borderCode = new BorderCode();
            byte       b          = (byte)(slantUp ? 32 : 16);

            borderCode.Ico24 = Word97Writer.ToIco24(color);
            double num = Word97Writer.ToPoints(width);

            borderCode.LineWidth = (byte)(num * 8.0);
            borderCode.Style     = ConvertBorderStyle(style);
            byte[] array = new byte[11]
            {
                (byte)cellIndex,
                (byte)(cellIndex + 1),
                b,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            };
            borderCode.Serialize2K3(array, 3);
            m_tapx.AddSprm(54831, 0, array);
        }
示例#2
0
 private void UpdateBorderColor(Positions position, int offset, int cellIndex, bool borderContext)
 {
     if (!borderContext)
     {
         if (!m_cellBorders[(int)position].Empty)
         {
             m_cellBorders[(int)position].Serialize97(m_tapx.Buf, offset + (int)position * 4);
             m_borderColors.SetColor(position, cellIndex, m_cellBorders[(int)position].Ico24);
         }
     }
     else if (!m_tableBorders[(int)position].Empty)
     {
         m_tableBorders[(int)position].Serialize97(m_tapx.Buf, offset + (int)position * 4);
         m_borderColors.SetColor(position, cellIndex, m_tableBorders[(int)position].Ico24);
     }
     m_cellBorders[(int)position] = new BorderCode();
 }
示例#3
0
 internal TableData(int tableLevel, bool layoutTable)
 {
     m_tapx = new SprmBuffer(2048, 2);
     m_tapx.AddSprm(9238, 1, null);
     m_tapx.AddSprm((ushort)((tableLevel > 1) ? 9292 : 9239), 1, null);
     m_tapx.AddSprm(26185, tableLevel, null);
     m_tableBorders    = new BorderCode[4];
     m_tableBorders[0] = new BorderCode();
     m_tableBorders[1] = new BorderCode();
     m_tableBorders[2] = new BorderCode();
     m_tableBorders[3] = new BorderCode();
     m_cellBorders     = new BorderCode[4];
     m_cellBorders[0]  = new BorderCode();
     m_cellBorders[1]  = new BorderCode();
     m_cellBorders[2]  = new BorderCode();
     m_cellBorders[3]  = new BorderCode();
     m_layoutTable     = layoutTable;
 }
示例#4
0
 internal void SetTableContext(BorderContext borderContext)
 {
     if (borderContext.Top)
     {
         m_tableBorders[0] = new BorderCode();
     }
     if (borderContext.Left)
     {
         m_tableBorders[1] = new BorderCode();
     }
     if (borderContext.Bottom)
     {
         m_tableBorders[2] = new BorderCode();
     }
     if (borderContext.Right)
     {
         m_tableBorders[3] = new BorderCode();
     }
 }
示例#5
0
 internal void ClearCellBorder(Positions position)
 {
     m_cellBorders[(int)position] = new BorderCode();
 }
示例#6
0
 internal void WriteBrc97(byte[] grpprl, int offset, BorderCode brc)
 {
     brc.Serialize97(grpprl, offset);
 }