@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.
@@ -1,4 +1,5 @@
1
1
  import { Meta2dStore } from '../store';
2
+ import { Canvas } from "./canvas";
2
3
  export declare class CanvasTemplate {
3
4
  parentElement: HTMLElement;
4
5
  store: Meta2dStore;
@@ -7,8 +8,9 @@ export declare class CanvasTemplate {
7
8
  bgOffscreen: any;
8
9
  patchFlags: boolean;
9
10
  bgPatchFlags: boolean;
11
+ parentCanvas: Canvas;
10
12
  fit: boolean;
11
- constructor(parentElement: HTMLElement, store: Meta2dStore);
13
+ constructor(parentElement: HTMLElement, store: Meta2dStore, parentCanvas: Canvas);
12
14
  resize(w?: number, h?: number): void;
13
15
  init(): void;
14
16
  hidden(): void;
@@ -1,4 +1,6 @@
1
1
  import { ctxFlip, ctxRotate, drawImage, setGlobalAlpha, renderPen, CanvasLayer, } from '../pen';
2
+ import { globalStore } from '../store';
3
+ import { defaultGridDrawer, dotGridDrawer } from '../grid';
2
4
  import { createOffscreen } from './offscreen';
3
5
  export class CanvasTemplate {
4
6
  parentElement;
@@ -8,16 +10,24 @@ export class CanvasTemplate {
8
10
  bgOffscreen = createOffscreen();
9
11
  patchFlags;
10
12
  bgPatchFlags;
13
+ parentCanvas; // 可通过 this.parent.mousePos 获取鼠标 x, y 坐标
11
14
  fit; //是否自适应布局
12
- constructor(parentElement, store) {
15
+ constructor(parentElement, store, parentCanvas) {
13
16
  this.parentElement = parentElement;
14
17
  this.store = store;
15
18
  parentElement.appendChild(this.canvas);
19
+ this.parentCanvas = parentCanvas;
16
20
  this.canvas.style.backgroundRepeat = 'no-repeat';
17
21
  this.canvas.style.backgroundSize = '100% 100%';
18
22
  this.canvas.style.position = 'absolute';
19
23
  this.canvas.style.top = '0';
20
24
  this.canvas.style.left = '0';
25
+ if (!globalStore.gridDrawers['default']) {
26
+ globalStore.gridDrawers['default'] = defaultGridDrawer;
27
+ }
28
+ if (!globalStore.gridDrawers['dot']) {
29
+ globalStore.gridDrawers['dot'] = dotGridDrawer;
30
+ }
21
31
  }
22
32
  resize(w, h) {
23
33
  this.canvas.style.width = w + 'px';
@@ -159,210 +169,81 @@ export class CanvasTemplate {
159
169
  }
160
170
  renderGrid(ctx) {
161
171
  const { data, options } = this.store;
162
- const { grid, gridRotate, gridColor, gridSize, scale, origin } = data;
172
+ const mousePos = {
173
+ x: this.parentCanvas.mousePos.x + this.parentCanvas.store.data.x,
174
+ y: this.parentCanvas.mousePos.y + this.parentCanvas.store.data.y
175
+ };
176
+ const { grid } = data;
163
177
  if (!(grid ?? options.grid)) {
164
178
  // grid false 时不绘制, undefined 时看 options.grid
165
179
  return;
166
180
  }
167
- ctx.save();
181
+ const { gridRotate, gridColor, gridSize, scale, origin, gridScope } = data;
182
+ let size = (gridSize || options.gridSize) * scale;
183
+ size = size < 0 ? 0 : size;
168
184
  const width = (data.width || options.width) * scale;
169
185
  const height = (data.height || options.height) * scale;
170
186
  const startX = (data.x || options.x || 0) + origin.x;
171
187
  const startY = (data.y || options.y || 0) + origin.y;
172
- // if (width && height && gridRotate) {
173
- // ctx.translate(width / 2, height / 2);
174
- // ctx.rotate((gridRotate * Math.PI) / 180);
175
- // ctx.translate(-width / 2, -height / 2);
176
- // }
177
- ctx.lineWidth = 1;
178
- ctx.strokeStyle = gridColor || options.gridColor;
179
- ctx.beginPath();
180
- let size = (gridSize || options.gridSize) * scale;
181
- size = size < 0 ? 0 : size;
182
- if (!width || !height) {
183
- const ratio = this.store.dpiRatio;
184
- const cW = this.canvas.width / ratio;
185
- const cH = this.canvas.height / ratio;
186
- const m = startX / size;
187
- const n = startY / size;
188
- const offset = size * 10; //补偿值
189
- const newX = startX - Math.ceil(m) * size;
190
- const newY = startY - Math.ceil(n) * size;
191
- const endX = cW + newX + offset;
192
- const endY = cH + newY + offset;
193
- if (gridRotate) {
194
- // 菱形效果
195
- // drawParallelLines(ctx, cW, cH, size, gridRotate);
196
- // drawParallelLines(ctx, cW, cH, size, -gridRotate);
197
- // 计算两组斜线的方向向量
198
- const radian1 = (gridRotate * Math.PI) / 180;
199
- const radian2 = radian1 + Math.PI / 2;
200
- // 计算法向量用于间距控制
201
- const normal1 = { x: Math.sin(radian1), y: -Math.cos(radian1) };
202
- const normal2 = { x: Math.sin(radian2), y: -Math.cos(radian2) };
203
- drawPreciseLines(ctx, cW, cH, size, normal1, radian1);
204
- drawPreciseLines(ctx, cW, cH, size, normal2, radian2);
205
- }
206
- else {
207
- for (let i = newX; i <= endX; i += size) {
208
- ctx.moveTo(i, newY);
209
- ctx.lineTo(i, cH + newY + offset);
210
- }
211
- for (let i = newY; i <= endY; i += size) {
212
- ctx.moveTo(newX, i);
213
- ctx.lineTo(cW + newX + offset, i);
214
- }
215
- }
188
+ const ratio = this.store.dpiRatio;
189
+ const cW = this.canvas.width / ratio;
190
+ const cH = this.canvas.height / ratio;
191
+ const scope = gridScope || options.gridScope;
192
+ const hasRect = width && height;
193
+ ctx.save();
194
+ let area;
195
+ if (scope === 'full') {
196
+ area = { x: 0, y: 0, width: cW, height: cH };
216
197
  }
217
- else {
218
- if (gridRotate) {
219
- const radian1 = gridRotate * Math.PI / 180;
220
- const radian2 = radian1 + Math.PI / 2; // 垂直角度
221
- // 第一组斜线的法向量(用于间距控制)
222
- const normal1 = {
223
- x: Math.sin(radian1),
224
- y: -Math.cos(radian1)
225
- };
226
- // 第二组斜线的法向量
227
- const normal2 = {
228
- x: Math.sin(radian2),
229
- y: -Math.cos(radian2)
230
- };
231
- // 绘制第一组斜线
232
- drawPreciseLinesInRect(ctx, startX, startY, width, height, size, normal1, radian1);
233
- // 绘制第二组垂直斜线
234
- drawPreciseLinesInRect(ctx, startX, startY, width, height, size, normal2, radian1);
198
+ else if (scope === 'inner') {
199
+ if (hasRect) {
200
+ area = { x: startX, y: startY, width, height };
201
+ ctx.beginPath();
202
+ ctx.rect(startX, startY, width, height);
203
+ ctx.clip();
235
204
  }
236
205
  else {
237
- const endX = width + startX;
238
- const endY = height + startY;
239
- for (let i = startX; i <= endX; i += size) {
240
- ctx.moveTo(i, startY);
241
- ctx.lineTo(i, height + startY);
242
- }
243
- for (let i = startY; i <= endY; i += size) {
244
- ctx.moveTo(startX, i);
245
- ctx.lineTo(width + startX, i);
246
- }
206
+ area = { x: 0, y: 0, width: cW, height: cH };
247
207
  }
248
208
  }
249
- ctx.stroke();
250
- ctx.restore();
251
- }
252
- }
253
- function drawParallelLines(ctx, width, height, spacing, angle) {
254
- const radian = (angle * Math.PI) / 180;
255
- const cos = Math.cos(radian);
256
- const sin = Math.sin(radian);
257
- const lineCount = Math.ceil(Math.max(width, height) /
258
- (spacing * Math.min(Math.abs(cos), Math.abs(sin)))) * 2;
259
- ctx.beginPath();
260
- for (let i = -lineCount; i < lineCount; i++) {
261
- const x = i * spacing;
262
- if (sin > 0) {
263
- ctx.moveTo(x, 0);
264
- ctx.lineTo(x + (height / sin) * cos, height);
209
+ else if (scope === 'outer') {
210
+ area = { x: 0, y: 0, width: cW, height: cH };
211
+ if (hasRect) {
212
+ ctx.beginPath();
213
+ ctx.rect(0, 0, cW, cH);
214
+ ctx.rect(startX, startY, width, height);
215
+ ctx.clip('evenodd');
216
+ }
265
217
  }
266
218
  else {
267
- ctx.moveTo(x, height);
268
- ctx.lineTo(x - (height / sin) * cos, 0);
269
- }
270
- }
271
- ctx.stroke();
272
- }
273
- function drawPreciseLines(ctx, width, height, spacing, normal, angle) {
274
- // 计算边界点
275
- const corners = [
276
- { x: 0, y: 0 },
277
- { x: width, y: 0 },
278
- { x: width, y: height },
279
- { x: 0, y: height },
280
- ];
281
- // 计算投影范围
282
- let minProjection = Infinity;
283
- let maxProjection = -Infinity;
284
- corners.forEach((corner) => {
285
- const proj = corner.x * normal.x + corner.y * normal.y;
286
- minProjection = Math.min(minProjection, proj);
287
- maxProjection = Math.max(maxProjection, proj);
288
- });
289
- // 计算线条数量
290
- const lineCount = Math.ceil((maxProjection - minProjection) / spacing);
291
- ctx.beginPath();
292
- for (let i = 0; i <= lineCount; i++) {
293
- const d = minProjection + i * spacing;
294
- // 计算与边界的交点
295
- let points = [];
296
- for (let j = 0; j < corners.length; j++) {
297
- const p1 = corners[j];
298
- const p2 = corners[(j + 1) % corners.length];
299
- const denom = normal.x * (p2.y - p1.y) - normal.y * (p2.x - p1.x);
300
- if (Math.abs(denom) > 1e-6) {
301
- const t = (d - p1.x * normal.x - p1.y * normal.y) /
302
- (normal.x * (p2.x - p1.x) + normal.y * (p2.y - p1.y));
303
- if (t >= 0 && t <= 1) {
304
- const x = p1.x + t * (p2.x - p1.x);
305
- const y = p1.y + t * (p2.y - p1.y);
306
- points.push({ x, y });
307
- }
219
+ // 默认同 inner
220
+ if (hasRect) {
221
+ area = { x: startX, y: startY, width, height };
222
+ ctx.beginPath();
223
+ ctx.rect(startX, startY, width, height);
224
+ ctx.clip();
308
225
  }
309
- }
310
- // 绘制线条(确保有2个交点)
311
- if (points.length >= 2) {
312
- ctx.moveTo(points[0].x, points[0].y);
313
- ctx.lineTo(points[1].x, points[1].y);
314
- }
315
- }
316
- ctx.stroke();
317
- }
318
- function drawPreciseLinesInRect(ctx, x, y, width, height, spacing, normal, angle) {
319
- const corners = [
320
- { x, y }, // 左上
321
- { x: x + width, y }, // 右上
322
- { x: x + width, y: y + height }, // 右下
323
- { x, y: y + height } // 左下
324
- ];
325
- // 1. 计算法向量在四个角上的投影范围
326
- let min = Infinity, max = -Infinity;
327
- corners.forEach(p => {
328
- const proj = p.x * normal.x + p.y * normal.y;
329
- min = Math.min(min, proj);
330
- max = Math.max(max, proj);
331
- });
332
- // 2. 计算需要绘制的线条数量和起始位置
333
- const totalLength = max - min;
334
- const lineCount = Math.ceil(totalLength / spacing);
335
- const startOffset = min;
336
- // 3. 绘制每条斜线
337
- ctx.beginPath();
338
- for (let i = 0; i <= lineCount; i++) {
339
- const d = startOffset + i * spacing;
340
- // 计算与矩形边的交点
341
- const points = [];
342
- for (let j = 0; j < corners.length; j++) {
343
- const p1 = corners[j];
344
- const p2 = corners[(j + 1) % 4];
345
- // 线段与斜线的交点计算
346
- const edgeVecX = p2.x - p1.x;
347
- const edgeVecY = p2.y - p1.y;
348
- const denominator = normal.x * edgeVecY - normal.y * edgeVecX;
349
- if (Math.abs(denominator) > 1e-6) {
350
- const t = (d - p1.x * normal.x - p1.y * normal.y) /
351
- (normal.x * edgeVecX + normal.y * edgeVecY);
352
- if (t >= 0 && t <= 1) {
353
- points.push({
354
- x: p1.x + t * edgeVecX,
355
- y: p1.y + t * edgeVecY
356
- });
357
- }
226
+ else {
227
+ area = { x: 0, y: 0, width: cW, height: cH };
358
228
  }
359
229
  }
360
- // 连接交点(确保有2个交点)
361
- if (points.length >= 2) {
362
- ctx.moveTo(points[0].x, points[0].y);
363
- ctx.lineTo(points[1].x, points[1].y);
230
+ const context = {
231
+ store: this.store,
232
+ canvas: this.canvas,
233
+ area,
234
+ align: { x: startX, y: startY },
235
+ size,
236
+ color: gridColor || options.gridColor,
237
+ rotate: gridRotate,
238
+ scale,
239
+ mousePos,
240
+ };
241
+ const gridType = data.gridType || options.gridType || 'default';
242
+ const drawer = globalStore.gridDrawers[gridType] || globalStore.gridDrawers['default'];
243
+ if (drawer) {
244
+ this.parentCanvas.store.options.gridAlwaysRender = drawer(ctx, context, mousePos);
364
245
  }
246
+ ctx.restore();
365
247
  }
366
- ctx.stroke();
367
248
  }
368
249
  //# sourceMappingURL=canvasTemplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canvasTemplate.js","sourceRoot":"","sources":["../../../../packages/core/src/canvas/canvasTemplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvasTemplate.js","sourceRoot":"","sources":["../../../../packages/core/src/canvas/canvasTemplate.ts"],"names":[],"mappings":"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"}
package/src/core.d.ts CHANGED
@@ -3,7 +3,7 @@ import { Canvas } from './canvas';
3
3
  import { Options, PenPlugin, PluginOptions } from './options';
4
4
  import { calcTextDrawRect, calcTextLines, calcTextRect, facePen, getWords, LockState, Pen, renderPenRaw, IValue, setElemPosition } from './pen';
5
5
  import { Point } from './point';
6
- import { EditAction, register, registerAnchors, registerCanvasDraw, Meta2dData, Meta2dStore, Network, HttpOptions, Sql } from './store';
6
+ import { EditAction, register, registerAnchors, registerCanvasDraw, registerGridDrawer, unregisterGridDrawer, Meta2dData, Meta2dStore, Network, HttpOptions, Sql } from './store';
7
7
  import { Padding } from './utils';
8
8
  import { Rect } from './rect';
9
9
  import { Event, TriggerCondition } from './event';
@@ -35,6 +35,12 @@ export declare class Meta2d {
35
35
  events: Record<number, (pen: Pen, e: Event, params?: any) => void>;
36
36
  map: ViewMap;
37
37
  mapTimer: any;
38
+ /**
39
+ * fillView 首次填充前各 fit 顶层图元的原始几何快照(设计坐标系,与 scale/origin 无关)。
40
+ * 用于保证多次调用 fillView 的幂等性:每次填充前先还原到原始几何,再执行拉伸,
41
+ * 避免在已拉伸的结果上重复拉伸导致超出屏幕。open 新图纸时置空。
42
+ */
43
+ fillViewSnapshot: Map<string, any> | null;
38
44
  constructor(parent: string | HTMLElement, opts?: Options);
39
45
  facePen: typeof facePen;
40
46
  getWords: typeof getWords;
@@ -88,15 +94,18 @@ export declare class Meta2d {
88
94
  */
89
95
  addPen(pen: Pen, history?: boolean, emit?: boolean, abs?: boolean): Promise<Pen>;
90
96
  addPenSync(pen: Pen, history?: boolean, emit?: boolean, abs?: boolean): Pen;
97
+ addPensSync(pens: Pen[], history?: boolean, abs?: boolean): Pen[];
91
98
  addPens(pens: Pen[], history?: boolean, abs?: boolean): Promise<Pen[]>;
92
99
  render(patchFlags?: boolean | number): void;
93
100
  setBackgroundImage(url: string, data?: any): Promise<void>;
94
101
  setBackgroundColor(color?: string): void;
95
- setGrid({ grid, gridColor, gridSize, gridRotate, }?: {
102
+ setGrid({ grid, gridColor, gridSize, gridRotate, gridType, gridScope, }?: {
96
103
  grid?: boolean;
97
104
  gridColor?: string;
98
105
  gridSize?: number;
99
106
  gridRotate?: number;
107
+ gridType?: string;
108
+ gridScope?: 'full' | 'inner' | 'outer';
100
109
  }): void;
101
110
  setRule({ rule, ruleColor, }?: {
102
111
  rule?: boolean;
@@ -153,6 +162,8 @@ export declare class Meta2d {
153
162
  register: typeof register;
154
163
  registerCanvasDraw: typeof registerCanvasDraw;
155
164
  registerAnchors: typeof registerAnchors;
165
+ registerGridDrawer: typeof registerGridDrawer;
166
+ unregisterGridDrawer: typeof unregisterGridDrawer;
156
167
  registerLineAnimateDraws: (name: any, drawFunc: any) => void;
157
168
  updateLineAnimateDraws(name: any, option: any): void;
158
169
  registerMoveDock(dock: (store: Meta2dStore, rect: Rect, pens: Pen[], offset: Point) => {
@@ -439,6 +450,15 @@ export declare class Meta2d {
439
450
  spaceBetweenColumn(pens?: Pen[], height?: number): void;
440
451
  layout(pens?: Pen[], width?: number, space?: number): void;
441
452
  gotoView(pen: Pen): void;
453
+ animateView(options: {
454
+ x?: number;
455
+ y?: number;
456
+ scale?: number;
457
+ pen?: Pen;
458
+ duration?: number;
459
+ easing?: string;
460
+ center?: Point;
461
+ }): void;
442
462
  showMap(): void;
443
463
  hideMap(): void;
444
464
  onSizeUpdate(): void;