Olga_Brekhuntsova 7c65dd97cb HW 18-2 done пре 2 година
..
.vscode 2cfa4ff12b HW 18-2 done пре 2 година
.gitignore 2cfa4ff12b HW 18-2 done пре 2 година
.prettierrc.json 2cfa4ff12b HW 18-2 done пре 2 година
README.md 2cfa4ff12b HW 18-2 done пре 2 година
index.css 2cfa4ff12b HW 18-2 done пре 2 година
index.html 2cfa4ff12b HW 18-2 done пре 2 година
index.js 7c65dd97cb HW 18-2 done пре 2 година

README.md

HW-JS-18-2-Canvas

Line: In и Select работают

Ellipse: Не работала отрисовка при протягивании мыши справа налево (при уходе в отрицательную ось), т.е. радиус не может быть отрицательным. Исправила, взяв модуль числа

Rectangle: Не работал select для прямоугольников, нарисованных справа налево и/или снизу-вверх. Исправила, введя доп.условия в in для отрицательных ширины и высоты.

inBounds: при описании логики выделения области в событии mouseup, срабатывало также событие click. По несколько раз (на каждом элементе). Остановить обработку события click в коде mouseup по-легкому не смогла (погуглила и решения не нашла: все что пробовала, не срабатывало). Потому логику обработки выделения элементов, входящих в область, также вынесла в click. (установила условие, по которому click обрабатывается или как выделение области, или как клик на элементе). Вроде, работает корректно.

Circle.inBounds: подправила логику. Ранее было: если захватил больше половины круга, то он считался выделенным. Теперь: круг выделяется только если область выделения его полностью захватывает. Добавила условие выделения, если при выделении ведешь мышкой влево и/или вверх.

Ellipse и Rectangle.inBounds: по образу и подобию Circle. Только у Rectangle условия посложнее

Line.inBounds: учтена ширина линии

При выделении "редактор" иногда зависает. При обновлении все работает.

Хостинг http://hw_js_18_2.olgapistryak.fe.a-level.com.ua/