internal float [][] GetEventWidths(float xPos, int firstRow, int lastRow, bool includeHeaders)
{
if (includeHeaders)
{
firstRow = Math.Max(firstRow, headerRows);
lastRow = Math.Max(lastRow, headerRows);
}
float[][] widths = new float[(includeHeaders ? headerRows : 0) + lastRow - firstRow][];
if (isColspan)
{
int n = 0;
if (includeHeaders)
{
for (int k = 0; k < headerRows; ++k)
{
PdfPRow row = (PdfPRow)rows[k];
if (row == null)
{
++n;
}
else
{
widths[n++] = row.GetEventWidth(xPos);
}
}
}
for (; firstRow < lastRow; ++firstRow)
{
PdfPRow row = (PdfPRow)rows[firstRow];
if (row == null)
{
++n;
}
else
{
widths[n++] = row.GetEventWidth(xPos);
}
}
}
else
{
float[] width = new float[absoluteWidths.Length + 1];
width[0] = xPos;
for (int k = 0; k < absoluteWidths.Length; ++k)
{
width[k + 1] = width[k] + absoluteWidths[k];
}
for (int k = 0; k < widths.Length; ++k)
{
widths[k] = width;
}
}
return(widths);
}