internal void Remove(int lineId)
{
#if DEBUG
if (lineId < 0)
{
throw new NotSupportedException();
}
#endif
if ((layerFlags & FLOWLAYER_HAS_MULTILINE) == 0)
{
return;
}
List<EditableTextLine> lines = (List<EditableTextLine>)lineCollection;
if (lines.Count < 2)
{
return;
}
EditableTextLine tobeRemovedLine = lines[lineId];
tobeRemovedLine.editableFlowLayer = null;
int cy = tobeRemovedLine.Top;
lines.RemoveAt(lineId); int j = lines.Count;
for (int i = lineId; i < j; ++i)
{
EditableTextLine line = lines[i];
line.SetTop(cy); line.SetLineNumber(i); cy += line.ActualLineHeight;
}
if (lines.Count == 1)
{
lineCollection = lines[0];
FlowLayerHasMultiLines = false;
}
}
}