@meta2d/core 1.1.21 → 1.1.23

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.
@@ -0,0 +1,3 @@
1
+ import { GridDrawerContext } from '../store';
2
+ import { Point } from '../point';
3
+ export declare function defaultGridDrawer(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, { area, align, size, color, rotate }: GridDrawerContext, mousePos: Point): boolean;
@@ -0,0 +1,73 @@
1
+ export function defaultGridDrawer(ctx, { area, align, size, color, rotate }, mousePos) {
2
+ ctx.lineWidth = 1;
3
+ ctx.strokeStyle = color;
4
+ if (rotate) {
5
+ const radian1 = (rotate * Math.PI) / 180;
6
+ const radian2 = radian1 + Math.PI / 2;
7
+ const normal1 = { x: Math.sin(radian1), y: -Math.cos(radian1) };
8
+ const normal2 = { x: Math.sin(radian2), y: -Math.cos(radian2) };
9
+ drawPreciseLines(ctx, area, size, normal1, radian1);
10
+ drawPreciseLines(ctx, area, size, normal2, radian2);
11
+ }
12
+ else {
13
+ const m = align.x / size;
14
+ const n = align.y / size;
15
+ const offset = size * 10;
16
+ const newX = align.x - Math.ceil(m) * size;
17
+ const newY = align.y - Math.ceil(n) * size;
18
+ const endX = area.x + area.width + offset;
19
+ const endY = area.y + area.height + offset;
20
+ ctx.beginPath();
21
+ for (let i = newX; i <= endX; i += size) {
22
+ ctx.moveTo(i, newY);
23
+ ctx.lineTo(i, area.y + area.height + offset);
24
+ }
25
+ for (let i = newY; i <= endY; i += size) {
26
+ ctx.moveTo(newX, i);
27
+ ctx.lineTo(area.x + area.width + offset, i);
28
+ }
29
+ ctx.stroke();
30
+ }
31
+ return false;
32
+ }
33
+ function drawPreciseLines(ctx, area, spacing, normal, angle) {
34
+ const corners = [
35
+ { x: area.x, y: area.y },
36
+ { x: area.x + area.width, y: area.y },
37
+ { x: area.x + area.width, y: area.y + area.height },
38
+ { x: area.x, y: area.y + area.height },
39
+ ];
40
+ let minProjection = Infinity;
41
+ let maxProjection = -Infinity;
42
+ corners.forEach((corner) => {
43
+ const proj = corner.x * normal.x + corner.y * normal.y;
44
+ minProjection = Math.min(minProjection, proj);
45
+ maxProjection = Math.max(maxProjection, proj);
46
+ });
47
+ const lineCount = Math.ceil((maxProjection - minProjection) / spacing);
48
+ ctx.beginPath();
49
+ for (let i = 0; i <= lineCount; i++) {
50
+ const d = minProjection + i * spacing;
51
+ let points = [];
52
+ for (let j = 0; j < corners.length; j++) {
53
+ const p1 = corners[j];
54
+ const p2 = corners[(j + 1) % corners.length];
55
+ const denom = normal.x * (p2.y - p1.y) - normal.y * (p2.x - p1.x);
56
+ if (Math.abs(denom) > 1e-6) {
57
+ const t = (d - p1.x * normal.x - p1.y * normal.y) /
58
+ (normal.x * (p2.x - p1.x) + normal.y * (p2.y - p1.y));
59
+ if (t >= 0 && t <= 1) {
60
+ const x = p1.x + t * (p2.x - p1.x);
61
+ const y = p1.y + t * (p2.y - p1.y);
62
+ points.push({ x, y });
63
+ }
64
+ }
65
+ }
66
+ if (points.length >= 2) {
67
+ ctx.moveTo(points[0].x, points[0].y);
68
+ ctx.lineTo(points[1].x, points[1].y);
69
+ }
70
+ }
71
+ ctx.stroke();
72
+ }
73
+ //# sourceMappingURL=defaultGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultGrid.js","sourceRoot":"","sources":["../../../../packages/core/src/grid/defaultGrid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { GridDrawerContext } from '../store';
2
+ import { Point } from '../point';
3
+ export declare function dotGridDrawer(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, { store, area, align, size, color }: GridDrawerContext, mousePos?: Point): boolean;
@@ -0,0 +1,21 @@
1
+ export function dotGridDrawer(ctx, { store, area, align, size, color }, mousePos) {
2
+ const baseColor = color;
3
+ ctx.fillStyle = baseColor;
4
+ const radius = Math.max(0.5, 1.5 * store.data.scale);
5
+ const m = align.x / size;
6
+ const n = align.y / size;
7
+ const offset = size * 10;
8
+ const newX = align.x - Math.ceil(m) * size;
9
+ const newY = align.y - Math.ceil(n) * size;
10
+ const endX = area.x + area.width + offset;
11
+ const endY = area.y + area.height + offset;
12
+ for (let x = newX + radius; x <= endX - radius; x += size) {
13
+ for (let y = newY + radius; y <= endY - radius; y += size) {
14
+ ctx.beginPath();
15
+ ctx.arc(x, y, radius, 0, Math.PI * 2);
16
+ ctx.fill();
17
+ }
18
+ }
19
+ return true;
20
+ }
21
+ //# sourceMappingURL=dotGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dotGrid.js","sourceRoot":"","sources":["../../../../packages/core/src/grid/dotGrid.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa,CAC3B,GAAiE,EACjE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAqB,EACtD,QAAgB;IAEhB,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IACzB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1D,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACtC,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { defaultGridDrawer } from './defaultGrid';
2
+ export { dotGridDrawer } from './dotGrid';
@@ -0,0 +1,3 @@
1
+ export { defaultGridDrawer } from './defaultGrid';
2
+ export { dotGridDrawer } from './dotGrid';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/core/src/grid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
package/src/options.d.ts CHANGED
@@ -6,6 +6,7 @@ export declare enum KeydownType {
6
6
  Document = 0,
7
7
  Canvas = 1
8
8
  }
