mirror of
https://github.com/idrawjs/idraw
synced 2026-05-24 10:08:34 +00:00
fix: fix scale-top-direction for element
This commit is contained in:
parent
0e22e48f12
commit
3d63c4241e
1 changed files with 11 additions and 15 deletions
|
|
@ -118,7 +118,7 @@ export class Element {
|
|||
case 'top': {
|
||||
if (elem.h - moveY > 0) {
|
||||
// elem.y += moveY;
|
||||
const p = calcuScaleElemPosition(elem, moveX, moveY, direction);
|
||||
const p = calcuScaleElemPosition(elem, moveX, moveY, direction, scale);
|
||||
// // elem.x = p.x;
|
||||
elem.y = p.y;
|
||||
elem.h -= moveY;
|
||||
|
|
@ -218,7 +218,8 @@ function calcuScaleElemPosition(
|
|||
elem: TypeElement<keyof TypeElemDesc>,
|
||||
moveX: number,
|
||||
moveY: number,
|
||||
direction: TypeHelperWrapperDotDirection
|
||||
direction: TypeHelperWrapperDotDirection,
|
||||
scale: number,
|
||||
): TypePoint {
|
||||
const p = { x: elem.x, y: elem.y };
|
||||
let angle = elem.angle;
|
||||
|
|
@ -230,19 +231,14 @@ function calcuScaleElemPosition(
|
|||
break;
|
||||
}
|
||||
case 'top': {
|
||||
// if (elem.angle < 90) {
|
||||
// p.x = p.x - moveY * Math.sin(parseRadian(elem.angle));
|
||||
// p.y = p.y + moveY * Math.cos(parseRadian(elem.angle));
|
||||
// // parseRadian(elem.angle)
|
||||
// // p.y += moveY;
|
||||
// } else {
|
||||
// p.y += moveY;
|
||||
// }
|
||||
|
||||
// TODO
|
||||
parseRadian(elem.angle)
|
||||
|
||||
p.y += moveY;
|
||||
if (elem.angle < 90) {
|
||||
p.x = p.x - (moveY) * Math.sin(parseRadian(elem.angle));
|
||||
p.y = p.y + (moveY) * Math.cos(parseRadian(elem.angle));
|
||||
// parseRadian(elem.angle)
|
||||
// p.y += moveY;
|
||||
} else {
|
||||
p.y += moveY;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'top-right': {
|
||||
|
|
|
|||
Loading…
Reference in a new issue