From be53d035ecb8715734b2977da2cd91b3581b446f Mon Sep 17 00:00:00 2001 From: chenshenhai Date: Wed, 16 Jun 2021 15:14:42 +0800 Subject: [PATCH] feat: @idraw/core limit element num and angle --- packages/core/src/lib/element.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/core/src/lib/element.ts b/packages/core/src/lib/element.ts index dd2954e..22d85bc 100644 --- a/packages/core/src/lib/element.ts +++ b/packages/core/src/lib/element.ts @@ -3,8 +3,8 @@ import { TypePoint, TypeData, TypeHelperWrapperDotDirection, - // TypeElement, - // TypeElemDesc, + TypeElement, + TypeElemDesc, } from '@idraw/types'; import util from '@idraw/util'; import { rotateElement } from './transform'; @@ -74,6 +74,7 @@ export class Element { const moveY = point.y - prevPoint.y; data.elements[index].x += (moveX / scale); data.elements[index].y += (moveY / scale); + this.limitElementAttrs(data.elements[index]); } transformElement( @@ -167,6 +168,8 @@ export class Element { } } + this.limitElementAttrs(elem); + return { width: limitNum(elem.w), height: limitNum(elem.h), @@ -184,5 +187,13 @@ export class Element { } return idx; } + + limitElementAttrs(elem: TypeElement) { + elem.x = limitNum(elem.x); + elem.y = limitNum(elem.y); + elem.w = limitNum(elem.w); + elem.h = limitNum(elem.h); + elem.angle = limitAngle(elem.angle || 0); + } }