Нужно вывести текст большое количество текста в произвольном месте графическом режиме

LineTo(x, y) – рисует отрезок от точки, в которой на данный момент находится конец отрезка, до точки (x, y), а начальная позиция задается с помощью процедуры MoveTo. -Нужна подобная процедура только для работы с текстом в графическом режиме. Что можете посоветовать? TextOut - не подходит весь текст выводится в одну строку. DrawTextCentered - тоже не подходит. Центрует весь текст Программа Pascal ABS.Net

А что мешает самому реализовать? Ну, если хотите, вот:

uses GraphABC;

procedure OutTextRect(Left, Top, Width : Integer; Txt : String);
begin
var Words := Txt.ToWords(' ');
var h := TextHeight(Txt);
var S : String := '';

var nextWord : Boolean;
foreach var Word in Words do //---------- соберём строки из слов ----------
  repeat
    nextWord := True;
    if TextWidth((S + ' ' + Word).Trim) <= Width then // сцепляем слова
      S := (S + ' ' + Word).Trim
      
    else if S.Length = 0 then // слово целиком не лезет в ширину
      begin //---------- соберём строки из букв ----------
        foreach var Letter in Word do
          if TextWidth(S + Letter) <= Width then
            S += Letter
          else
            begin
              TextOut(Left, Top, S);
              Top += h;
              S := Letter;
            end;
      end
      
    else // нужно вывести
      begin
        TextOut(Left, Top, S);
        Top += h;
        S := '';
        nextWord := False;
      end;
  until nextWord;
    
if S.Length > 0 then // если ещё что-то не вывели, нужно это сделать
  TextOut(Left, Top, S);
end;

begin
  Rectangle(10-1, 20-1, 510+1, 400);
  Font.Size  := 20;
  Font.Color := RGB(0,50,150);
  OutTextRect(10, 20, 500, 'Скороговорун скороговорил скоровыговаривал, что ' +
  'всех скороговорок не перескороговоришь не перескоровыговариваешь, но, ' +
  'заскороговорившись, выскороговорил, что все скороговорки перескороговоришь, ' +
  'да не перескоровыговариваешь. 123456789012345678901234567890123456789012345 ' +
  'Вот такие вот дела!');
end.

Хотя, в принципе, можно просто так:

 uses GraphABC;
 begin
   TextOut(10,10,'Один'+NewLine+'два'+NewLine+'три.');
   DrawTextCentered(20,20,100,200,'Один один один один один один один'+NewLine+'два'+NewLine+'три.');
 end.