@startuml
title Растеризация и вывод графического содержимого

start
:Выбрать тип фигуры (линия/эллипс/ломаная);

if (Линия?) then (да)
  :Отсечение + инкрементальная\nрастеризация + толщина;
elseif (Эллипс/дуга?) then (да)
  :Аналитическая проверка пикселей\nв ограничивающем прямоугольнике;
else (Ломаная)
  :Растеризация сегментов;
  if (Замкнута и filled?) then (да)
    :Поиск seed-точек;\nFlood Fill (4-связность);
  endif
endif

:Композиция результата в общий буфер;
:Передача буфера в текстуру UI;
:Отображение на холсте;
stop
@enduml
