/// <summary> /// Writes the line. /// </summary> /// <param name="line">The line.</param> public void WriteLine(StringPart line) { //var t = text[text.Count - 1]; //text.RemoveAt(text.Count - 1); //t.Batch.Clear(); //t.Batch.Write(line); //t.Height = t.Batch.CalculateArea(Int2D.Zero, Justification, Area.Width).Height; //text.Insert(0, t); Write(line.ToString()); moveNextDrawToNewLine = true; }
/// <summary> /// Appends text onto the last line written. /// </summary> /// <param name="text">The text to append.</param> public void Write(StringPart line) { if (moveNextDrawToNewLine || text.Count == 0) { text.Add(line); moveNextDrawToNewLine = false; } else { var current = text[text.Count - 1]; text[text.Count - 1] = current.ToString() + line.ToString(); } //if (line[line.Length - 1] == '\n') // moveNextDrawToNewLine = true; text.RemoveRange(0, Math.Max(0, text.Count - historyCapacity)); if (startIndex == text.Count - 1) { ScrollToNewest(); } }