private void addList(List list, float left, float right, int alignment)
{
PdfChunk chunk;
PdfChunk overflow;
ArrayList allActions = new ArrayList();
ProcessActions(list, null, allActions);
int aCounter = 0;
foreach (IElement ele in list.Items)
{
switch (ele.Type)
{
case LISTITEM:
ListItem item = (ListItem)ele;
_line = new PdfLine(left + item.IndentationLeft, right, alignment, item.Leading);
_line.ListItem = item;
foreach (Chunk c in item.Chunks)
{
chunk = new PdfChunk(c, (PdfAction)(allActions[aCounter++]));
while ((overflow = _line.Add(chunk)) != null)
{
addLine(_line);
_line = new PdfLine(left + item.IndentationLeft, right, alignment, item.Leading);
chunk = overflow;
}
_line.ResetAlignment();
addLine(_line);
_line = new PdfLine(left + item.IndentationLeft, right, alignment, _leading);
}
break;
case LIST:
List sublist = (List)ele;
addList(sublist, left + sublist.IndentationLeft, right, alignment);
break;
}
}
}