9
+ export declare const TRANSPARENT_COLOR = "#FFFFFF00";
9
10
  export interface Options {
10
11
  color?: string;
11
12
  activeColor?: string;
@@ -55,6 +56,9 @@ export interface Options {
55
56
  grid?: boolean;
56
57
  gridColor?: string;
57
58
  gridSize?: number;
59
+ gridType?: string;
60
+ gridScope?: 'full' | 'inner' | 'outer';
61
+ gridAlwaysRender?: boolean;
58
62
  rule?: boolean;
59
63
  ruleColor?: string;
60
64
  ruleOptions?: {
package/src/options.js CHANGED
@@ -4,6 +4,7 @@ export var KeydownType;
4
4
  KeydownType[KeydownType["Document"] = 0] = "Document";
5
5
  KeydownType[KeydownType["Canvas"] = 1] = "Canvas";
6
6
  })(KeydownType || (KeydownType = {}));
7
+ export const TRANSPARENT_COLOR = '#FFFFFF00';
7
8
  export const defaultOptions = {
8
9
  fontFamily: '"Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial',
9
10
  fontSize: 12,
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../packages/core/src/options.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8CAAS,CAAA;IACT,qDAAQ,CAAA;IACR,iDAAM,CAAA;AACR,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAyID,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,UAAU,EACR,2EAA2E;IAC7E,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,SAAS;IACtB,UAAU,EAAE,uBAAuB;IACnC,WAAW,EAAE,SAAS;IACtB,gBAAgB,EAAE,SAAS;IAC3B,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,MAAM;IACxB,SAAS,EAAE,uBAAuB;IAClC,YAAY,EAAE,SAAS;IACvB,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,YAAY;IAC1B,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,WAAW,CAAC,QAAQ;IAC7B,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,OAAO;IACxB,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,EAAE;IACnB,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,CAAC;IACd,cAAc,EAAE;QACd;YACE,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,CAAC;SACL;QACD;YACE,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,GAAG;SACP;QACD;YACE,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,CAAC;SACL;QACD;YACE,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,GAAG;SACP;KACF;IACD,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,CAAC;IACpB,oBAAoB,EAAE,KAAK;IAC3B,WAAW,EAAE,IAAI;IACjB,GAAG,EAAE,EAAE;IACP,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,EAAE;IACb,eAAe,EAAC,CAAC,WAAW,CAAC;IAC7B,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,aAAa,EAAC,IAAI;IAClB,aAAa,EAAC,EAAE;CACjB,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../packages/core/src/options.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8CAAS,CAAA;IACT,qDAAQ,CAAA;IACR,iDAAM,CAAA;AACR,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAA;AA4I5C,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,UAAU,EACR,2EAA2E;IAC7E,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,SAAS;IACtB,UAAU,EAAE,uBAAuB;IACnC,WAAW,EAAE,SAAS;IACtB,gBAAgB,EAAE,SAAS;IAC3B,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,MAAM;IACxB,SAAS,EAAE,uBAAuB;IAClC,YAAY,EAAE,SAAS;IACvB,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,YAAY;IAC1B,WAAW,EAAE,WAAW;IACxB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,WAAW,CAAC,QAAQ;IAC7B,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,OAAO;IACxB,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,EAAE;IACnB,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,CAAC;IACd,cAAc,EAAE;QACd;YACE,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,CAAC;SACL;QACD;YACE,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,GAAG;SACP;QACD;YACE,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,CAAC;SACL;QACD;YACE,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,GAAG;SACP;KACF;IACD,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,KAAK;IACvB,iBAAiB,EAAE,CAAC;IACpB,oBAAoB,EAAE,KAAK;IAC3B,WAAW,EAAE,IAAI;IACjB,GAAG,EAAE,EAAE;IACP,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,EAAE;IACb,eAAe,EAAC,CAAC,WAAW,CAAC;IAC7B,QAAQ,EAAE,IAAI;IACd,UAAU,EAAE,IAAI;IAChB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,aAAa,EAAC,IAAI;IAClB,aAAa,EAAC,EAAE;CACjB,CAAC"}
package/src/pen/render.js CHANGED
@@ -10,6 +10,7 @@ import { renderFromArrow, renderToArrow } from './arrow';
10
10
  import { Gradient, PenType } from '../pen';
11
11
  import { pSBC, rgba, cubicBezierY } from '../utils';
12
12
  import { isEmptyText } from '../utils/tool';
13
+ import { TRANSPARENT_COLOR } from "../options";
13
14
  const LINE = "line";
14
15
  const REPEAT = "repeat";
15
16
  /**
@@ -1837,32 +1838,27 @@ export function ctxDrawLinePath(canUsePath = true, ctx, pen, store) {
1837
1838
  setCtxLineAnimate(ctx, pen, store);
1838
1839
  ctx.beginPath();
1839
1840
  if (path instanceof Path2D) {
1840
- if (pen.lineName === 'polyline' || pen.lineName === 'line') {
1841
- if (pen.lineAnimateType === LineAnimateType.Arrow ||
1842
- pen.lineAnimateType === LineAnimateType.WaterDrop) {
1843
- //箭头动画
1844
- const _path = drawArrow(pen);
1845
- ctx.stroke(_path);
1846
- ctx.fill(_path);
1847
- }
1848
- else {
1849
- if (pen.calculative.gradientSmooth ||
1850
- pen.calculative.lineSmooth) {
1851
- if (!pen.calculative.gradientAnimatePath) {
1852
- pen.calculative.gradientAnimatePath =
1853
- getGradientAnimatePath(pen);
1854
- }
1855
- if (pen.calculative.gradientAnimatePath instanceof Path2D) {
1856
- ctx.stroke(pen.calculative.gradientAnimatePath);
1857
- }
1841
+ if (pen.lineAnimateType === LineAnimateType.Arrow ||
1842
+ pen.lineAnimateType === LineAnimateType.WaterDrop) {
1843
+ //箭头动画
1844
+ const _path = drawArrow(pen);
1845
+ ctx.stroke(_path);
1846
+ ctx.fill(_path);
1847
+ }
1848
+ else {
1849
+ if (pen.calculative.gradientSmooth ||
1850
+ pen.calculative.lineSmooth) {
1851
+ if (!pen.calculative.gradientAnimatePath) {
1852
+ pen.calculative.gradientAnimatePath =
1853
+ getGradientAnimatePath(pen);
1858
1854
  }
1859
- else {
1860
- ctx.stroke(path);
1855
+ if (pen.calculative.gradientAnimatePath instanceof Path2D) {
1856
+ ctx.stroke(pen.calculative.gradientAnimatePath);
1861
1857
  }
1862
1858
  }
1863
- }
1864
- else {
1865
- ctx.stroke(path);
1859
+ else {
1860
+ ctx.stroke(path);
1861
+ }
1866
1862
  }
1867
1863
  }
1868
1864
  else {
@@ -1888,7 +1884,9 @@ export function ctxDrawLinePath(canUsePath = true, ctx, pen, store) {
1888
1884
  * 设置线条动画,ctx 的 strokeStyle lineDash 等属性更改
1889
1885
  */
1890
1886
  export function setCtxLineAnimate(ctx, pen, store) {
1891
- ctx.strokeStyle = pen.animateColor || store.styles.animateColor;
1887
+ ctx.strokeStyle = pen.lineAnimateType === LineAnimateType.Custom ?
1888
+ pen.animateColor || TRANSPARENT_COLOR
1889
+ : (pen.animateColor || store.styles.animateColor);
1892
1890
  if (pen.animateShadow) {
1893
1891
  ctx.shadowBlur = pen.animateShadowBlur || pen.animateLineWidth || 6;
1894
1892
  ctx.shadowColor =
@@ -2060,7 +2058,7 @@ function lineAnimatePenRender(tracks) {
2060
2058
  height: viewHeight,
2061
2059
  rotate: state.rotate,
2062
2060
  };
2063
- meta2d.setValue({ id: targetPen.id, ...data });
2061
+ meta2d.setValue({ id: targetPen.id, ...data }, { render: false, doEvent: false, history: false });
2064
2062
  };
2065
2063
  }
2066
2064
  function lineAnimateIconRender(icon) {