Где находится класс RenderObject для виджета «Текст» в исходном коде Flutter - PullRequest
0 голосов
/ 28 июня 2019

Я исследую, как работает виджет Текст во Флаттере. Я знаю, что виджеты - это просто чертежи. Это элемент, который реализует виджет. И элемент делает RenderObject для макета и рисует виджет на экране. Я думаю, что так оно и есть.

  • Исходный код для текстового виджета легко найти. Это здесь .
  • В движке Flutter также есть текстовые классы стилей здесь .
  • И классы текстовой библиотеки низкого уровня в C / C ++ здесь .

Но я не могу найти ничего, что называется RenderText. Кто делает рендеринг текста? Каков его элемент?

1 Ответ

0 голосов
/ 28 июня 2019

Я нашел это.Он называется RenderParagraph, а не RenderText.Виджет Text создает виджет RichText в своем методе сборки.RenderParagraph - это RenderObject, соответствующий виджету RichText.Другой важный класс - TextPainter, который используется RenderParagraph для координации рисования текста абзаца.Само рисование выполняется еще ниже в библиотеке LibTxt на C / C ++.

...