private Place PrevPlace(Place p)
{
if (p.iChar == 0)
{
// move to previous line
if (p.iLine == 0)
{
// already at first line, move to the last character at last line
return new Place(tb.GetLineLength(tb.LinesCount - 1), tb.LinesCount - 1);
}
else
{
return new Place(tb.GetLineLength(p.iLine - 1) - 1, p.iLine - 1);
}
}
else
{
return new Place(p.iChar - 1, p.iLine);
}
}