void AddLineBreakBefore(EditableRun beforeTextRun)
{
if (beforeTextRun == null)
{
this.EndWithLineBreak = true;
editableFlowLayer.InsertNewLine(currentLineNumber + 1);
}
else
{
List <EditableRun> tempTextRuns = new List <EditableRun>();
if (beforeTextRun != null)
{
foreach (EditableRun t in GetVisualElementForward(beforeTextRun))
{
tempTextRuns.Add(t);
}
}
this.EndWithLineBreak = true;
EditableTextLine newTextline = editableFlowLayer.InsertNewLine(currentLineNumber + 1);
this.LocalSuspendLineReArrange();
newTextline.LocalSuspendLineReArrange();
int j = tempTextRuns.Count;
for (int i = 0; i < j; ++i)
{
EditableRun t = tempTextRuns[i];
this.Remove(t);
newTextline.AddLast(t);
}
this.LocalResumeLineReArrange();
newTextline.LocalResumeLineReArrange();
}
}