@meta2d/core 1.0.60 → 1.0.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -138,10 +138,10 @@ export class Dialog {
138
138
  this.body.style.height = 'calc(100% - 26px)';
139
139
  }
140
140
  if (rect) {
141
- this.dialog.style.top = rect.y ? (rect.y + 'px') : '15vh';
142
- this.dialog.style.left = rect.x ? (rect.x + 'px') : '10%';
143
141
  this.dialog.style.width = rect.width ? (rect.width + 'px') : '80%';
144
142
  this.dialog.style.height = rect.height ? (rect.height + 'px') : '420px';
143
+ this.dialog.style.top = rect.y ? (rect.y + 'px') : '15vh';
144
+ this.dialog.style.left = rect.x ? (rect.x + 'px') : `calc( 50% - ${rect.width ? rect.width / 2 + 'px' : '40%'} )`;
145
145
  }
146
146
  this.box.style.display = 'block';
147
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../packages/core/src/dialog/dialog.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IAUE;IATnB,GAAG,CAAc;IACjB,MAAM,CAAc;IACpB,MAAM,CAAc;IACpB,KAAK,CAAc;IACnB,KAAK,CAAc;IACnB,IAAI,CAAc;IAClB,CAAC,CAAS;IACV,CAAC,CAAS;IACV,GAAG,CAAS;IACZ,YAAmB,aAA0B;QAA1B,kBAAa,GAAb,aAAa,CAAa;QAC3C,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG;;;;;;;WAOhB,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,oBAAoB,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC;QAC3C,MAAM,CAAC,SAAS,GAAG,sBAAsB,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,uBAAuB,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,qBAAqB,CAAC;QAE7C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;YAC1B,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,CAAC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,KAAU,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;gBACzD,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;YACxB,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAEjC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACjC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACpB,KAAK,CAAC,UAAU,CACd;;;;;;;;uBAQe,CAChB,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;;;;;;;;;UAWE,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;UAEE,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;;;;UAME,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;;;;;;;UASE,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;UAEE,CACH,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;WAEG,CACJ,CAAC;YACF,KAAK,CAAC,UAAU,CACd;;;UAGE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAc,EAAE,GAAY,EAAE,IAAoD;QACrF,IAAG,CAAC,GAAG,EAAC,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAG,GAAG,KAAK,IAAI,CAAC,GAAG,EAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACjB,CAAC;QACD,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QACxC,IAAG,CAAC,KAAK,EAAC,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAE,QAAQ,CAAC;QACrC,CAAC;aAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,WAAW,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC;QAC/C,CAAC;QACD,IAAG,IAAI,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAA,CAAC,CAAA,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC,MAAM,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC,KAAK,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA,CAAC,CAAA,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC,KAAK,CAAA;YAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA,CAAC,CAAA,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA,CAAC,CAAC,OAAO,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACnC,CAAC;IAED,IAAI;QACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAClC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../packages/core/src/dialog/dialog.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,11 @@ export interface Event {
21
21
  conditionType?: string;
22
22
  message?: string;
23
23
  callback?: string;
24
+ list?: {
25
+ params?: string;
26
+ value?: EventValue;
27
+ }[];
28
+ timeout?: number;
24
29
  }
