@startuml title ЛР2 ИВ1: выделение, копирование и вставка start :Пользователь выбирает Select; :Формирование прямоугольника выделения; if (Copy/Cut?) then (да) :Пройти выделенную область; :Преобразовать индексы в RGBA; :Сохранить ClipboardFragment; if (Cut?) then (да) :Очистить выделенную область (индекс 0); endif endif if (Paste?) then (да) :Показать "плавающий" фрагмент; :Пользователь задаёт позицию; :CommitPaste -> запись в слой; :Прозрачные пиксели пропустить; endif :Обновить холст; stop @enduml