示例#1
0
 public DrawingList(DrawingList <T> srcCopy, int plusSize)
 {
     Allocate(srcCopy.AllocatedSize, srcCopy.AllocatedSize + plusSize);
     if (srcCopy.Count != 0)
     {
         srcCopy.Array.CopyTo(Array, 0);
     }
 }
示例#2
0
 public CellAARasterizer()
 {
     m_sorted_cells = new DrawingList <CellAA>();
     m_sorted_y     = new DrawingList <SortedY>();
     MinX           = (0x7FFFFFFF);
     MinY           = (0x7FFFFFFF);
     MaxX           = (-0x7FFFFFFF);
     MaxY           = (-0x7FFFFFFF);
     Sorted         = false;
     ResetCurrentCell();
     this.m_cells = new DrawingList <CellAA>(BLOCK_SIZE);
 }
示例#3
0
 void WriteCurrentCell()
 {
     if ((cCell_area | cCell_cover) != 0)
     {
         //check cell limit
         if (TotalCells >= BLOCK_LIMIT)
         {
             return;
         }
         //------------------------------------------
         //alloc if required
         if ((TotalCells + 1) >= m_cells.AllocatedSize)
         {
             m_cells = new DrawingList <CellAA>(m_cells, BLOCK_SIZE);
         }
         m_cells.SetData(TotalCells, new CellAA(
                             cCell_x, cCell_y,
                             cCell_cover, cCell_area));
         TotalCells++;
     }
 }