modern-path2d 0.1.18 → 0.2.0
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/README.md +2 -2
- package/dist/index.cjs +353 -145
- package/dist/index.d.cts +64 -45
- package/dist/index.d.mts +64 -45
- package/dist/index.d.ts +64 -45
- package/dist/index.js +1 -1
- package/dist/index.mjs +353 -145
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -113,13 +113,22 @@ declare class Vector2 {
|
|
|
113
113
|
set(x: number, y: number): this;
|
|
114
114
|
add(vec: VectorLike): this;
|
|
115
115
|
sub(vec: VectorLike): this;
|
|
116
|
+
multiply(vec: VectorLike): this;
|
|
117
|
+
divide(vec: VectorLike): this;
|
|
118
|
+
dot(vec: VectorLike): number;
|
|
119
|
+
cross(vec: VectorLike): number;
|
|
120
|
+
rotate(a: number, target?: VectorLike): this;
|
|
116
121
|
distanceTo(vec: VectorLike): number;
|
|
117
122
|
distanceToSquared(vec: VectorLike): number;
|
|
123
|
+
lengthSquared(): number;
|
|
118
124
|
length(): number;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
subVectors(a: VectorLike, b: VectorLike): this;
|
|
125
|
+
scale(sx: number, sy?: number, target?: VectorLike): this;
|
|
126
|
+
skew(ax: number, ay?: number, target?: VectorLike): this;
|
|
122
127
|
normalize(): this;
|
|
128
|
+
addVectors(a: VectorLike, b: VectorLike): this;
|
|
129
|
+
subVectors(a: VectorLike, b: VectorLike): this;
|
|
130
|
+
multiplyVectors(a: VectorLike, b: VectorLike): this;
|
|
131
|
+
divideVectors(a: VectorLike, b: VectorLike): this;
|
|
123
132
|
lerpVectors(v1: VectorLike, v2: VectorLike, alpha: number): this;
|
|
124
133
|
equals(vec: VectorLike): boolean;
|
|
125
134
|
applyMatrix3(m: Matrix3): this;
|
|
@@ -150,27 +159,30 @@ declare abstract class Curve {
|
|
|
150
159
|
arcLengthDivisions: number;
|
|
151
160
|
protected _cacheArcLengths?: number[];
|
|
152
161
|
protected _needsUpdate: boolean;
|
|
162
|
+
isClockwise(): boolean;
|
|
153
163
|
abstract getPoint(t: number, output?: Vector2): Vector2;
|
|
154
164
|
getPointAt(u: number, output?: Vector2): Vector2;
|
|
155
165
|
getPoints(divisions?: number): Vector2[];
|
|
166
|
+
abstract getControlPoints(): Vector2[];
|
|
167
|
+
forEachControlPoints(cb: (point: Vector2, index: number) => void): this;
|
|
156
168
|
getSpacedPoints(divisions?: number): Vector2[];
|
|
157
169
|
getLength(): number;
|
|
158
170
|
getLengths(divisions?: number): number[];
|
|
159
171
|
updateArcLengths(): void;
|
|
160
|
-
|
|
172
|
+
getUToTMapping(u: number, distance?: number): number;
|
|
161
173
|
getTangent(t: number, output?: Vector2): Vector2;
|
|
162
174
|
getTangentAt(u: number, output?: Vector2): Vector2;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
175
|
+
getNormal(t: number, output?: Vector2): Vector2;
|
|
176
|
+
getNormalAt(u: number, output?: Vector2): Vector2;
|
|
177
|
+
getTForPoint(target: VectorLike, epsilon?: number): number;
|
|
178
|
+
matrix(matrix: Matrix3): this;
|
|
166
179
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
167
180
|
min: Vector2;
|
|
168
181
|
max: Vector2;
|
|
169
182
|
};
|
|
170
183
|
getBoundingBox(): BoundingBox;
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
/** overrideable */
|
|
184
|
+
toCommands(): PathCommand[];
|
|
185
|
+
toData(): string;
|
|
174
186
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
175
187
|
copy(source: Curve): this;
|
|
176
188
|
clone(): this;
|
|
@@ -183,9 +195,9 @@ declare class CircleCurve extends Curve {
|
|
|
183
195
|
end: number;
|
|
184
196
|
constructor(center: Vector2, radius: number, start?: number, end?: number);
|
|
185
197
|
getPoint(t: number): Vector2;
|
|
186
|
-
getTangent(t: number): Vector2;
|
|
187
|
-
getNormal(t: number): Vector2;
|
|
188
|
-
|
|
198
|
+
getTangent(t: number, output?: Vector2): Vector2;
|
|
199
|
+
getNormal(t: number, output?: Vector2): Vector2;
|
|
200
|
+
getControlPoints(): Vector2[];
|
|
189
201
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
190
202
|
min: Vector2;
|
|
191
203
|
max: Vector2;
|
|
@@ -199,13 +211,13 @@ declare class CubicBezierCurve extends Curve {
|
|
|
199
211
|
end: Vector2;
|
|
200
212
|
constructor(start?: Vector2, startControl?: Vector2, endControl?: Vector2, end?: Vector2);
|
|
201
213
|
getPoint(t: number, output?: Vector2): Vector2;
|
|
202
|
-
|
|
214
|
+
getControlPoints(): Vector2[];
|
|
203
215
|
protected _solveQuadratic(a: number, b: number, c: number): number[];
|
|
204
216
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
205
217
|
min: Vector2;
|
|
206
218
|
max: Vector2;
|
|
207
219
|
};
|
|
208
|
-
|
|
220
|
+
toCommands(): PathCommand[];
|
|
209
221
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
210
222
|
copy(source: CubicBezierCurve): this;
|
|
211
223
|
}
|
|
@@ -219,11 +231,12 @@ declare class EllipseCurve extends Curve {
|
|
|
219
231
|
endAngle: number;
|
|
220
232
|
clockwise: boolean;
|
|
221
233
|
constructor(center?: Vector2, radiusX?: number, radiusY?: number, rotation?: number, startAngle?: number, endAngle?: number, clockwise?: boolean);
|
|
234
|
+
isClockwise(): boolean;
|
|
222
235
|
getPoint(t: number, output?: Vector2): Vector2;
|
|
223
|
-
|
|
236
|
+
toCommands(): PathCommand[];
|
|
224
237
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
225
|
-
|
|
226
|
-
|
|
238
|
+
matrix(matrix: Matrix3): this;
|
|
239
|
+
getControlPoints(): Vector2[];
|
|
227
240
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
228
241
|
min: Vector2;
|
|
229
242
|
max: Vector2;
|
|
@@ -239,13 +252,12 @@ declare class LineCurve extends Curve {
|
|
|
239
252
|
getPointAt(u: number, output?: Vector2): Vector2;
|
|
240
253
|
getTangent(_t: number, output?: Vector2): Vector2;
|
|
241
254
|
getTangentAt(u: number, output?: Vector2): Vector2;
|
|
242
|
-
|
|
243
|
-
transformPoint(cb: (point: Vector2) => void): this;
|
|
255
|
+
getControlPoints(): Vector2[];
|
|
244
256
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
245
257
|
min: Vector2;
|
|
246
258
|
max: Vector2;
|
|
247
259
|
};
|
|
248
|
-
|
|
260
|
+
toCommands(): PathCommand[];
|
|
249
261
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
250
262
|
copy(source: LineCurve): this;
|
|
251
263
|
}
|
|
@@ -262,14 +274,14 @@ declare class HeartCurve extends Curve {
|
|
|
262
274
|
getPoint(t: number): Vector2;
|
|
263
275
|
getPointAt(t: number): Vector2;
|
|
264
276
|
getCurve(t: number): CircleCurve | LineCurve;
|
|
265
|
-
getTangent(t: number): Vector2;
|
|
266
|
-
getNormal(t: number): Vector2;
|
|
267
|
-
|
|
277
|
+
getTangent(t: number, output?: Vector2): Vector2;
|
|
278
|
+
getNormal(t: number, output?: Vector2): Vector2;
|
|
279
|
+
getControlPoints(): Vector2[];
|
|
268
280
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
269
281
|
min: Vector2;
|
|
270
282
|
max: Vector2;
|
|
271
283
|
};
|
|
272
|
-
|
|
284
|
+
toCommands(): PathCommand[];
|
|
273
285
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
274
286
|
}
|
|
275
287
|
|
|
@@ -289,12 +301,12 @@ declare class PloygonCurve extends Curve {
|
|
|
289
301
|
getPointAt(u: number, output?: Vector2): Vector2;
|
|
290
302
|
getTangent(t: number, output?: Vector2): Vector2;
|
|
291
303
|
getNormal(t: number, output?: Vector2): Vector2;
|
|
292
|
-
|
|
304
|
+
getControlPoints(): Vector2[];
|
|
293
305
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
294
306
|
min: Vector2;
|
|
295
307
|
max: Vector2;
|
|
296
308
|
};
|
|
297
|
-
|
|
309
|
+
toCommands(): PathCommand[];
|
|
298
310
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
299
311
|
}
|
|
300
312
|
|
|
@@ -304,12 +316,12 @@ declare class QuadraticBezierCurve extends Curve {
|
|
|
304
316
|
end: Vector2;
|
|
305
317
|
constructor(start?: Vector2, control?: Vector2, end?: Vector2);
|
|
306
318
|
getPoint(t: number, output?: Vector2): Vector2;
|
|
307
|
-
|
|
319
|
+
getControlPoints(): Vector2[];
|
|
308
320
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
309
321
|
min: Vector2;
|
|
310
322
|
max: Vector2;
|
|
311
323
|
};
|
|
312
|
-
|
|
324
|
+
toCommands(): PathCommand[];
|
|
313
325
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
314
326
|
copy(source: QuadraticBezierCurve): this;
|
|
315
327
|
}
|
|
@@ -333,12 +345,12 @@ declare class RectangularCurve extends Curve {
|
|
|
333
345
|
getPointAt(u: number, output?: Vector2): Vector2;
|
|
334
346
|
getTangent(t: number, output?: Vector2): Vector2;
|
|
335
347
|
getNormal(t: number, output?: Vector2): Vector2;
|
|
336
|
-
|
|
348
|
+
getControlPoints(): Vector2[];
|
|
337
349
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
338
350
|
min: Vector2;
|
|
339
351
|
max: Vector2;
|
|
340
352
|
};
|
|
341
|
-
|
|
353
|
+
toCommands(): PathCommand[];
|
|
342
354
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
343
355
|
}
|
|
344
356
|
|
|
@@ -346,7 +358,7 @@ declare class SplineCurve extends Curve {
|
|
|
346
358
|
points: Vector2[];
|
|
347
359
|
constructor(points?: Vector2[]);
|
|
348
360
|
getPoint(t: number, output?: Vector2): Vector2;
|
|
349
|
-
|
|
361
|
+
getControlPoints(): Vector2[];
|
|
350
362
|
copy(source: SplineCurve): this;
|
|
351
363
|
}
|
|
352
364
|
|
|
@@ -362,6 +374,7 @@ declare class CurvePath extends Curve {
|
|
|
362
374
|
addCommands(commands: PathCommand[]): this;
|
|
363
375
|
addData(data: string): this;
|
|
364
376
|
getPoint(t: number, output?: Vector2): Vector2;
|
|
377
|
+
getControlPoints(): Vector2[];
|
|
365
378
|
getLength(): number;
|
|
366
379
|
updateArcLengths(): void;
|
|
367
380
|
getCurveLengths(): number[];
|
|
@@ -380,13 +393,12 @@ declare class CurvePath extends Curve {
|
|
|
380
393
|
relativeEllipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean): this;
|
|
381
394
|
rect(x: number, y: number, w: number, h: number): this;
|
|
382
395
|
splineThru(points: Vector2[]): this;
|
|
383
|
-
transformPoint(cb: (point: Vector2) => void): this;
|
|
384
396
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
385
397
|
min: Vector2;
|
|
386
398
|
max: Vector2;
|
|
387
399
|
};
|
|
388
400
|
getBoundingBox(): BoundingBox;
|
|
389
|
-
|
|
401
|
+
toCommands(): PathCommand[];
|
|
390
402
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
391
403
|
copy(source: CurvePath): this;
|
|
392
404
|
}
|
|
@@ -415,23 +427,30 @@ declare class Path2D {
|
|
|
415
427
|
addCommands(commands: PathCommand[]): this;
|
|
416
428
|
addData(data: string): this;
|
|
417
429
|
splineThru(points: Vector2[]): this;
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
430
|
+
getControlPoints(): Vector2[];
|
|
431
|
+
getCurves(): Curve[];
|
|
432
|
+
scale(sx: number, sy?: number, target?: VectorLike): this;
|
|
433
|
+
skew(ax: number, ay?: number, target?: VectorLike): this;
|
|
434
|
+
rotate(a: number, target?: VectorLike): this;
|
|
435
|
+
bold(b: number): this;
|
|
436
|
+
matrix(matrix: Matrix3): this;
|
|
421
437
|
getMinMax(min?: Vector2, max?: Vector2, withStyle?: boolean): {
|
|
422
438
|
min: Vector2;
|
|
423
439
|
max: Vector2;
|
|
424
440
|
};
|
|
425
441
|
getBoundingBox(withStyle?: boolean): BoundingBox;
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
442
|
+
drawTo(ctx: CanvasRenderingContext2D, style?: Partial<PathStyle>): this;
|
|
443
|
+
drawControlPointsTo(ctx: CanvasRenderingContext2D, style?: Partial<PathStyle>): this;
|
|
444
|
+
toCommands(): PathCommand[];
|
|
445
|
+
toData(): string;
|
|
446
|
+
toSvgPathString(): string;
|
|
447
|
+
toSvgString(): string;
|
|
448
|
+
toSvgUrl(): string;
|
|
433
449
|
toSvg(): SVGElement;
|
|
434
|
-
toCanvas(
|
|
450
|
+
toCanvas(options?: Partial<PathStyle & {
|
|
451
|
+
pixelRatio: number;
|
|
452
|
+
}>): HTMLCanvasElement;
|
|
453
|
+
copy(source: Path2D): this;
|
|
435
454
|
clone(): this;
|
|
436
455
|
}
|
|
437
456
|
|
package/dist/index.d.mts
CHANGED
|
@@ -113,13 +113,22 @@ declare class Vector2 {
|
|
|
113
113
|
set(x: number, y: number): this;
|
|
114
114
|
add(vec: VectorLike): this;
|
|
115
115
|
sub(vec: VectorLike): this;
|
|
116
|
+
multiply(vec: VectorLike): this;
|
|
117
|
+
divide(vec: VectorLike): this;
|
|
118
|
+
dot(vec: VectorLike): number;
|
|
119
|
+
cross(vec: VectorLike): number;
|
|
120
|
+
rotate(a: number, target?: VectorLike): this;
|
|
116
121
|
distanceTo(vec: VectorLike): number;
|
|
117
122
|
distanceToSquared(vec: VectorLike): number;
|
|
123
|
+
lengthSquared(): number;
|
|
118
124
|
length(): number;
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
subVectors(a: VectorLike, b: VectorLike): this;
|
|
125
|
+
scale(sx: number, sy?: number, target?: VectorLike): this;
|
|
126
|
+
skew(ax: number, ay?: number, target?: VectorLike): this;
|
|
122
127
|
normalize(): this;
|
|
128
|
+
addVectors(a: VectorLike, b: VectorLike): this;
|
|
129
|
+
subVectors(a: VectorLike, b: VectorLike): this;
|
|
130
|
+
multiplyVectors(a: VectorLike, b: VectorLike): this;
|
|
131
|
+
divideVectors(a: VectorLike, b: VectorLike): this;
|
|
123
132
|
lerpVectors(v1: VectorLike, v2: VectorLike, alpha: number): this;
|
|
124
133
|
equals(vec: VectorLike): boolean;
|
|
125
134
|
applyMatrix3(m: Matrix3): this;
|
|
@@ -150,27 +159,30 @@ declare abstract class Curve {
|
|
|
150
159
|
arcLengthDivisions: number;
|
|
151
160
|
protected _cacheArcLengths?: number[];
|
|
152
161
|
protected _needsUpdate: boolean;
|
|
162
|
+
isClockwise(): boolean;
|
|
153
163
|
abstract getPoint(t: number, output?: Vector2): Vector2;
|
|
154
164
|
getPointAt(u: number, output?: Vector2): Vector2;
|
|
155
165
|
getPoints(divisions?: number): Vector2[];
|
|
166
|
+
abstract getControlPoints(): Vector2[];
|
|
167
|
+
forEachControlPoints(cb: (point: Vector2, index: number) => void): this;
|
|
156
168
|
getSpacedPoints(divisions?: number): Vector2[];
|
|
157
169
|
getLength(): number;
|
|
158
170
|
getLengths(divisions?: number): number[];
|
|
159
171
|
updateArcLengths(): void;
|
|
160
|
-
|
|
172
|
+
getUToTMapping(u: number, distance?: number): number;
|
|
161
173
|
getTangent(t: number, output?: Vector2): Vector2;
|
|
162
174
|
getTangentAt(u: number, output?: Vector2): Vector2;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
175
|
+
getNormal(t: number, output?: Vector2): Vector2;
|
|
176
|
+
getNormalAt(u: number, output?: Vector2): Vector2;
|
|
177
|
+
getTForPoint(target: VectorLike, epsilon?: number): number;
|
|
178
|
+
matrix(matrix: Matrix3): this;
|
|
166
179
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
167
180
|
min: Vector2;
|
|
168
181
|
max: Vector2;
|
|
169
182
|
};
|
|
170
183
|
getBoundingBox(): BoundingBox;
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
/** overrideable */
|
|
184
|
+
toCommands(): PathCommand[];
|
|
185
|
+
toData(): string;
|
|
174
186
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
175
187
|
copy(source: Curve): this;
|
|
176
188
|
clone(): this;
|
|
@@ -183,9 +195,9 @@ declare class CircleCurve extends Curve {
|
|
|
183
195
|
end: number;
|
|
184
196
|
constructor(center: Vector2, radius: number, start?: number, end?: number);
|
|
185
197
|
getPoint(t: number): Vector2;
|
|
186
|
-
getTangent(t: number): Vector2;
|
|
187
|
-
getNormal(t: number): Vector2;
|
|
188
|
-
|
|
198
|
+
getTangent(t: number, output?: Vector2): Vector2;
|
|
199
|
+
getNormal(t: number, output?: Vector2): Vector2;
|
|
200
|
+
getControlPoints(): Vector2[];
|
|
189
201
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
190
202
|
min: Vector2;
|
|
191
203
|
max: Vector2;
|
|
@@ -199,13 +211,13 @@ declare class CubicBezierCurve extends Curve {
|
|
|
199
211
|
end: Vector2;
|
|
200
212
|
constructor(start?: Vector2, startControl?: Vector2, endControl?: Vector2, end?: Vector2);
|
|
201
213
|
getPoint(t: number, output?: Vector2): Vector2;
|
|
202
|
-
|
|
214
|
+
getControlPoints(): Vector2[];
|
|
203
215
|
protected _solveQuadratic(a: number, b: number, c: number): number[];
|
|
204
216
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
205
217
|
min: Vector2;
|
|
206
218
|
max: Vector2;
|
|
207
219
|
};
|
|
208
|
-
|
|
220
|
+
toCommands(): PathCommand[];
|
|
209
221
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
210
222
|
copy(source: CubicBezierCurve): this;
|
|
211
223
|
}
|
|
@@ -219,11 +231,12 @@ declare class EllipseCurve extends Curve {
|
|
|
219
231
|
endAngle: number;
|
|
220
232
|
clockwise: boolean;
|
|
221
233
|
constructor(center?: Vector2, radiusX?: number, radiusY?: number, rotation?: number, startAngle?: number, endAngle?: number, clockwise?: boolean);
|
|
234
|
+
isClockwise(): boolean;
|
|
222
235
|
getPoint(t: number, output?: Vector2): Vector2;
|
|
223
|
-
|
|
236
|
+
toCommands(): PathCommand[];
|
|
224
237
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
225
|
-
|
|
226
|
-
|
|
238
|
+
matrix(matrix: Matrix3): this;
|
|
239
|
+
getControlPoints(): Vector2[];
|
|
227
240
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
228
241
|
min: Vector2;
|
|
229
242
|
max: Vector2;
|
|
@@ -239,13 +252,12 @@ declare class LineCurve extends Curve {
|
|
|
239
252
|
getPointAt(u: number, output?: Vector2): Vector2;
|
|
240
253
|
getTangent(_t: number, output?: Vector2): Vector2;
|
|
241
254
|
getTangentAt(u: number, output?: Vector2): Vector2;
|
|
242
|
-
|
|
243
|
-
transformPoint(cb: (point: Vector2) => void): this;
|
|
255
|
+
getControlPoints(): Vector2[];
|
|
244
256
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
245
257
|
min: Vector2;
|
|
246
258
|
max: Vector2;
|
|
247
259
|
};
|
|
248
|
-
|
|
260
|
+
toCommands(): PathCommand[];
|
|
249
261
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
250
262
|
copy(source: LineCurve): this;
|
|
251
263
|
}
|
|
@@ -262,14 +274,14 @@ declare class HeartCurve extends Curve {
|
|
|
262
274
|
getPoint(t: number): Vector2;
|
|
263
275
|
getPointAt(t: number): Vector2;
|
|
264
276
|
getCurve(t: number): CircleCurve | LineCurve;
|
|
265
|
-
getTangent(t: number): Vector2;
|
|
266
|
-
getNormal(t: number): Vector2;
|
|
267
|
-
|
|
277
|
+
getTangent(t: number, output?: Vector2): Vector2;
|
|
278
|
+
getNormal(t: number, output?: Vector2): Vector2;
|
|
279
|
+
getControlPoints(): Vector2[];
|
|
268
280
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
269
281
|
min: Vector2;
|
|
270
282
|
max: Vector2;
|
|
271
283
|
};
|
|
272
|
-
|
|
284
|
+
toCommands(): PathCommand[];
|
|
273
285
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
274
286
|
}
|
|
275
287
|
|
|
@@ -289,12 +301,12 @@ declare class PloygonCurve extends Curve {
|
|
|
289
301
|
getPointAt(u: number, output?: Vector2): Vector2;
|
|
290
302
|
getTangent(t: number, output?: Vector2): Vector2;
|
|
291
303
|
getNormal(t: number, output?: Vector2): Vector2;
|
|
292
|
-
|
|
304
|
+
getControlPoints(): Vector2[];
|
|
293
305
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
294
306
|
min: Vector2;
|
|
295
307
|
max: Vector2;
|
|
296
308
|
};
|
|
297
|
-
|
|
309
|
+
toCommands(): PathCommand[];
|
|
298
310
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
299
311
|
}
|
|
300
312
|
|
|
@@ -304,12 +316,12 @@ declare class QuadraticBezierCurve extends Curve {
|
|
|
304
316
|
end: Vector2;
|
|
305
317
|
constructor(start?: Vector2, control?: Vector2, end?: Vector2);
|
|
306
318
|
getPoint(t: number, output?: Vector2): Vector2;
|
|
307
|
-
|
|
319
|
+
getControlPoints(): Vector2[];
|
|
308
320
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
309
321
|
min: Vector2;
|
|
310
322
|
max: Vector2;
|
|
311
323
|
};
|
|
312
|
-
|
|
324
|
+
toCommands(): PathCommand[];
|
|
313
325
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
314
326
|
copy(source: QuadraticBezierCurve): this;
|
|
315
327
|
}
|
|
@@ -333,12 +345,12 @@ declare class RectangularCurve extends Curve {
|
|
|
333
345
|
getPointAt(u: number, output?: Vector2): Vector2;
|
|
334
346
|
getTangent(t: number, output?: Vector2): Vector2;
|
|
335
347
|
getNormal(t: number, output?: Vector2): Vector2;
|
|
336
|
-
|
|
348
|
+
getControlPoints(): Vector2[];
|
|
337
349
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
338
350
|
min: Vector2;
|
|
339
351
|
max: Vector2;
|
|
340
352
|
};
|
|
341
|
-
|
|
353
|
+
toCommands(): PathCommand[];
|
|
342
354
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
343
355
|
}
|
|
344
356
|
|
|
@@ -346,7 +358,7 @@ declare class SplineCurve extends Curve {
|
|
|
346
358
|
points: Vector2[];
|
|
347
359
|
constructor(points?: Vector2[]);
|
|
348
360
|
getPoint(t: number, output?: Vector2): Vector2;
|
|
349
|
-
|
|
361
|
+
getControlPoints(): Vector2[];
|
|
350
362
|
copy(source: SplineCurve): this;
|
|
351
363
|
}
|
|
352
364
|
|
|
@@ -362,6 +374,7 @@ declare class CurvePath extends Curve {
|
|
|
362
374
|
addCommands(commands: PathCommand[]): this;
|
|
363
375
|
addData(data: string): this;
|
|
364
376
|
getPoint(t: number, output?: Vector2): Vector2;
|
|
377
|
+
getControlPoints(): Vector2[];
|
|
365
378
|
getLength(): number;
|
|
366
379
|
updateArcLengths(): void;
|
|
367
380
|
getCurveLengths(): number[];
|
|
@@ -380,13 +393,12 @@ declare class CurvePath extends Curve {
|
|
|
380
393
|
relativeEllipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, counterclockwise?: boolean): this;
|
|
381
394
|
rect(x: number, y: number, w: number, h: number): this;
|
|
382
395
|
splineThru(points: Vector2[]): this;
|
|
383
|
-
transformPoint(cb: (point: Vector2) => void): this;
|
|
384
396
|
getMinMax(min?: Vector2, max?: Vector2): {
|
|
385
397
|
min: Vector2;
|
|
386
398
|
max: Vector2;
|
|
387
399
|
};
|
|
388
400
|
getBoundingBox(): BoundingBox;
|
|
389
|
-
|
|
401
|
+
toCommands(): PathCommand[];
|
|
390
402
|
drawTo(ctx: CanvasRenderingContext2D): this;
|
|
391
403
|
copy(source: CurvePath): this;
|
|
392
404
|
}
|
|
@@ -415,23 +427,30 @@ declare class Path2D {
|
|
|
415
427
|
addCommands(commands: PathCommand[]): this;
|
|
416
428
|
addData(data: string): this;
|
|
417
429
|
splineThru(points: Vector2[]): this;
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
430
|
+
getControlPoints(): Vector2[];
|
|
431
|
+
getCurves(): Curve[];
|
|
432
|
+
scale(sx: number, sy?: number, target?: VectorLike): this;
|
|
433
|
+
skew(ax: number, ay?: number, target?: VectorLike): this;
|
|
434
|
+
rotate(a: number, target?: VectorLike): this;
|
|
435
|
+
bold(b: number): this;
|
|
436
|
+
matrix(matrix: Matrix3): this;
|
|
421
437
|
getMinMax(min?: Vector2, max?: Vector2, withStyle?: boolean): {
|
|
422
438
|
min: Vector2;
|
|
423
439
|
max: Vector2;
|
|
424
440
|
};
|
|
425
441
|
getBoundingBox(withStyle?: boolean): BoundingBox;
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
442
|
+
drawTo(ctx: CanvasRenderingContext2D, style?: Partial<PathStyle>): this;
|
|
443
|
+
drawControlPointsTo(ctx: CanvasRenderingContext2D, style?: Partial<PathStyle>): this;
|
|
444
|
+
toCommands(): PathCommand[];
|
|
445
|
+
toData(): string;
|
|
446
|
+
toSvgPathString(): string;
|
|
447
|
+
toSvgString(): string;
|
|
448
|
+
toSvgUrl(): string;
|
|
433
449
|
toSvg(): SVGElement;
|
|
434
|
-
toCanvas(
|
|
450
|
+
toCanvas(options?: Partial<PathStyle & {
|
|
451
|
+
pixelRatio: number;
|
|
452
|
+
}>): HTMLCanvasElement;
|
|
453
|
+
copy(source: Path2D): this;
|
|
435
454
|
clone(): this;
|
|
436
455
|
}
|
|
437
456
|
|