Olga_Brekhuntsova 2cfa4ff12b HW 18-2 done | пре 2 година | |
---|---|---|
.. | ||
.vscode | пре 2 година | |
js | пре 2 година | |
.gitignore | пре 2 година | |
.prettierrc.json | пре 2 година | |
README.md | пре 2 година | |
index.css | пре 2 година | |
index.html | пре 2 година | |
index.js | пре 2 година |
Line: In и Select работают
Ellipse: Не работала отрисовка при протягивании мыши справа налево (при уходе в отрицательную ось), т.е. радиус не может быть отрицательным. Исправила, взяв модуль числа
Rectangle: Не работал select для прямоугольников, нарисованных справа налево и/или снизу-вверх. Исправила, введя доп.условия в in для отрицательных ширины и высоты.
inBounds: при описании логики выделения области в событии mouseup, срабатывало также событие click. По несколько раз (на каждом элементе). Остановить обработку события click в коде mouseup по-легкому не смогла (погуглила и решения не нашла: все что пробовала, не срабатывало). Потому логику обработки выделения элементов, входящих в область, также вынесла в click. (установила условие, по которому click обрабатывается или как выделение области, или как клик на элементе). Вроде, работает корректно.
Circle.inBounds: подправила логику. Ранее было: если захватил больше половины круга, то он считался выделенным. Теперь: круг выделяется только если область выделения его полностью захватывает. Добавила условие выделения, если при выделении ведешь мышкой влево и/или вверх.
Ellipse и Rectangle.inBounds: по образу и подобию Circle. Только у Rectangle условия посложнее
Line.inBounds: учтена ширина линии
При выделении "редактор" иногда зависает. При обновлении все работает.