Отчёт
This commit is contained in:
24
Report/lab2/uml/lr2-tools-and-fill.puml
Normal file
24
Report/lab2/uml/lr2-tools-and-fill.puml
Normal file
@@ -0,0 +1,24 @@
|
||||
@startuml
|
||||
title ЛР2 ИВ1: обработка инструментов рисования
|
||||
|
||||
start
|
||||
:Событие мыши в PixelCanvas;
|
||||
:Преобразование координат экрана -> пиксель;
|
||||
|
||||
if (Инструмент == Brush?) then (да)
|
||||
:Вычислить маску кисти (круг);
|
||||
:Записать выбранный индекс цвета;
|
||||
elseif (Инструмент == Eraser?) then (да)
|
||||
:Вычислить маску кисти (круг);
|
||||
:Записать индекс 0 (прозрачный);
|
||||
elseif (Инструмент == Fill?) then (да)
|
||||
:Запустить FloodFillService.Fill;
|
||||
:BFS по 4-связным соседям;
|
||||
:Перекрасить только область target-индекса;
|
||||
else (Select)
|
||||
:Передать управление блоку выделения;
|
||||
endif
|
||||
|
||||
:Обновить итоговый буфер и холст;
|
||||
stop
|
||||
@enduml
|
||||
Reference in New Issue
Block a user