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