modern-path2d 1.3.2 → 1.3.3

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.
package/dist/index.d.cts CHANGED
@@ -3,54 +3,6 @@ interface DrawPointOptions {
3
3
  }
4
4
  declare function drawPoint(ctx: CanvasRenderingContext2D, x: number, y: number, options?: DrawPointOptions): void;
5
5
 
6
- declare function catmullRom(t: number, p0: number, p1: number, p2: number, p3: number): number;
7
-
8
- declare function cubicBezier(t: number, p0: number, p1: number, p2: number, p3: number): number;
9
-
10
- interface FillTriangulateOptions {
11
- holes?: number[];
12
- vertices?: number[];
13
- indices?: number[];
14
- verticesStride?: number;
15
- verticesOffset?: number;
16
- indicesOffset?: number;
17
- style?: Partial<Path2DStyle>;
18
- }
19
- interface FillTriangulatedResult {
20
- vertices: number[];
21
- indices: number[];
22
- }
23
- declare function fillTriangulate(points: number[], options?: FillTriangulateOptions): FillTriangulatedResult;
24
-
25
- declare function getAdaptiveCubicBezierCurvePoints(sX: number, sY: number, x1: number, y1: number, x2: number, y2: number, x: number, y: number, smoothness?: number, points?: number[]): number[];
26
-
27
- declare function getAdaptiveQuadraticBezierCurvePoints(sX: number, sY: number, x1: number, y1: number, x: number, y: number, smoothness?: number, points?: number[]): number[];
28
-
29
- declare function quadraticBezier(t: number, p0: number, p1: number, p2: number): number;
30
-
31
- type LineCap = 'butt' | 'round' | 'square';
32
- type LineJoin = 'round' | 'bevel' | 'miter';
33
- interface StrokeTriangulateOptions {
34
- vertices?: number[];
35
- indices?: number[];
36
- lineStyle?: LineStyle;
37
- flipAlignment?: boolean;
38
- closed?: boolean;
39
- style?: Partial<Path2DStyle>;
40
- }
41
- interface StrokeTriangulatedResult {
42
- vertices: number[];
43
- indices: number[];
44
- }
45
- interface LineStyle {
46
- width: number;
47
- alignment: number;
48
- join: LineJoin;
49
- cap: LineCap;
50
- miterLimit: number;
51
- }
52
- declare function strokeTriangulate(points: number[], options?: StrokeTriangulateOptions): StrokeTriangulatedResult;
53
-
54
6
  declare class Matrix3 {
55
7
  elements: number[];
56
8
  constructor(n11?: number, n12?: number, n13?: number, n21?: number, n22?: number, n23?: number, n31?: number, n32?: number, n33?: number);
@@ -132,6 +84,58 @@ declare class BoundingBox {
132
84
  clone(): BoundingBox;
133
85
  }
134
86
 
87
+ declare function catmullRom(t: number, p0: number, p1: number, p2: number, p3: number): number;
88
+
89
+ declare function cubicBezier(t: number, p0: number, p1: number, p2: number, p3: number): number;
90
+
91
+ interface FillTriangulateOptions {
92
+ holes?: number[];
93
+ vertices?: number[];
94
+ indices?: number[];
95
+ verticesStride?: number;
96
+ verticesOffset?: number;
97
+ indicesOffset?: number;
98
+ style?: Partial<Path2DStyle>;
99
+ }
100
+ interface FillTriangulatedResult {
101
+ vertices: number[];
102
+ indices: number[];
103
+ }
104
+ declare function fillTriangulate(pointArray: number[], options?: FillTriangulateOptions): FillTriangulatedResult;
105
+
106
+ declare function getAdaptiveCubicBezierCurvePoints(sX: number, sY: number, x1: number, y1: number, x2: number, y2: number, x: number, y: number, smoothness?: number, points?: number[]): number[];
107
+
108
+ declare function getAdaptiveQuadraticBezierCurvePoints(sX: number, sY: number, x1: number, y1: number, x: number, y: number, smoothness?: number, points?: number[]): number[];
109
+
110
+ declare function getDirectedArea(vertices: number[]): number;
111
+
112
+ declare function pointInPolygon(point: number[], polygon: number[]): boolean;
113
+
114
+ declare function quadraticBezier(t: number, p0: number, p1: number, p2: number): number;
115
+
116
+ type LineCap = 'butt' | 'round' | 'square';
117
+ type LineJoin = 'round' | 'bevel' | 'miter';
118
+ interface StrokeTriangulateOptions {
119
+ vertices?: number[];
120
+ indices?: number[];
121
+ lineStyle?: LineStyle;
122
+ flipAlignment?: boolean;
123
+ closed?: boolean;
124
+ style?: Partial<Path2DStyle>;
125
+ }
126
+ interface StrokeTriangulatedResult {
127
+ vertices: number[];
128
+ indices: number[];
129
+ }
130
+ interface LineStyle {
131
+ width: number;
132
+ alignment: number;
133
+ join: LineJoin;
134
+ cap: LineCap;
135
+ miterLimit: number;
136
+ }
137
+ declare function strokeTriangulate(points: number[], options?: StrokeTriangulateOptions): StrokeTriangulatedResult;
138
+
135
139
  declare abstract class Curve {
136
140
  arcLengthDivision: number;
137
141
  protected _arcLengths?: number[];
@@ -140,10 +144,10 @@ declare abstract class Curve {
140
144
  isClockwise(): boolean;
141
145
  getControlPointRefs(): Vector2[];
142
146
  applyTransform(transform: Matrix3 | ((point: Vector2) => void)): this;
143
- getUnevenPointArray(count?: number, output?: number[]): number[];
144
- getSpacedPointArray(count?: number, output?: number[]): number[];
145
- getAdaptivePointArray(output?: number[]): number[];
146
- protected _pointArrayToPoint(array: number[], output?: Vector2[]): Vector2[];
147
+ getUnevenVertices(count?: number, output?: number[]): number[];
148
+ getSpacedVertices(count?: number, output?: number[]): number[];
149
+ getAdaptiveVertices(output?: number[]): number[];
150
+ protected _verticesToPoints(vertices: number[], output?: Vector2[]): Vector2[];
147
151
  getSpacedPoints(count?: number, output?: Vector2[]): Vector2[];
148
152
  getUnevenPoints(count?: number, output?: Vector2[]): Vector2[];
149
153
  getAdaptivePoints(output?: Vector2[]): Vector2[];
@@ -162,6 +166,7 @@ declare abstract class Curve {
162
166
  max: Vector2;
163
167
  };
164
168
  getBoundingBox(): BoundingBox;
169
+ getFillVertices(_options?: FillTriangulateOptions): number[];
165
170
  fillTriangulate(options?: FillTriangulateOptions): FillTriangulatedResult;
166
171
  strokeTriangulate(options?: StrokeTriangulateOptions): StrokeTriangulatedResult;
167
172
  toCommands(): Path2DCommand[];
@@ -199,8 +204,9 @@ declare class RoundCurve extends Curve {
199
204
  drawTo(ctx: CanvasRenderingContext2D): this;
200
205
  applyTransform(matrix: Matrix3): this;
201
206
  getControlPointRefs(): Vector2[];
202
- getAdaptivePointArray(output?: number[]): number[];
203
- fillTriangulate(options?: FillTriangulateOptions): FillTriangulatedResult;
207
+ protected _getAdaptiveVerticesByArc(output?: number[]): number[];
208
+ protected _getAdaptiveVerticesByCircle(output?: number[]): number[];
209
+ getAdaptiveVertices(output?: number[]): number[];
204
210
  getMinMax(min?: Vector2, max?: Vector2): {
205
211
  min: Vector2;
206
212
  max: Vector2;
@@ -211,7 +217,7 @@ declare class RoundCurve extends Curve {
211
217
  declare class ArcCurve extends RoundCurve {
212
218
  constructor(cx?: number, cy?: number, radius?: number, startAngle?: number, endAngle?: number, clockwise?: boolean);
213
219
  drawTo(ctx: CanvasRenderingContext2D): this;
214
- getAdaptivePointArray(output?: number[]): number[];
220
+ getAdaptiveVertices(output?: number[]): number[];
215
221
  }
216
222
 
217
223
  declare class CompositeCurve<T extends Curve = Curve> extends Curve {
@@ -223,10 +229,10 @@ declare class CompositeCurve<T extends Curve = Curve> extends Curve {
223
229
  updateLengths(): void;
224
230
  getControlPointRefs(): Vector2[];
225
231
  protected _removeNextPointIfEqualPrevPoint(output: number[], offset: number): number[];
226
- getSpacedPointArray(count?: number, output?: number[]): number[];
227
- getAdaptivePointArray(output?: number[]): number[];
232
+ getSpacedVertices(count?: number, output?: number[]): number[];
233
+ getAdaptiveVertices(output?: number[]): number[];
228
234
  strokeTriangulate(options?: StrokeTriangulateOptions): StrokeTriangulatedResult;
229
- fillTriangulate(options?: FillTriangulateOptions): FillTriangulatedResult;
235
+ getFillVertices(options?: FillTriangulateOptions): number[];
230
236
  applyTransform(transform: Matrix3 | ((point: Vector2) => void)): this;
231
237
  getMinMax(min?: Vector2, max?: Vector2): {
232
238
  min: Vector2;
@@ -246,7 +252,7 @@ declare class CubicBezierCurve extends Curve {
246
252
  static from(p1x: number, p1y: number, cp1x: number, cp1y: number, cp2x: number, cp2y: number, p2x: number, p2y: number): CubicBezierCurve;
247
253
  constructor(p1?: Vector2, cp1?: Vector2, cp2?: Vector2, p2?: Vector2);
248
254
  getPoint(t: number, output?: Vector2): Vector2;
249
- getAdaptivePointArray(output?: number[]): number[];
255
+ getAdaptiveVertices(output?: number[]): number[];
250
256
  getControlPointRefs(): Vector2[];
251
257
  protected _solveQuadratic(a: number, b: number, c: number): number[];
252
258
  getMinMax(min?: Vector2, max?: Vector2): {
@@ -273,13 +279,13 @@ declare class LineCurve extends Curve {
273
279
  getTangent(_t: number, output?: Vector2): Vector2;
274
280
  getTangentAt(u: number, output?: Vector2): Vector2;
275
281
  getControlPointRefs(): Vector2[];
276
- getAdaptivePointArray(output?: number[]): number[];
282
+ getAdaptiveVertices(output?: number[]): number[];
277
283
  getMinMax(min?: Vector2, max?: Vector2): {
278
284
  min: Vector2;
279
285
  max: Vector2;
280
286
  };
281
287
  toCommands(): Path2DCommand[];
282
- fillTriangulate(options?: FillTriangulateOptions): FillTriangulatedResult;
288
+ getFillVertices(options?: FillTriangulateOptions): number[];
283
289
  drawTo(ctx: CanvasRenderingContext2D): this;
284
290
  copy(source: LineCurve): this;
285
291
  }
@@ -305,7 +311,7 @@ declare class QuadraticBezierCurve extends Curve {
305
311
  constructor(p1?: Vector2, cp?: Vector2, p2?: Vector2);
306
312
  getPoint(t: number, output?: Vector2): Vector2;
307
313
  getControlPointRefs(): Vector2[];
308
- getAdaptivePointArray(output?: number[]): number[];
314
+ getAdaptiveVertices(output?: number[]): number[];
309
315
  getMinMax(min?: Vector2, max?: Vector2): {
310
316
  min: Vector2;
311
317
  max: Vector2;
@@ -323,7 +329,7 @@ declare class RectangleCurve extends PloygonCurve {
323
329
  constructor(x?: number, y?: number, width?: number, height?: number);
324
330
  update(): this;
325
331
  drawTo(ctx: CanvasRenderingContext2D): this;
326
- fillTriangulate(options?: FillTriangulateOptions): FillTriangulatedResult;
332
+ getFillVertices(_options?: FillTriangulateOptions): number[];
327
333
  copy(source: RectangleCurve): this;
328
334
  }
329
335
 
@@ -409,10 +415,11 @@ declare class CurvePath extends CompositeCurve {
409
415
  addPoints(points: Vector2[]): this;
410
416
  addCommands(commands: Path2DCommand[]): this;
411
417
  addData(data: string): this;
412
- protected _closePointArray(output: number[]): number[];
413
- getUnevenPointArray(count?: number, output?: number[]): number[];
414
- getSpacedPointArray(count?: number, output?: number[]): number[];
415
- getAdaptivePointArray(output?: number[]): number[];
418
+ protected _closeVertices(output: number[]): number[];
419
+ getUnevenVertices(count?: number, output?: number[]): number[];
420
+ getSpacedVertices(count?: number, output?: number[]): number[];
421
+ getAdaptiveVertices(output?: number[]): number[];
422
+ getFillVertices(options?: FillTriangulateOptions): number[];
416
423
  protected _setCurrentPoint(point: VectorLike): this;
417
424
  protected _connetLineTo(curve: Curve): this;
418
425
  closePath(): this;
@@ -467,6 +474,13 @@ interface Path2DStyle extends Path2DDrawStyle {
467
474
 
468
475
  /**
469
476
  * @link https://developer.mozilla.org/zh-CN/docs/Web/API/Path2D
477
+ *
478
+ * Path2D
479
+ * --CurvePath
480
+ * ----LineCurve
481
+ * ----EllipseCurve
482
+ * ----CubicBezierCurve
483
+ * ----...
470
484
  */
471
485
  declare class Path2D extends CompositeCurve<CurvePath> {
472
486
  currentCurve: CurvePath;
@@ -568,4 +582,4 @@ declare function svgToDOM(svg: string | SVGElement): SVGElement;
568
582
 
569
583
  declare function svgToPath2DSet(svg: string | SVGElement): Path2DSet;
570
584
 
571
- export { ArcCurve, BoundingBox, CompositeCurve, CubicBezierCurve, Curve, CurvePath, type DrawPointOptions, EllipseCurve, EquilateralPloygonCurve, FFDControlGrid, type FillRule, type FillTriangulateOptions, type FillTriangulatedResult, type LineCap, LineCurve, type LineJoin, type LineStyle, Matrix3, Path2D, type Path2DCommand, type Path2DData, type Path2DDrawStyle, Path2DSet, type Path2DStyle, PloygonCurve, QuadraticBezierCurve, RectangleCurve, RoundRectangleCurve, SplineCurve, type StrokeLinecap, type StrokeLinejoin, type StrokeTriangulateOptions, type StrokeTriangulatedResult, Vector2, type VectorLike, applyFFD, catmullRom, cubicBezier, drawPoint, fillTriangulate, getAdaptiveCubicBezierCurvePoints, getAdaptiveQuadraticBezierCurvePoints, parseArcCommand, parsePathDataArgs, quadraticBezier, setCanvasContext, strokeTriangulate, svgPathCommandsAddToPath2D, svgPathCommandsToData, svgPathDataToCommands, svgToDOM, svgToPath2DSet };
585
+ export { ArcCurve, BoundingBox, CompositeCurve, CubicBezierCurve, Curve, CurvePath, type DrawPointOptions, EllipseCurve, EquilateralPloygonCurve, FFDControlGrid, type FillRule, type FillTriangulateOptions, type FillTriangulatedResult, type LineCap, LineCurve, type LineJoin, type LineStyle, Matrix3, Path2D, type Path2DCommand, type Path2DData, type Path2DDrawStyle, Path2DSet, type Path2DStyle, PloygonCurve, QuadraticBezierCurve, RectangleCurve, RoundRectangleCurve, SplineCurve, type StrokeLinecap, type StrokeLinejoin, type StrokeTriangulateOptions, type StrokeTriangulatedResult, Vector2, type VectorLike, applyFFD, catmullRom, cubicBezier, drawPoint, fillTriangulate, getAdaptiveCubicBezierCurvePoints, getAdaptiveQuadraticBezierCurvePoints, getDirectedArea, parseArcCommand, parsePathDataArgs, pointInPolygon, quadraticBezier, setCanvasContext, strokeTriangulate, svgPathCommandsAddToPath2D, svgPathCommandsToData, svgPathDataToCommands, svgToDOM, svgToPath2DSet };
package/dist/index.d.mts CHANGED
@@ -3,54 +3,6 @@ interface DrawPointOptions {
3
3
  }
4
4
  declare function drawPoint(ctx: CanvasRenderingContext2D, x: number, y: number, options?: DrawPointOptions): void;
5
5
 
6
- declare function catmullRom(t: number, p0: number, p1: number, p2: number, p3: number): number;
7
-
8
- declare function cubicBezier(t: number, p0: number, p1: number, p2: number, p3: number): number;
9
-
10
- interface FillTriangulateOptions {
11
- holes?: number[];
12
- vertices?: number[];
13
- indices?: number[];
14
- verticesStride?: number;
15
- verticesOffset?: number;
16
- indicesOffset?: number;
17
- style?: Partial<Path2DStyle>;
18
- }
19
- interface FillTriangulatedResult {
20
- vertices: number[];
21
- indices: number[];
22
- }
23
- declare function fillTriangulate(points: number[], options?: FillTriangulateOptions): FillTriangulatedResult;
24
-
25
- declare function getAdaptiveCubicBezierCurvePoints(sX: number, sY: number, x1: number, y1: number, x2: number, y2: number, x: number, y: number, smoothness?: number, points?: number[]): number[];
26
-
27
- declare function getAdaptiveQuadraticBezierCurvePoints(sX: number, sY: number, x1: number, y1: number, x: number, y: number, smoothness?: number, points?: number[]): number[];
28
-
29
- declare function quadraticBezier(t: number, p0: number, p1: number, p2: number): number;
30
-
31
- type LineCap = 'butt' | 'round' | 'square';
32
- type LineJoin = 'round' | 'bevel' | 'miter';
33
- interface StrokeTriangulateOptions {
34
- vertices?: number[];
35
- indices?: number[];
36
- lineStyle?: LineStyle;
37
- flipAlignment?: boolean;
38
- closed?: boolean;
39
- style?: Partial<Path2DStyle>;
40
- }
41
- interface StrokeTriangulatedResult {
42
- vertices: number[];
43
- indices: number[];
44
- }
45
- interface LineStyle {
46
- width: number;
47
- alignment: number;
48
- join: LineJoin;
49
- cap: LineCap;
50
- miterLimit: number;
51
- }
52
- declare function strokeTriangulate(points: number[], options?: StrokeTriangulateOptions): StrokeTriangulatedResult;
53
-
54
6
  declare class Matrix3 {
55
7
  elements: number[];
56
8
  constructor(n11?: number, n12?: number, n13?: number, n21?: number, n22?: number, n23?: number, n31?: number, n32?: number, n33?: number);
@@ -132,6 +84,58 @@ declare class BoundingBox {
132
84
  clone(): BoundingBox;
133
85
  }
134
86
 
87
+ declare function catmullRom(t: number, p0: number, p1: number, p2: number, p3: number): number;
88
+
89
+ declare function cubicBezier(t: number, p0: number, p1: number, p2: number, p3: number): number;
90
+
91
+ interface FillTriangulateOptions {
92
+ holes?: number[];
93
+ vertices?: number[];
94
+ indices?: number[];
95
+ verticesStride?: number;
96
+ verticesOffset?: number;
97
+ indicesOffset?: number;
98
+ style?: Partial<Path2DStyle>;
99
+ }
100
+ interface FillTriangulatedResult {
101
+ vertices: number[];
102
+ indices: number[];
103
+ }
104
+ declare function fillTriangulate(pointArray: number[], options?: FillTriangulateOptions): FillTriangulatedResult;
105
+
106
+ declare function getAdaptiveCubicBezierCurvePoints(sX: number, sY: number, x1: number, y1: number, x2: number, y2: number, x: number, y: number, smoothness?: number, points?: number[]): number[];
107
+
108
+ declare function getAdaptiveQuadraticBezierCurvePoints(sX: number, sY: number, x1: number, y1: number, x: number, y: number, smoothness?: number, points?: number[]): number[];
109
+
110
+ declare function getDirectedArea(vertices: number[]): number;
111
+
112
+ declare function pointInPolygon(point: number[], polygon: number[]): boolean;
113
+
114
+ declare function quadraticBezier(t: number, p0: number, p1: number, p2: number): number;
115
+
116
+ type LineCap = 'butt' | 'round' | 'square';
117
+ type LineJoin = 'round' | 'bevel' | 'miter';
118
+ interface StrokeTriangulateOptions {
119
+ vertices?: number[];
120
+ indices?: number[];
121
+ lineStyle?: LineStyle;
122
+ flipAlignment?: boolean;
123
+ closed?: boolean;
124
+ style?: Partial<Path2DStyle>;
125
+ }
126
+ interface StrokeTriangulatedResult {
127
+ vertices: number[];
128
+ indices: number[];
129
+ }
130
+ interface LineStyle {
131
+ width: number;
132
+ alignment: number;
133
+ join: LineJoin;
134
+ cap: LineCap;
135
+ miterLimit: number;
136
+ }
137
+ declare function strokeTriangulate(points: number[], options?: StrokeTriangulateOptions): StrokeTriangulatedResult;
138
+
135
139
  declare abstract class Curve {
136
140
  arcLengthDivision: number;
137
141
  protected _arcLengths?: number[];
@@ -140,10 +144,10 @@ declare abstract class Curve {
140
144
  isClockwise(): boolean;
141
145
  getControlPointRefs(): Vector2[];
142
146
  applyTransform(transform: Matrix3 | ((point: Vector2) => void)): this;
143
- getUnevenPointArray(count?: number, output?: number[]): number[];
144
- getSpacedPointArray(count?: number, output?: number[]): number[];
145
- getAdaptivePointArray(output?: number[]): number[];
146
- protected _pointArrayToPoint(array: number[], output?: Vector2[]): Vector2[];
147
+ getUnevenVertices(count?: number, output?: number[]): number[];
148
+ getSpacedVertices(count?: number, output?: number[]): number[];
149
+ getAdaptiveVertices(output?: number[]): number[];
150
+ protected _verticesToPoints(vertices: number[], output?: Vector2[]): Vector2[];
147
151
  getSpacedPoints(count?: number, output?: Vector2[]): Vector2[];
148
152
  getUnevenPoints(count?: number, output?: Vector2[]): Vector2[];
149
153
  getAdaptivePoints(output?: Vector2[]): Vector2[];
@@ -162,6 +166,7 @@ declare abstract class Curve {
162
166
  max: Vector2;
163
167
  };
164
168
  getBoundingBox(): BoundingBox;
169
+ getFillVertices(_options?: FillTriangulateOptions): number[];
165
170
  fillTriangulate(options?: FillTriangulateOptions): FillTriangulatedResult;
166
171
  strokeTriangulate(options?: StrokeTriangulateOptions): StrokeTriangulatedResult;
167
172
  toCommands(): Path2DCommand[];
@@ -199,8 +204,9 @@ declare class RoundCurve extends Curve {
199
204
  drawTo(ctx: CanvasRenderingContext2D): this;
200
205
  applyTransform(matrix: Matrix3): this;
201
206
  getControlPointRefs(): Vector2[];
202
- getAdaptivePointArray(output?: number[]): number[];
203
- fillTriangulate(options?: FillTriangulateOptions): FillTriangulatedResult;
207
+ protected _getAdaptiveVerticesByArc(output?: number[]): number[];
208
+ protected _getAdaptiveVerticesByCircle(output?: number[]): number[];
209
+ getAdaptiveVertices(output?: number[]): number[];
204
210
  getMinMax(min?: Vector2, max?: Vector2): {
205
211
  min: Vector2;
206
212
  max: Vector2;
@@ -211,7 +217,7 @@ declare class RoundCurve extends Curve {
211
217
  declare class ArcCurve extends RoundCurve {
212
218
  constructor(cx?: number, cy?: number, radius?: number, startAngle?: number, endAngle?: number, clockwise?: boolean);
213
219
  drawTo(ctx: CanvasRenderingContext2D): this;
214
- getAdaptivePointArray(output?: number[]): number[];
220
+ getAdaptiveVertices(output?: number[]): number[];
215
221
  }
216
222
 
217
223
  declare class CompositeCurve<T extends Curve = Curve> extends Curve {
@@ -223,10 +229,10 @@ declare class CompositeCurve<T extends Curve = Curve> extends Curve {
223
229
  updateLengths(): void;
224
230
  getControlPointRefs(): Vector2[];
225
231
  protected _removeNextPointIfEqualPrevPoint(output: number[], offset: number): number[];
226
- getSpacedPointArray(count?: number, output?: number[]): number[];
227
- getAdaptivePointArray(output?: number[]): number[];
232
+ getSpacedVertices(count?: number, output?: number[]): number[];
233
+ getAdaptiveVertices(output?: number[]): number[];
228
234
  strokeTriangulate(options?: StrokeTriangulateOptions): StrokeTriangulatedResult;
229
- fillTriangulate(options?: FillTriangulateOptions): FillTriangulatedResult;
235
+ getFillVertices(options?: FillTriangulateOptions): number[];
230
236
  applyTransform(transform: Matrix3 | ((point: Vector2) => void)): this;
231
237
  getMinMax(min?: Vector2, max?: Vector2): {
232
238
  min: Vector2;
@@ -246,7 +252,7 @@ declare class CubicBezierCurve extends Curve {
246
252
  static from(p1x: number, p1y: number, cp1x: number, cp1y: number, cp2x: number, cp2y: number, p2x: number, p2y: number): CubicBezierCurve;
247
253
  constructor(p1?: Vector2, cp1?: Vector2, cp2?: Vector2, p2?: Vector2);
248
254
  getPoint(t: number, output?: Vector2): Vector2;
249
- getAdaptivePointArray(output?: number[]): number[];
255
+ getAdaptiveVertices(output?: number[]): number[];
250
256
  getControlPointRefs(): Vector2[];
251
257
  protected _solveQuadratic(a: number, b: number, c: number): number[];
252
258
  getMinMax(min?: Vector2, max?: Vector2): {
@@ -273,13 +279,13 @@ declare class LineCurve extends Curve {
273
279
  getTangent(_t: number, output?: Vector2): Vector2;
274
280
  getTangentAt(u: number, output?: Vector2): Vector2;
275
281
  getControlPointRefs(): Vector2[];
276
- getAdaptivePointArray(output?: number[]): number[];
282
+ getAdaptiveVertices(output?: number[]): number[];
277
283
  getMinMax(min?: Vector2, max?: Vector2): {
278
284
  min: Vector2;
279
285
  max: Vector2;
280
286
  };
281
287
  toCommands(): Path2DCommand[];
282
- fillTriangulate(options?: FillTriangulateOptions): FillTriangulatedResult;
288
+ getFillVertices(options?: FillTriangulateOptions): number[];
283
289
  drawTo(ctx: CanvasRenderingContext2D): this;
284
290
  copy(source: LineCurve): this;
285
291
  }
@@ -305,7 +311,7 @@ declare class QuadraticBezierCurve extends Curve {
305
311
  constructor(p1?: Vector2, cp?: Vector2, p2?: Vector2);
306
312
  getPoint(t: number, output?: Vector2): Vector2;
307
313
  getControlPointRefs(): Vector2[];
308
- getAdaptivePointArray(output?: number[]): number[];
314
+ getAdaptiveVertices(output?: number[]): number[];
309
315
  getMinMax(min?: Vector2, max?: Vector2): {
310
316
  min: Vector2;
311
317
  max: Vector2;
@@ -323,7 +329,7 @@ declare class RectangleCurve extends PloygonCurve {
323
329
  constructor(x?: number, y?: number, width?: number, height?: number);
324
330
  update(): this;
325
331
  drawTo(ctx: CanvasRenderingContext2D): this;
326
- fillTriangulate(options?: FillTriangulateOptions): FillTriangulatedResult;
332
+ getFillVertices(_options?: FillTriangulateOptions): number[];
327
333
  copy(source: RectangleCurve): this;
328
334
  }
329
335
 
@@ -409,10 +415,11 @@ declare class CurvePath extends CompositeCurve {
409
415
  addPoints(points: Vector2[]): this;
410
416
  addCommands(commands: Path2DCommand[]): this;
411
417
  addData(data: string): this;
412
- protected _closePointArray(output: number[]): number[];
413
- getUnevenPointArray(count?: number, output?: number[]): number[];
414
- getSpacedPointArray(count?: number, output?: number[]): number[];
415
- getAdaptivePointArray(output?: number[]): number[];
418
+ protected _closeVertices(output: number[]): number[];
419
+ getUnevenVertices(count?: number, output?: number[]): number[];
420
+ getSpacedVertices(count?: number, output?: number[]): number[];
421
+ getAdaptiveVertices(output?: number[]): number[];
422
+ getFillVertices(options?: FillTriangulateOptions): number[];
416
423
  protected _setCurrentPoint(point: VectorLike): this;
417
424
  protected _connetLineTo(curve: Curve): this;
418
425
  closePath(): this;
@@ -467,6 +474,13 @@ interface Path2DStyle extends Path2DDrawStyle {
467
474
 
468
475
  /**
469
476
  * @link https://developer.mozilla.org/zh-CN/docs/Web/API/Path2D
477
+ *
478
+ * Path2D
479
+ * --CurvePath
480
+ * ----LineCurve
481
+ * ----EllipseCurve
482
+ * ----CubicBezierCurve
483
+ * ----...
470
484
  */
471
485
  declare class Path2D extends CompositeCurve<CurvePath> {
472
486
  currentCurve: CurvePath;
@@ -568,4 +582,4 @@ declare function svgToDOM(svg: string | SVGElement): SVGElement;
568
582
 
569
583
  declare function svgToPath2DSet(svg: string | SVGElement): Path2DSet;
570
584
 
571
- export { ArcCurve, BoundingBox, CompositeCurve, CubicBezierCurve, Curve, CurvePath, type DrawPointOptions, EllipseCurve, EquilateralPloygonCurve, FFDControlGrid, type FillRule, type FillTriangulateOptions, type FillTriangulatedResult, type LineCap, LineCurve, type LineJoin, type LineStyle, Matrix3, Path2D, type Path2DCommand, type Path2DData, type Path2DDrawStyle, Path2DSet, type Path2DStyle, PloygonCurve, QuadraticBezierCurve, RectangleCurve, RoundRectangleCurve, SplineCurve, type StrokeLinecap, type StrokeLinejoin, type StrokeTriangulateOptions, type StrokeTriangulatedResult, Vector2, type VectorLike, applyFFD, catmullRom, cubicBezier, drawPoint, fillTriangulate, getAdaptiveCubicBezierCurvePoints, getAdaptiveQuadraticBezierCurvePoints, parseArcCommand, parsePathDataArgs, quadraticBezier, setCanvasContext, strokeTriangulate, svgPathCommandsAddToPath2D, svgPathCommandsToData, svgPathDataToCommands, svgToDOM, svgToPath2DSet };
585
+ export { ArcCurve, BoundingBox, CompositeCurve, CubicBezierCurve, Curve, CurvePath, type DrawPointOptions, EllipseCurve, EquilateralPloygonCurve, FFDControlGrid, type FillRule, type FillTriangulateOptions, type FillTriangulatedResult, type LineCap, LineCurve, type LineJoin, type LineStyle, Matrix3, Path2D, type Path2DCommand, type Path2DData, type Path2DDrawStyle, Path2DSet, type Path2DStyle, PloygonCurve, QuadraticBezierCurve, RectangleCurve, RoundRectangleCurve, SplineCurve, type StrokeLinecap, type StrokeLinejoin, type StrokeTriangulateOptions, type StrokeTriangulatedResult, Vector2, type VectorLike, applyFFD, catmullRom, cubicBezier, drawPoint, fillTriangulate, getAdaptiveCubicBezierCurvePoints, getAdaptiveQuadraticBezierCurvePoints, getDirectedArea, parseArcCommand, parsePathDataArgs, pointInPolygon, quadraticBezier, setCanvasContext, strokeTriangulate, svgPathCommandsAddToPath2D, svgPathCommandsToData, svgPathDataToCommands, svgToDOM, svgToPath2DSet };