@revideo/2d 0.2.1 → 0.2.2
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/lib/code/CodeCursor.d.ts +74 -74
- package/lib/code/CodeCursor.js +286 -352
- package/lib/code/CodeDiffer.d.ts +16 -21
- package/lib/code/CodeDiffer.js +41 -39
- package/lib/code/CodeFragment.d.ts +8 -16
- package/lib/code/CodeFragment.js +36 -36
- package/lib/code/CodeHighlighter.d.ts +59 -59
- package/lib/code/CodeHighlighter.js +1 -1
- package/lib/code/CodeMetrics.d.ts +8 -12
- package/lib/code/CodeMetrics.js +24 -26
- package/lib/code/CodeRange.d.ts +5 -21
- package/lib/code/CodeRange.js +124 -131
- package/lib/code/CodeScope.d.ts +8 -18
- package/lib/code/CodeScope.js +61 -59
- package/lib/code/CodeSelection.d.ts +4 -9
- package/lib/code/CodeSelection.js +8 -8
- package/lib/code/CodeSignal.d.ts +47 -74
- package/lib/code/CodeSignal.js +189 -206
- package/lib/code/CodeTokenizer.d.ts +1 -1
- package/lib/code/CodeTokenizer.js +41 -41
- package/lib/code/DefaultHighlightStyle.d.ts +2 -2
- package/lib/code/DefaultHighlightStyle.js +96 -96
- package/lib/code/LezerHighlighter.d.ts +19 -21
- package/lib/code/LezerHighlighter.js +101 -101
- package/lib/code/diff.d.ts +9 -12
- package/lib/code/diff.js +205 -218
- package/lib/code/extractRange.d.ts +4 -7
- package/lib/code/extractRange.js +71 -79
- package/lib/code/index.d.ts +1 -1
- package/lib/code/index.js +1 -1
- package/lib/components/Audio.d.ts +11 -11
- package/lib/components/Audio.js +109 -115
- package/lib/components/Bezier.d.ts +18 -18
- package/lib/components/Bezier.js +75 -86
- package/lib/components/Circle.d.ts +90 -95
- package/lib/components/Circle.js +74 -85
- package/lib/components/Code.d.ts +211 -244
- package/lib/components/Code.js +269 -317
- package/lib/components/CodeBlock.d.ts +67 -109
- package/lib/components/CodeBlock.js +373 -414
- package/lib/components/CubicBezier.d.ts +36 -36
- package/lib/components/CubicBezier.js +49 -52
- package/lib/components/Curve.d.ts +198 -208
- package/lib/components/Curve.js +269 -270
- package/lib/components/Grid.d.ts +42 -47
- package/lib/components/Grid.js +56 -63
- package/lib/components/Icon.d.ts +50 -55
- package/lib/components/Icon.js +50 -58
- package/lib/components/Img.d.ts +79 -86
- package/lib/components/Img.js +181 -193
- package/lib/components/Knot.d.ts +78 -97
- package/lib/components/Knot.js +60 -81
- package/lib/components/Latex.d.ts +12 -12
- package/lib/components/Latex.js +65 -77
- package/lib/components/Layout.d.ts +413 -455
- package/lib/components/Layout.js +681 -666
- package/lib/components/Line.d.ts +49 -61
- package/lib/components/Line.js +193 -216
- package/lib/components/Media.d.ts +35 -35
- package/lib/components/Media.js +134 -135
- package/lib/components/Node.d.ts +830 -875
- package/lib/components/Node.js +1314 -1383
- package/lib/components/Path.d.ts +14 -35
- package/lib/components/Path.js +89 -100
- package/lib/components/Polygon.d.ts +55 -60
- package/lib/components/Polygon.js +66 -71
- package/lib/components/QuadBezier.d.ts +29 -29
- package/lib/components/QuadBezier.js +45 -50
- package/lib/components/Ray.d.ts +28 -28
- package/lib/components/Ray.js +64 -71
- package/lib/components/Rect.d.ts +108 -115
- package/lib/components/Rect.js +72 -78
- package/lib/components/SVG.d.ts +139 -165
- package/lib/components/SVG.js +541 -609
- package/lib/components/Shape.d.ts +35 -44
- package/lib/components/Shape.js +127 -112
- package/lib/components/Spline.d.ts +40 -46
- package/lib/components/Spline.js +175 -190
- package/lib/components/Txt.d.ts +44 -55
- package/lib/components/Txt.js +155 -156
- package/lib/components/TxtLeaf.d.ts +16 -20
- package/lib/components/TxtLeaf.js +158 -177
- package/lib/components/Video.d.ts +41 -41
- package/lib/components/Video.js +135 -138
- package/lib/components/View2D.d.ts +21 -21
- package/lib/components/View2D.js +85 -98
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/types.d.ts +9 -22
- package/lib/components/types.js +1 -1
- package/lib/curves/ArcSegment.d.ts +24 -36
- package/lib/curves/ArcSegment.js +94 -145
- package/lib/curves/CircleSegment.d.ts +16 -26
- package/lib/curves/CircleSegment.js +49 -56
- package/lib/curves/CubicBezierSegment.d.ts +13 -18
- package/lib/curves/CubicBezierSegment.js +46 -79
- package/lib/curves/CurveDrawingInfo.d.ts +9 -9
- package/lib/curves/CurveDrawingInfo.js +1 -1
- package/lib/curves/CurvePoint.d.ts +13 -13
- package/lib/curves/CurvePoint.js +1 -1
- package/lib/curves/CurveProfile.d.ts +5 -5
- package/lib/curves/CurveProfile.js +1 -1
- package/lib/curves/KnotInfo.d.ts +8 -8
- package/lib/curves/KnotInfo.js +1 -1
- package/lib/curves/LineSegment.d.ts +14 -19
- package/lib/curves/LineSegment.js +42 -42
- package/lib/curves/Polynomial.d.ts +110 -110
- package/lib/curves/Polynomial.js +239 -249
- package/lib/curves/Polynomial2D.d.ts +20 -20
- package/lib/curves/Polynomial2D.js +42 -46
- package/lib/curves/PolynomialSegment.d.ts +37 -42
- package/lib/curves/PolynomialSegment.js +81 -83
- package/lib/curves/QuadBezierSegment.d.ts +12 -12
- package/lib/curves/QuadBezierSegment.js +41 -71
- package/lib/curves/Segment.d.ts +7 -12
- package/lib/curves/Segment.js +3 -2
- package/lib/curves/UniformPolynomialCurveSampler.d.ts +34 -34
- package/lib/curves/UniformPolynomialCurveSampler.js +62 -68
- package/lib/curves/createCurveProfileLerp.d.ts +6 -17
- package/lib/curves/createCurveProfileLerp.js +208 -211
- package/lib/curves/getBezierSplineProfile.d.ts +4 -8
- package/lib/curves/getBezierSplineProfile.js +101 -145
- package/lib/curves/getCircleProfile.d.ts +4 -10
- package/lib/curves/getCircleProfile.js +40 -72
- package/lib/curves/getPathProfile.d.ts +2 -2
- package/lib/curves/getPathProfile.js +112 -135
- package/lib/curves/getPointAtDistance.d.ts +4 -7
- package/lib/curves/getPointAtDistance.js +12 -12
- package/lib/curves/getPolylineProfile.d.ts +4 -8
- package/lib/curves/getPolylineProfile.js +54 -67
- package/lib/curves/getRectProfile.d.ts +4 -9
- package/lib/curves/getRectProfile.js +52 -117
- package/lib/curves/index.d.ts +1 -1
- package/lib/curves/index.js +1 -1
- package/lib/decorators/canvasStyleSignal.d.ts +3 -3
- package/lib/decorators/canvasStyleSignal.js +10 -10
- package/lib/decorators/colorSignal.d.ts +1 -1
- package/lib/decorators/colorSignal.js +7 -7
- package/lib/decorators/compound.d.ts +2 -4
- package/lib/decorators/compound.js +23 -43
- package/lib/decorators/computed.d.ts +1 -1
- package/lib/decorators/computed.js +9 -9
- package/lib/decorators/defaultStyle.d.ts +2 -5
- package/lib/decorators/defaultStyle.js +11 -11
- package/lib/decorators/filtersSignal.d.ts +8 -28
- package/lib/decorators/filtersSignal.js +64 -87
- package/lib/decorators/index.d.ts +1 -1
- package/lib/decorators/index.js +1 -1
- package/lib/decorators/initializers.d.ts +2 -5
- package/lib/decorators/initializers.js +19 -18
- package/lib/decorators/nodeName.d.ts +1 -1
- package/lib/decorators/nodeName.js +4 -4
- package/lib/decorators/signal.d.ts +20 -40
- package/lib/decorators/signal.js +104 -113
- package/lib/decorators/spacingSignal.d.ts +1 -1
- package/lib/decorators/spacingSignal.js +13 -13
- package/lib/decorators/vector2Signal.d.ts +7 -13
- package/lib/decorators/vector2Signal.js +13 -15
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/jsx-dev-runtime.d.ts +3 -3
- package/lib/jsx-dev-runtime.js +3 -3
- package/lib/jsx-runtime.d.ts +9 -19
- package/lib/jsx-runtime.js +18 -18
- package/lib/partials/Filter.d.ts +16 -24
- package/lib/partials/Filter.js +69 -69
- package/lib/partials/Gradient.d.ts +24 -30
- package/lib/partials/Gradient.js +58 -69
- package/lib/partials/Pattern.d.ts +9 -14
- package/lib/partials/Pattern.js +24 -30
- package/lib/partials/ShaderConfig.d.ts +74 -81
- package/lib/partials/ShaderConfig.js +23 -22
- package/lib/partials/index.d.ts +1 -1
- package/lib/partials/index.js +1 -1
- package/lib/partials/types.d.ts +6 -19
- package/lib/partials/types.js +1 -1
- package/lib/scenes/Scene2D.d.ts +23 -42
- package/lib/scenes/Scene2D.js +151 -161
- package/lib/scenes/index.d.ts +1 -1
- package/lib/scenes/index.js +1 -1
- package/lib/scenes/makeScene2D.d.ts +5 -7
- package/lib/scenes/makeScene2D.js +10 -10
- package/lib/scenes/useScene2D.d.ts +2 -2
- package/lib/scenes/useScene2D.js +3 -3
- package/lib/utils/CanvasUtils.d.ts +21 -93
- package/lib/utils/CanvasUtils.js +105 -186
- package/lib/utils/diff.d.ts +18 -25
- package/lib/utils/diff.js +87 -84
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/is.d.ts +2 -4
- package/lib/utils/is.js +2 -2
- package/lib/utils/makeSignalExtensions.d.ts +4 -11
- package/lib/utils/makeSignalExtensions.js +17 -17
- package/package.json +4 -4
- package/lib/components/AudioTest.d.ts +0 -99
- package/lib/components/AudioTest.d.ts.map +0 -1
- package/lib/components/AudioTest.js +0 -281
|
@@ -1,38 +1,26 @@
|
|
|
1
|
-
import {Vector2} from '@revideo/core';
|
|
2
|
-
import {CurvePoint} from './CurvePoint';
|
|
3
|
-
import {Segment} from './Segment';
|
|
1
|
+
import { Vector2 } from '@revideo/core';
|
|
2
|
+
import { CurvePoint } from './CurvePoint';
|
|
3
|
+
import { Segment } from './Segment';
|
|
4
4
|
export declare class ArcSegment extends Segment {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
endPoint: Vector2,
|
|
26
|
-
);
|
|
27
|
-
getAnglePosition(angle: number): Vector2;
|
|
28
|
-
getAngleDerivative(angle: number): Vector2;
|
|
29
|
-
draw(
|
|
30
|
-
context: CanvasRenderingContext2D | Path2D,
|
|
31
|
-
start: number,
|
|
32
|
-
end: number,
|
|
33
|
-
move: boolean,
|
|
34
|
-
): [CurvePoint, CurvePoint];
|
|
35
|
-
getPoint(distance: number): CurvePoint;
|
|
36
|
-
get arcLength(): number;
|
|
5
|
+
readonly startPoint: Vector2;
|
|
6
|
+
readonly radius: Vector2;
|
|
7
|
+
readonly xAxisRotationDegree: number;
|
|
8
|
+
readonly largeArcFlag: number;
|
|
9
|
+
readonly sweepFlag: number;
|
|
10
|
+
readonly endPoint: Vector2;
|
|
11
|
+
private static el;
|
|
12
|
+
readonly center: Vector2;
|
|
13
|
+
readonly startAngle: number;
|
|
14
|
+
readonly deltaAngle: number;
|
|
15
|
+
readonly xAxisRotation: number;
|
|
16
|
+
private xAxisRotationMatrix;
|
|
17
|
+
readonly points: Vector2[];
|
|
18
|
+
private length;
|
|
19
|
+
constructor(startPoint: Vector2, radius: Vector2, xAxisRotationDegree: number, largeArcFlag: number, sweepFlag: number, endPoint: Vector2);
|
|
20
|
+
getAnglePosition(angle: number): Vector2;
|
|
21
|
+
getAngleDerivative(angle: number): Vector2;
|
|
22
|
+
draw(context: CanvasRenderingContext2D | Path2D, start: number, end: number, move: boolean): [CurvePoint, CurvePoint];
|
|
23
|
+
getPoint(distance: number): CurvePoint;
|
|
24
|
+
get arcLength(): number;
|
|
37
25
|
}
|
|
38
|
-
//# sourceMappingURL=ArcSegment.d.ts.map
|
|
26
|
+
//# sourceMappingURL=ArcSegment.d.ts.map
|
package/lib/curves/ArcSegment.js
CHANGED
|
@@ -1,152 +1,101 @@
|
|
|
1
|
-
var __decorate =
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
r =
|
|
6
|
-
c < 3
|
|
7
|
-
? target
|
|
8
|
-
: desc === null
|
|
9
|
-
? (desc = Object.getOwnPropertyDescriptor(target, key))
|
|
10
|
-
: desc,
|
|
11
|
-
d;
|
|
12
|
-
if (typeof Reflect === 'object' && typeof Reflect.decorate === 'function')
|
|
13
|
-
r = Reflect.decorate(decorators, target, key, desc);
|
|
14
|
-
else
|
|
15
|
-
for (var i = decorators.length - 1; i >= 0; i--)
|
|
16
|
-
if ((d = decorators[i]))
|
|
17
|
-
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
-
|
|
20
|
-
import {BBox, DEG2RAD, Matrix2D, Vector2, lazy} from '@revideo/core';
|
|
21
|
-
import {View2D} from '../components/View2D';
|
|
22
|
-
import {Segment} from './Segment';
|
|
6
|
+
};
|
|
7
|
+
import { BBox, DEG2RAD, Matrix2D, Vector2, lazy } from '@revideo/core';
|
|
8
|
+
import { View2D } from '../components/View2D';
|
|
9
|
+
import { Segment } from './Segment';
|
|
23
10
|
export class ArcSegment extends Segment {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
11
|
+
constructor(startPoint, radius, xAxisRotationDegree, largeArcFlag, sweepFlag, endPoint) {
|
|
12
|
+
super();
|
|
13
|
+
this.startPoint = startPoint;
|
|
14
|
+
this.radius = radius;
|
|
15
|
+
this.xAxisRotationDegree = xAxisRotationDegree;
|
|
16
|
+
this.largeArcFlag = largeArcFlag;
|
|
17
|
+
this.sweepFlag = sweepFlag;
|
|
18
|
+
this.endPoint = endPoint;
|
|
19
|
+
this.xAxisRotation = this.xAxisRotationDegree * DEG2RAD;
|
|
20
|
+
this.radius = new Vector2(Math.abs(radius.x), Math.abs(radius.y));
|
|
21
|
+
const pAccent = startPoint
|
|
22
|
+
.sub(endPoint)
|
|
23
|
+
.div(2)
|
|
24
|
+
.transform(Matrix2D.fromRotation(-xAxisRotationDegree).domMatrix);
|
|
25
|
+
const L = (pAccent.x * pAccent.x) / (radius.x * radius.x) +
|
|
26
|
+
(pAccent.y * pAccent.y) / (radius.y * radius.y);
|
|
27
|
+
if (L > 1) {
|
|
28
|
+
const Lsqrt = Math.sqrt(L);
|
|
29
|
+
radius.x = Lsqrt * radius.x;
|
|
30
|
+
radius.y = Lsqrt * radius.y;
|
|
31
|
+
}
|
|
32
|
+
const cAccent = new Vector2(radius.ctg * pAccent.y, radius.perpendicular.ctg * pAccent.x).scale(Math.sqrt(1 /
|
|
33
|
+
((pAccent.x * pAccent.x) / (radius.x * radius.x) +
|
|
34
|
+
(pAccent.y * pAccent.y) / (radius.y * radius.y)) -
|
|
35
|
+
1) * (largeArcFlag === sweepFlag ? -1 : 1));
|
|
36
|
+
this.xAxisRotationMatrix =
|
|
37
|
+
Matrix2D.fromRotation(xAxisRotationDegree).domMatrix;
|
|
38
|
+
this.center = cAccent
|
|
39
|
+
.transform(this.xAxisRotationMatrix)
|
|
40
|
+
.add(startPoint.add(endPoint).div(2));
|
|
41
|
+
const q = pAccent.sub(cAccent).div(radius);
|
|
42
|
+
const s = pAccent.scale(-1).sub(cAccent).div(radius);
|
|
43
|
+
this.startAngle = q.radians;
|
|
44
|
+
this.deltaAngle = Vector2.angleBetween(q, s) % (Math.PI * 2);
|
|
45
|
+
if (this.sweepFlag === 0 && this.deltaAngle > 0) {
|
|
46
|
+
this.deltaAngle -= Math.PI * 2;
|
|
47
|
+
}
|
|
48
|
+
if (this.sweepFlag === 1 && this.deltaAngle < 0) {
|
|
49
|
+
this.deltaAngle += Math.PI * 2;
|
|
50
|
+
}
|
|
51
|
+
ArcSegment.el.setAttribute('d', `M ${this.startPoint.x} ${this.startPoint.y} A ${this.radius.x} ${this.radius.y} ${this.xAxisRotationDegree} ${this.largeArcFlag} ${this.sweepFlag} ${this.endPoint.x} ${this.endPoint.y}`);
|
|
52
|
+
this.length = ArcSegment.el.getTotalLength();
|
|
53
|
+
const bbox = new BBox(ArcSegment.el.getBBox());
|
|
54
|
+
this.points = [bbox.topLeft, bbox.bottomRight];
|
|
52
55
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
1 /
|
|
59
|
-
((pAccent.x * pAccent.x) / (radius.x * radius.x) +
|
|
60
|
-
(pAccent.y * pAccent.y) / (radius.y * radius.y)) -
|
|
61
|
-
1,
|
|
62
|
-
) * (largeArcFlag === sweepFlag ? -1 : 1),
|
|
63
|
-
);
|
|
64
|
-
this.xAxisRotationMatrix =
|
|
65
|
-
Matrix2D.fromRotation(xAxisRotationDegree).domMatrix;
|
|
66
|
-
this.center = cAccent
|
|
67
|
-
.transform(this.xAxisRotationMatrix)
|
|
68
|
-
.add(startPoint.add(endPoint).div(2));
|
|
69
|
-
const q = pAccent.sub(cAccent).div(radius);
|
|
70
|
-
const s = pAccent.scale(-1).sub(cAccent).div(radius);
|
|
71
|
-
this.startAngle = q.radians;
|
|
72
|
-
this.deltaAngle = Vector2.angleBetween(q, s) % (Math.PI * 2);
|
|
73
|
-
if (this.sweepFlag === 0 && this.deltaAngle > 0) {
|
|
74
|
-
this.deltaAngle -= Math.PI * 2;
|
|
56
|
+
getAnglePosition(angle) {
|
|
57
|
+
return this.radius
|
|
58
|
+
.mul(Vector2.fromRadians(angle))
|
|
59
|
+
.transform(this.xAxisRotationMatrix)
|
|
60
|
+
.add(this.center);
|
|
75
61
|
}
|
|
76
|
-
|
|
77
|
-
|
|
62
|
+
getAngleDerivative(angle) {
|
|
63
|
+
return new Vector2(-this.radius.x * Math.sin(angle), this.radius.y * Math.cos(angle)).transform(this.xAxisRotationMatrix);
|
|
64
|
+
}
|
|
65
|
+
draw(context, start, end, move) {
|
|
66
|
+
const startAngle = this.startAngle + this.deltaAngle * start;
|
|
67
|
+
const endAngle = this.startAngle + this.deltaAngle * end;
|
|
68
|
+
const startPos = this.getPoint(start);
|
|
69
|
+
const endPos = this.getPoint(end);
|
|
70
|
+
if (move)
|
|
71
|
+
context.moveTo(startPos.position.x, startPos.position.y);
|
|
72
|
+
context.ellipse(this.center.x, this.center.y, this.radius.x, this.radius.y, this.xAxisRotation, startAngle, endAngle, this.sweepFlag === 0);
|
|
73
|
+
return [startPos, endPos];
|
|
74
|
+
}
|
|
75
|
+
getPoint(distance) {
|
|
76
|
+
const angle = this.startAngle + distance * this.deltaAngle;
|
|
77
|
+
const tangent = this.getAngleDerivative(angle).normalized;
|
|
78
|
+
return {
|
|
79
|
+
position: distance === 0
|
|
80
|
+
? this.startPoint
|
|
81
|
+
: distance === 1
|
|
82
|
+
? this.endPoint
|
|
83
|
+
: this.getAnglePosition(angle),
|
|
84
|
+
tangent,
|
|
85
|
+
normal: tangent.perpendicular,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
get arcLength() {
|
|
89
|
+
return this.length;
|
|
78
90
|
}
|
|
79
|
-
ArcSegment.el.setAttribute(
|
|
80
|
-
'd',
|
|
81
|
-
`M ${this.startPoint.x} ${this.startPoint.y} A ${this.radius.x} ${this.radius.y} ${this.xAxisRotationDegree} ${this.largeArcFlag} ${this.sweepFlag} ${this.endPoint.x} ${this.endPoint.y}`,
|
|
82
|
-
);
|
|
83
|
-
this.length = ArcSegment.el.getTotalLength();
|
|
84
|
-
const bbox = new BBox(ArcSegment.el.getBBox());
|
|
85
|
-
this.points = [bbox.topLeft, bbox.bottomRight];
|
|
86
|
-
}
|
|
87
|
-
getAnglePosition(angle) {
|
|
88
|
-
return this.radius
|
|
89
|
-
.mul(Vector2.fromRadians(angle))
|
|
90
|
-
.transform(this.xAxisRotationMatrix)
|
|
91
|
-
.add(this.center);
|
|
92
|
-
}
|
|
93
|
-
getAngleDerivative(angle) {
|
|
94
|
-
return new Vector2(
|
|
95
|
-
-this.radius.x * Math.sin(angle),
|
|
96
|
-
this.radius.y * Math.cos(angle),
|
|
97
|
-
).transform(this.xAxisRotationMatrix);
|
|
98
|
-
}
|
|
99
|
-
draw(context, start, end, move) {
|
|
100
|
-
const startAngle = this.startAngle + this.deltaAngle * start;
|
|
101
|
-
const endAngle = this.startAngle + this.deltaAngle * end;
|
|
102
|
-
const startPos = this.getPoint(start);
|
|
103
|
-
const endPos = this.getPoint(end);
|
|
104
|
-
if (move) context.moveTo(startPos.position.x, startPos.position.y);
|
|
105
|
-
context.ellipse(
|
|
106
|
-
this.center.x,
|
|
107
|
-
this.center.y,
|
|
108
|
-
this.radius.x,
|
|
109
|
-
this.radius.y,
|
|
110
|
-
this.xAxisRotation,
|
|
111
|
-
startAngle,
|
|
112
|
-
endAngle,
|
|
113
|
-
this.sweepFlag === 0,
|
|
114
|
-
);
|
|
115
|
-
return [startPos, endPos];
|
|
116
|
-
}
|
|
117
|
-
getPoint(distance) {
|
|
118
|
-
const angle = this.startAngle + distance * this.deltaAngle;
|
|
119
|
-
const tangent = this.getAngleDerivative(angle).normalized;
|
|
120
|
-
return {
|
|
121
|
-
position:
|
|
122
|
-
distance === 0
|
|
123
|
-
? this.startPoint
|
|
124
|
-
: distance === 1
|
|
125
|
-
? this.endPoint
|
|
126
|
-
: this.getAnglePosition(angle),
|
|
127
|
-
tangent,
|
|
128
|
-
normal: tangent.perpendicular,
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
get arcLength() {
|
|
132
|
-
return this.length;
|
|
133
|
-
}
|
|
134
91
|
}
|
|
135
|
-
__decorate(
|
|
136
|
-
[
|
|
92
|
+
__decorate([
|
|
137
93
|
lazy(() => {
|
|
138
|
-
|
|
139
|
-
'http://www.w3.org/2000/svg',
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}),
|
|
147
|
-
],
|
|
148
|
-
ArcSegment,
|
|
149
|
-
'el',
|
|
150
|
-
void 0,
|
|
151
|
-
);
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJjU2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0FyY1NlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTVDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFFbEMsTUFBTSxPQUFPLFVBQVcsU0FBUSxPQUFPO0lBa0JyQyxZQUNrQixVQUFtQixFQUNuQixNQUFlLEVBQ2YsbUJBQTJCLEVBQzNCLFlBQW9CLEVBQ3BCLFNBQWlCLEVBQ2pCLFFBQWlCO1FBRWpDLEtBQUssRUFBRSxDQUFDO1FBUFEsZUFBVSxHQUFWLFVBQVUsQ0FBUztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ2Ysd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFRO1FBQzNCLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUlqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUM7UUFDeEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxFLE1BQU0sT0FBTyxHQUFHLFVBQVU7YUFDdkIsR0FBRyxDQUFDLFFBQVEsQ0FBQzthQUNiLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDTixTQUFTLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFt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
|
|
94
|
+
const root = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
|
95
|
+
const el = document.createElementNS('http://www.w3.org/2000/svg', 'path');
|
|
96
|
+
root.appendChild(el);
|
|
97
|
+
View2D.shadowRoot.appendChild(root);
|
|
98
|
+
return el;
|
|
99
|
+
})
|
|
100
|
+
], ArcSegment, "el", void 0);
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJjU2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0FyY1NlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTVDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFFbEMsTUFBTSxPQUFPLFVBQVcsU0FBUSxPQUFPO0lBa0JyQyxZQUNrQixVQUFtQixFQUNuQixNQUFlLEVBQ2YsbUJBQTJCLEVBQzNCLFlBQW9CLEVBQ3BCLFNBQWlCLEVBQ2pCLFFBQWlCO1FBRWpDLEtBQUssRUFBRSxDQUFDO1FBUFEsZUFBVSxHQUFWLFVBQVUsQ0FBUztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ2Ysd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFRO1FBQzNCLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUlqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUM7UUFDeEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxFLE1BQU0sT0FBTyxHQUFHLFVBQVU7YUFDdkIsR0FBRyxDQUFDLFFBQVEsQ0FBQzthQUNiLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDTixTQUFTLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLG1CQUFt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
|
|
@@ -1,28 +1,18 @@
|
|
|
1
|
-
import {Vector2} from '@revideo/core';
|
|
2
|
-
import {CurvePoint} from './CurvePoint';
|
|
3
|
-
import {Segment} from './Segment';
|
|
1
|
+
import { Vector2 } from '@revideo/core';
|
|
2
|
+
import { CurvePoint } from './CurvePoint';
|
|
3
|
+
import { Segment } from './Segment';
|
|
4
4
|
export declare class CircleSegment extends Segment {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
to: Vector2,
|
|
18
|
-
counter: boolean,
|
|
19
|
-
);
|
|
20
|
-
get arcLength(): number;
|
|
21
|
-
draw(
|
|
22
|
-
context: CanvasRenderingContext2D | Path2D,
|
|
23
|
-
from: number,
|
|
24
|
-
to: number,
|
|
25
|
-
): [CurvePoint, CurvePoint];
|
|
26
|
-
getPoint(distance: number): CurvePoint;
|
|
5
|
+
private center;
|
|
6
|
+
private radius;
|
|
7
|
+
private from;
|
|
8
|
+
private to;
|
|
9
|
+
private counter;
|
|
10
|
+
private readonly length;
|
|
11
|
+
private readonly angle;
|
|
12
|
+
readonly points: Vector2[];
|
|
13
|
+
constructor(center: Vector2, radius: number, from: Vector2, to: Vector2, counter: boolean);
|
|
14
|
+
get arcLength(): number;
|
|
15
|
+
draw(context: CanvasRenderingContext2D | Path2D, from: number, to: number): [CurvePoint, CurvePoint];
|
|
16
|
+
getPoint(distance: number): CurvePoint;
|
|
27
17
|
}
|
|
28
|
-
//# sourceMappingURL=CircleSegment.d.ts.map
|
|
18
|
+
//# sourceMappingURL=CircleSegment.d.ts.map
|
|
@@ -1,59 +1,52 @@
|
|
|
1
|
-
import {Vector2, clamp} from '@revideo/core';
|
|
2
|
-
import {Segment} from './Segment';
|
|
1
|
+
import { Vector2, clamp } from '@revideo/core';
|
|
2
|
+
import { Segment } from './Segment';
|
|
3
3
|
export class CircleSegment extends Segment {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
4
|
+
constructor(center, radius, from, to, counter) {
|
|
5
|
+
super();
|
|
6
|
+
this.center = center;
|
|
7
|
+
this.radius = radius;
|
|
8
|
+
this.from = from;
|
|
9
|
+
this.to = to;
|
|
10
|
+
this.counter = counter;
|
|
11
|
+
this.angle = Math.acos(clamp(-1, 1, from.dot(to)));
|
|
12
|
+
this.length = Math.abs(this.angle * radius);
|
|
13
|
+
const edgeVector = new Vector2(1, 1).scale(radius);
|
|
14
|
+
this.points = [center.sub(edgeVector), center.add(edgeVector)];
|
|
15
|
+
}
|
|
16
|
+
get arcLength() {
|
|
17
|
+
return this.length;
|
|
18
|
+
}
|
|
19
|
+
draw(context, from, to) {
|
|
20
|
+
const counterFactor = this.counter ? -1 : 1;
|
|
21
|
+
const startAngle = this.from.radians + from * this.angle * counterFactor;
|
|
22
|
+
const endAngle = this.to.radians - (1 - to) * this.angle * counterFactor;
|
|
23
|
+
if (Math.abs(this.angle) > 0.0001) {
|
|
24
|
+
context.arc(this.center.x, this.center.y, this.radius, startAngle, endAngle, this.counter);
|
|
25
|
+
}
|
|
26
|
+
const startNormal = Vector2.fromRadians(startAngle);
|
|
27
|
+
const endNormal = Vector2.fromRadians(endAngle);
|
|
28
|
+
return [
|
|
29
|
+
{
|
|
30
|
+
position: this.center.add(startNormal.scale(this.radius)),
|
|
31
|
+
tangent: this.counter ? startNormal : startNormal.flipped,
|
|
32
|
+
normal: this.counter ? startNormal.flipped : startNormal,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
position: this.center.add(endNormal.scale(this.radius)),
|
|
36
|
+
tangent: this.counter ? endNormal.flipped : endNormal,
|
|
37
|
+
normal: this.counter ? endNormal.flipped : endNormal,
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
getPoint(distance) {
|
|
42
|
+
const counterFactor = this.counter ? -1 : 1;
|
|
43
|
+
const angle = this.from.radians + distance * this.angle * counterFactor;
|
|
44
|
+
const normal = Vector2.fromRadians(angle);
|
|
45
|
+
return {
|
|
46
|
+
position: this.center.add(normal.scale(this.radius)),
|
|
47
|
+
tangent: this.counter ? normal : normal.flipped,
|
|
48
|
+
normal: this.counter ? normal : normal.flipped,
|
|
49
|
+
};
|
|
32
50
|
}
|
|
33
|
-
const startNormal = Vector2.fromRadians(startAngle);
|
|
34
|
-
const endNormal = Vector2.fromRadians(endAngle);
|
|
35
|
-
return [
|
|
36
|
-
{
|
|
37
|
-
position: this.center.add(startNormal.scale(this.radius)),
|
|
38
|
-
tangent: this.counter ? startNormal : startNormal.flipped,
|
|
39
|
-
normal: this.counter ? startNormal.flipped : startNormal,
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
position: this.center.add(endNormal.scale(this.radius)),
|
|
43
|
-
tangent: this.counter ? endNormal.flipped : endNormal,
|
|
44
|
-
normal: this.counter ? endNormal.flipped : endNormal,
|
|
45
|
-
},
|
|
46
|
-
];
|
|
47
|
-
}
|
|
48
|
-
getPoint(distance) {
|
|
49
|
-
const counterFactor = this.counter ? -1 : 1;
|
|
50
|
-
const angle = this.from.radians + distance * this.angle * counterFactor;
|
|
51
|
-
const normal = Vector2.fromRadians(angle);
|
|
52
|
-
return {
|
|
53
|
-
position: this.center.add(normal.scale(this.radius)),
|
|
54
|
-
tangent: this.counter ? normal : normal.flipped,
|
|
55
|
-
normal: this.counter ? normal : normal.flipped,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
51
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2lyY2xlU2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0NpcmNsZVNlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUVsQyxNQUFNLE9BQU8sYUFBYyxTQUFRLE9BQU87SUFLeEMsWUFDVSxNQUFlLEVBQ2YsTUFBYyxFQUNkLElBQWEsRUFDYixFQUFXLEVBQ1gsT0FBZ0I7UUFFeEIsS0FBSyxFQUFFLENBQUM7UUFOQSxXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixPQUFFLEdBQUYsRUFBRSxDQUFTO1FBQ1gsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUd4QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFD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
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2lyY2xlU2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3VydmVzL0NpcmNsZVNlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUVsQyxNQUFNLE9BQU8sYUFBYyxTQUFRLE9BQU87SUFLeEMsWUFDVSxNQUFlLEVBQ2YsTUFBYyxFQUNkLElBQWEsRUFDYixFQUFXLEVBQ1gsT0FBZ0I7UUFFeEIsS0FBSyxFQUFFLENBQUM7UUFOQSxXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixPQUFFLEdBQUYsRUFBRSxDQUFTO1FBQ1gsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUd4QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFD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
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
import {Vector2} from '@revideo/core';
|
|
2
|
-
import {PolynomialSegment} from './PolynomialSegment';
|
|
1
|
+
import { Vector2 } from '@revideo/core';
|
|
2
|
+
import { PolynomialSegment } from './PolynomialSegment';
|
|
3
3
|
/**
|
|
4
4
|
* A spline segment representing a cubic Bézier curve.
|
|
5
5
|
*/
|
|
6
6
|
export declare class CubicBezierSegment extends PolynomialSegment {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
p0: Vector2,
|
|
18
|
-
p1: Vector2,
|
|
19
|
-
p2: Vector2,
|
|
20
|
-
p3: Vector2,
|
|
21
|
-
): number;
|
|
7
|
+
readonly p0: Vector2;
|
|
8
|
+
readonly p1: Vector2;
|
|
9
|
+
readonly p2: Vector2;
|
|
10
|
+
readonly p3: Vector2;
|
|
11
|
+
private static el;
|
|
12
|
+
get points(): Vector2[];
|
|
13
|
+
constructor(p0: Vector2, p1: Vector2, p2: Vector2, p3: Vector2);
|
|
14
|
+
split(t: number): [PolynomialSegment, PolynomialSegment];
|
|
15
|
+
protected doDraw(context: CanvasRenderingContext2D | Path2D): void;
|
|
16
|
+
protected static getLength(p0: Vector2, p1: Vector2, p2: Vector2, p3: Vector2): number;
|
|
22
17
|
}
|
|
23
|
-
//# sourceMappingURL=CubicBezierSegment.d.ts.map
|
|
18
|
+
//# sourceMappingURL=CubicBezierSegment.d.ts.map
|