25
30
  export declare enum EventAction {
26
31
  Link = 0,
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../packages/core/src/event/event.ts"],"names":[],"mappings":"AA0CA,MAAM,CAAN,IAAY,WAmBX;AAnBD,WAAY,WAAW;IACrB,6CAAI,CAAA;IACJ,qDAAQ,CAAA;IACR,6DAAY,CAAA;IACZ,6DAAY,CAAA;IACZ,2DAAW,CAAA;IACX,yCAAE,CAAA;IACF,qDAAQ,CAAA;IACR,6CAAI,CAAA;IACJ,yDAAU,CAAA;IACV,yDAAU,CAAA;IACV,wDAAS,CAAA;IACT,8DAAY,CAAA;IACZ,4DAAW,CAAA;IACX,wDAAS,CAAA;IACT,kDAAM,CAAA;IACN,sDAAQ,CAAA;IACR,4DAAW,CAAA;IACX,4EAAmB,CAAA;AACrB,CAAC,EAnBW,WAAW,KAAX,WAAW,QAmBtB"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../packages/core/src/event/event.ts"],"names":[],"mappings":"AA+CA,MAAM,CAAN,IAAY,WAmBX;AAnBD,WAAY,WAAW;IACrB,6CAAI,CAAA;IACJ,qDAAQ,CAAA;IACR,6DAAY,CAAA;IACZ,6DAAY,CAAA;IACZ,2DAAW,CAAA;IACX,yCAAE,CAAA;IACF,qDAAQ,CAAA;IACR,6CAAI,CAAA;IACJ,yDAAU,CAAA;IACV,yDAAU,CAAA;IACV,wDAAS,CAAA;IACT,8DAAY,CAAA;IACZ,4DAAW,CAAA;IACX,wDAAS,CAAA;IACT,kDAAM,CAAA;IACN,sDAAQ,CAAA;IACR,4DAAW,CAAA;IACX,4EAAmB,CAAA;AACrB,CAAC,EAnBW,WAAW,KAAX,WAAW,QAmBtB"}
@@ -117,6 +117,10 @@ export interface Pen extends Rect {
117
117
  */
118
118
  lineGradientAngle?: number;
119
119
  gradientColors?: string;
120
+ switch?: boolean;
121
+ checked?: boolean;
122
+ onBackground?: string;
123
+ onGradientColors?: string;
120
124
  lineGradientColors?: string;
121
125
  lineCap?: CanvasLineCap;
122
126
  fromLineCap?: CanvasLineCap;
@@ -197,6 +201,7 @@ export interface Pen extends Rect {
197
201
  animateReverse?: boolean;
198
202
  keepAnimateState?: boolean;
199
203
  lineAnimateType?: LineAnimateType;
204
+ animateName?: string;
200
205
  frames?: Pen[];
201
206
  animateList?: Pen[][];
202
207
  animateInterval?: number;
@@ -205,6 +210,10 @@ export interface Pen extends Rect {
205
210
  animateShadowBlur?: number;
206
211
  input?: boolean;
207
212
  dropdownList?: Dropdown[];
213
+ dropdownBackground?: string;
214
+ dropdownColor?: string;
215
+ dropdownHoverColor?: string;
216
+ dropdownHoverBackground?: string;
208
217
  events?: Event[];
209
218
  iframe?: string;
210
219
  video?: string;
@@ -417,6 +426,9 @@ export interface Pen extends Rect {
417
426
  onended?: (pen: Pen) => void;
418
427
  singleton?: any;
419
428
  gradientColors?: string;
429
+ onBackground?: string;
430
+ onGradientColors?: string;
431
+ checked?: boolean;
420
432
  lineGradientColors?: string;
421
433
  gradient?: CanvasGradient;
422
434
  lineGradient?: CanvasGradient;
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../packages/core/src/pen/model.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare function drawImage(ctx: CanvasRenderingContext2D | OffscreenCanva
19
19
  */
20
20
  export declare function getTextColor(pen: Pen, store: Meta2dStore): string;
21
21
  export declare function drawIcon(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, pen: Pen): void;
22
+ export declare function drawDropdown(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, pen: Pen): void;
22
23
  /**
23
24
  * canvas2svg 中对 font 的解析规则比 canvas 中简单,能识别的类型很少
24
25
  * @returns ctx.font
package/src/pen/render.js CHANGED
@@ -109,6 +109,10 @@ function getBkRadialGradient(ctx, pen) {
109
109
  if (!gradientColors) {
110
110
  return;
111
111
  }
112
+ let color = pen.calculative.gradientColors;
113
+ if (pen.calculative.checked) {
114
+ color = pen.calculative.onGradientColors;
115
+ }
112
116
  const { width, height, center } = worldRect;
113
117
  const { x: centerX, y: centerY } = center;
114
118
  let r = width;
@@ -116,7 +120,7 @@ function getBkRadialGradient(ctx, pen) {
116
120
  r = height;
117
121
  }
118
122
  r *= 0.5;
119
- const { colors } = formatGradient(gradientColors);
123
+ const { colors } = formatGradient(color);
120
124
  const grd = ctx.createRadialGradient(centerX, centerY, r * (gradientRadius || 0), centerX, centerY, r);
121
125
  colors.forEach((stop) => {
122
126
  grd.addColorStop(stop.i, stop.color);
@@ -129,7 +133,11 @@ function getBkGradient(ctx, pen) {
129
133
  { x: ex, y: y + height / 2 },
130
134
  { x: x, y: y + height / 2 },
131
135
  ];
132
- const { angle, colors } = formatGradient(pen.calculative.gradientColors);
136
+ let color = pen.calculative.gradientColors;
137
+ if (pen.calculative.checked) {
138
+ color = pen.calculative.onGradientColors;
139
+ }
140
+ const { angle, colors } = formatGradient(color);
133
141
  let r = getGradientR(angle, width, height);
134
142
  points.forEach((point) => {
135
143
  rotatePoint(point, angle, center);
@@ -994,6 +1002,25 @@ export function drawIcon(ctx, pen) {
994
1002
  ctx.fillText(pen.calculative.icon, x, y);
995
1003
  ctx.restore();
996
1004
  }
1005
+ export function drawDropdown(ctx, pen) {
1006
+ const scale = pen.calculative.canvas.store.data.scale;
1007
+ const inputPenId = pen.calculative.canvas.inputDiv.dataset.penId;
1008
+ const { x, y, width, height } = pen.calculative.worldRect;
1009
+ ctx.save();
1010
+ ctx.beginPath();
1011
+ if (pen.id === inputPenId) {
1012
+ ctx.moveTo(x + width - 20 * scale, y + height / 2 + 2 * scale);
1013
+ ctx.lineTo(x + width - 14 * scale, y + height / 2 - 4 * scale);
1014
+ ctx.lineTo(x + width - 8 * scale, y + height / 2 + 2 * scale);
1015
+ }
1016
+ else {
1017
+ ctx.moveTo(x + width - 20 * scale, y + height / 2 - 4 * scale);
1018
+ ctx.lineTo(x + width - 14 * scale, y + height / 2 + 2 * scale);
1019
+ ctx.lineTo(x + width - 8 * scale, y + height / 2 - 4 * scale);
1020
+ }
1021
+ ctx.stroke();
1022
+ ctx.restore();
1023
+ }
997
1024
  /**
998
1025
  * canvas2svg 中对 font 的解析规则比 canvas 中简单,能识别的类型很少
999
1026
  * @returns ctx.font
@@ -1072,6 +1099,11 @@ export function renderPen(ctx, pen, download) {
1072
1099
  pen.mouseDownBackground ||
1073
1100
  pSBC(-0.4, pen.calculative.background || store.data.penBackground);
1074
1101
  }
1102
+ else if (pen.switch && pen.calculative.checked) {
1103
+ if (!pen.calculative.bkType) {
1104
+ fill = pen.onBackground;
1105
+ }
1106
+ }
1075
1107
  else if (pen.calculative.hover) {
1076
1108
  _stroke = pen.hoverColor || store.options.hoverColor;
1077
1109
  fill = pen.hoverBackground || store.options.hoverBackground;
@@ -1201,6 +1233,9 @@ export function renderPen(ctx, pen, download) {
1201
1233
  if (!(pen.image && pen.calculative.img) && pen.calculative.icon) {
1202
1234
  drawIcon(ctx, pen);
1203
1235
  }
1236
+ if (pen.dropdownList) {
1237
+ drawDropdown(ctx, pen);
1238
+ }
1204
1239
  if (!textFlip || !textRotate) {
1205
1240
  ctx.restore();
1206
1241
  }
@@ -1366,6 +1401,9 @@ export function renderPenRaw(ctx, pen, rect, download) {
1366
1401
  else if (pen.calculative.icon) {
1367
1402
  drawIcon(ctx, pen);
1368
1403
  }
1404
+ if (pen.dropdownList) {
1405
+ drawDropdown(ctx, pen);
1406
+ }
1369
1407
  if (!textFlip || !textRotate) {
1370
1408
  ctx.restore();
1371
1409
  }
@@ -1407,6 +1445,8 @@ export function renderPenRaw(ctx, pen, rect, download) {
1407
1445
  * @param canUsePath 是否可使用 Path2D, downloadSvg 不可使用 path2D
1408
1446
  */
1409
1447
  export function ctxDrawPath(canUsePath = true, ctx, pen, store, fill) {
1448
+ if (pen.name === 'drawCommand')
1449
+ return;
1410
1450
  const path = canUsePath
1411
1451
  ? store.path2dMap.get(pen)
1412
1452
  : globalStore.path2dDraws[pen.name];
@@ -2923,7 +2963,7 @@ function drawFuncGenerator(ctx, pen) {
2923
2963
  }
2924
2964
  catch (e) {
2925
2965
  // pass
2926
- console.log(e, 'error', cs);
2966
+ // console.log(e,'error',cs);
2927
2967
  }
2928
2968
  }, {});
2929
2969
  }
@@ -3092,6 +3132,7 @@ function dealWithVisio(command, pen, startX, startY) {
3092
3132
  const angleDeg = command.v.C; // 主轴相对于 x 轴的角度 (度)
3093
3133
  const axisRatio = command.v.D * (width / height) * (originHeight / originWidth); // 长轴和短轴的比率
3094
3134
  //
3135
+ const crossProduct = (endX - startX) * (ctrlY - startY) - (endY - startY) * (ctrlX - startX) > 0;
3095
3136
  const params = calculateEllipseParameters(startX, startY, endX, endY, ctrlX, ctrlY, axisRatio);
3096
3137
  // 开始绘制路径
3097
3138
  !command.orign && (command.orign = {});
@@ -3113,12 +3154,48 @@ function dealWithVisio(command, pen, startX, startY) {
3113
3154
  // startAngle: 0,
3114
3155
  // endAngle: Math.PI * 2,
3115
3156
  // anticlockwise: startA > 0 && startA>endA
3116
- anticlockwise: +angleDeg < 0,
3157
+ anticlockwise: crossProduct,
3117
3158
  // anticlockwise: Math.abs(endA - startA) < Math.PI
3118
3159
  },
3119
3160
  startX: endX,
3120
3161
  startY: endY,
3121
3162
  };
3163
+ case "RelEllipticalArcTo":
3164
+ const endX3 = command.v.X * originWidth * (width / originWidth) + x; // 弧上结束顶点的 x 坐标
3165
+ const endY3 = command.v.Y * originHeight * (height / originHeight) + y; // 弧上结束顶点的 y 坐标
3166
+ const ctrlX3 = command.v.A * originWidth * (width / originWidth) + x; // 控制点的 x 坐标
3167
+ const ctrlY3 = command.v.B * originHeight * (height / originHeight) + y; // 控制点的 y 坐标
3168
+ const angleDeg3 = command.v.C; // 主轴相对于 x 轴的角度 (度)
3169
+ const axisRatio3 = command.v.D * (width / height) * (originHeight / originWidth); // 长轴和短轴的比率
3170
+ //
3171
+ const crossProduct2 = (endX3 - startX) * (ctrlY3 - startY) - (endY3 - startY) * (ctrlX3 - startX) > 0;
3172
+ const params2 = calculateEllipseParameters(startX, startY, endX3, endY3, ctrlX3, ctrlY3, axisRatio3);
3173
+ // 开始绘制路径
3174
+ !command.orign && (command.orign = {});
3175
+ !command.orign.startA &&
3176
+ (command.orign.startA = calculateAngleInRadians(params2.x0, params2.y0, startX, startY));
3177
+ !command.orign.endA &&
3178
+ (command.orign.endA = calculateAngleInRadians(params2.x0, params2.y0, endX3, endY3));
3179
+ return {
3180
+ c: 'ellipse',
3181
+ v: {
3182
+ centerX: params2.x0,
3183
+ centerY: params2.y0,
3184
+ radiuX: params2.a,
3185
+ radiuY: params2.b,
3186
+ // rotation:radiansToDegrees(angleDeg),
3187
+ rotation: 0,
3188
+ startAngle: command.orign.startA,
3189
+ endAngle: command.orign.endA,
3190
+ // startAngle: 0,
3191
+ // endAngle: Math.PI * 2,
3192
+ // anticlockwise: startA > 0 && startA>endA
3193
+ anticlockwise: crossProduct2
3194
+ // anticlockwise: Math.abs(endA - startA) < Math.PI
3195
+ },
3196
+ startX: endX3,
3197
+ startY: endY3,
3198
+ };
3122
3199
  case 'ArcTo':
3123
3200
  let endX2 = (command.v.X * 100 * width) / originWidth + x;
3124
3201
  let endY2 = (command.v.Y * 100 * height) / originHeight + y;
@@ -3155,16 +3232,24 @@ function dealWithVisio(command, pen, startX, startY) {
3155
3232
  aclockwise: true,
3156
3233
  },
3157
3234
  };
3158
- // case "RelCubBezTo":
3159
- // return {
3160
- // c:"bezierCurveTo",
3161
- // v:{
3162
- //
3163
- // }
3164
- // };
3165
3235
  default:
3166
- // console.log(command.c);
3167
- return {};
3236
+ const cloneCommand = deepClone(command);
3237
+ Object.entries(cloneCommand.v).forEach(([k, v]) => {
3238
+ // 表明此类型为
3239
+ if (k.endsWith?.('_x')) {
3240
+ if (typeof v === "number")
3241
+ cloneCommand.v[k] = v * (width / originWidth) + x;
3242
+ }
3243
+ else if (k.endsWith?.("_y")) {
3244
+ if (typeof v === "number")
3245
+ cloneCommand.v[k] = v * (height / originHeight) + y;
3246
+ }
3247
+ else {
3248
+ if (typeof v === "number")
3249
+ cloneCommand.v[k] = v;
3250
+ }
3251
+ });
3252
+ return cloneCommand;
3168
3253
  }
3169
3254
  }
3170
3255
  export function setChildValue(pen, data) {