2021-07-08 01:38:10 +03:00
|
|
|
|
/**
|
2021-07-11 16:26:27 +03:00
|
|
|
|
* Возвращает координаты позичии курсора
|
2021-07-08 01:38:10 +03:00
|
|
|
|
* @param {Object} canvas canvas с которого считывается позиция курсора
|
|
|
|
|
* @param {Event} event
|
|
|
|
|
* @return {Object} координаты X, Y положения курсора на canvas
|
|
|
|
|
*/
|
2021-07-04 19:42:03 +03:00
|
|
|
|
export function getMousePos(canvas, event) {
|
|
|
|
|
let rect = canvas.getBoundingClientRect();
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
x: event.clientX - rect.left,
|
|
|
|
|
y: event.clientY - rect.top,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-08 01:38:10 +03:00
|
|
|
|
/**
|
|
|
|
|
* Проверяет положение курсора в области объекта
|
|
|
|
|
* @param {Object} mousePos { x:, y: } курсора мыши
|
|
|
|
|
* @param {Object} rect квадратная область
|
|
|
|
|
* @return {Bool}
|
|
|
|
|
*/
|
2021-07-04 19:42:03 +03:00
|
|
|
|
export function isInside(mousePos, rect) {
|
|
|
|
|
return mousePos.x > rect.x && mousePos.x < rect.x + rect.w && mousePos.y < rect.y + rect.h && mousePos.y > rect.y;
|
|
|
|
|
}
|