public override void AddSpan(int x, int len, int cover)
{
int backupCover = cover;
if (x == last_x + 1
&& m_spans[last_span_index].len < 0
&& cover == m_spans[last_span_index].cover_index)
{
//just append data to latest span ***
m_spans[last_span_index].len -= (short)len;
}
else
{
m_covers[m_cover_index] = (byte)cover;
last_span_index++;
//---------------------------------------------------
//start new
m_spans[last_span_index] = new ScanlineSpan((short)x, (short)(-len), m_cover_index);
m_cover_index++; //make it ready for next add
}
last_x = x + len - 1;
}
public override void ResetSpans()