fix:Change center binding to circular
This commit is contained in:
parent
65a105e30a
commit
45b7cfc14b
@ -1096,21 +1096,28 @@ export const snapToCenter = (
|
|||||||
elementsMap: ElementsMap,
|
elementsMap: ElementsMap,
|
||||||
p: GlobalPoint,
|
p: GlobalPoint,
|
||||||
): GlobalPoint => {
|
): GlobalPoint => {
|
||||||
const percent = 0.8;
|
const percent = 0.5;
|
||||||
|
|
||||||
const isPointDeepInside = isPointInElement(
|
const center = elementCenterPoint(element, elementsMap);
|
||||||
p,
|
|
||||||
{
|
|
||||||
...element,
|
|
||||||
x: element.x + (element.width * (1 - percent)) / 2,
|
|
||||||
y: element.y + (element.height * (1 - percent)) / 2,
|
|
||||||
width: element.width * percent,
|
|
||||||
height: element.height * percent,
|
|
||||||
},
|
|
||||||
elementsMap,
|
|
||||||
);
|
|
||||||
|
|
||||||
return isPointDeepInside ? elementCenterPoint(element, elementsMap) : p;
|
return pointDistance(center, p) <
|
||||||
|
(Math.min(element.width, element.height) / 2) * percent
|
||||||
|
? center
|
||||||
|
: p;
|
||||||
|
|
||||||
|
// const isPointDeepInside = isPointInElement(
|
||||||
|
// p,
|
||||||
|
// {
|
||||||
|
// ...element,
|
||||||
|
// x: element.x + (element.width * (1 - percent)) / 2,
|
||||||
|
// y: element.y + (element.height * (1 - percent)) / 2,
|
||||||
|
// width: element.width * percent,
|
||||||
|
// height: element.height * percent,
|
||||||
|
// },
|
||||||
|
// elementsMap,
|
||||||
|
// );
|
||||||
|
|
||||||
|
// return isPointDeepInside ? elementCenterPoint(element, elementsMap) : p;
|
||||||
};
|
};
|
||||||
|
|
||||||
const snapToMid = (
|
const snapToMid = (
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user