Browse Source

feat:组合图元rect

ananzhusen 9 tháng trước cách đây
mục cha
commit
c5713ab0d1
1 tập tin đã thay đổi với 25 bổ sung0 xóa
  1. 25 0
      src/views/components/PenProps.vue

+ 25 - 0
src/views/components/PenProps.vue

@@ -1668,6 +1668,17 @@ function initPenData() {
 const watcher = watch(() => selections.pen.id, initPenData);
 
 const getRect = () => {
+  if(data.pen.parentId){
+    const origin = meta2d.store.data.origin;
+    const scale = meta2d.store.data.scale;
+    data.rect = {
+      x: (data.pen.calculative.worldRect.x - origin.x) / scale,
+      y: (data.pen.calculative.worldRect.y - origin.y) / scale,
+      width: data.pen.calculative.worldRect.width / scale,
+      height: data.pen.calculative.worldRect.height / scale
+    }
+    return;
+  }
   data.rect = meta2d.getPenRect(data.pen);
 };
 const detailResizePens = () => {
@@ -1781,6 +1792,20 @@ const changeID = (value: any) => {
 };
 
 const changeRectValue = (prop: string) => {
+  if(data.pen.parentId){
+    if(['x','y','width','height'].includes(prop)){
+      const scale = meta2d.store.data.scale;
+      const origin = meta2d.store.data.origin;
+      let rect = {
+        x:data.rect.x*scale+origin.x,
+        y:data.rect.y*scale+origin.y,
+        width:data.rect.width*scale,
+        height:data.rect.height*scale,
+      }
+      meta2d.updateRectbyChild(rect,data.pen,meta2d.store.pens[data.pen.parentId]);
+      return;
+    }
+  }
   data.rect.id = data.pen.id;
   data.rect.ratio = data.pen.ratio;
   updatePen(data.rect, prop);