public DrawingList(DrawingList <T> srcCopy, int plusSize) { Allocate(srcCopy.AllocatedSize, srcCopy.AllocatedSize + plusSize); if (srcCopy.Count != 0) { srcCopy.Array.CopyTo(Array, 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); }
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++; } }