未验证 提交 e35fbbd9 编写于 作者: Y Yegor 提交者: GitHub

switch to non-overloaded arcTo methods (#20341)

上级 99b05e4d
......@@ -973,12 +973,21 @@ class SkPath {
external void addRect(
SkRect rect,
);
external void arcTo(
external void arcToOval(
SkRect oval,
double startAngleDegrees,
double sweepAngleDegrees,
bool forceMoveTo,
);
external void arcToRotated(
double radiusX,
double radiusY,
double rotation,
bool useSmallArc,
bool counterClockWise,
double x,
double y,
);
external void close();
external void conicTo(
double x1,
......@@ -1057,21 +1066,6 @@ class SkPath {
);
}
/// A different view on [SkPath] used to overload [SkPath.arcTo].
// TODO(yjbanov): this is a hack to get around https://github.com/flutter/flutter/issues/61305
@JS()
class SkPathArcToPointOverload {
external void arcTo(
double radiusX,
double radiusY,
double rotation,
bool useSmallArc,
bool counterClockWise,
double x,
double y,
);
}
@JS('window.flutter_canvas_kit.SkContourMeasureIter')
class SkContourMeasureIter {
external SkContourMeasureIter(SkPath path, bool forceClosed, int startIndex);
......
......@@ -116,7 +116,7 @@ class CkPath implements ui.Path {
void arcTo(
ui.Rect rect, double startAngle, double sweepAngle, bool forceMoveTo) {
const double toDegrees = 180.0 / math.pi;
_skPath.arcTo(
_skPath.arcToOval(
toSkRect(rect),
startAngle * toDegrees,
sweepAngle * toDegrees,
......@@ -130,7 +130,7 @@ class CkPath implements ui.Path {
double rotation = 0.0,
bool largeArc = false,
bool clockwise = true}) {
(_skPath as SkPathArcToPointOverload).arcTo(
_skPath.arcToRotated(
radius.x,
radius.y,
rotation,
......
......@@ -602,7 +602,7 @@ void _pathTests() {
});
test('arcTo', () {
path.arcTo(
path.arcToOval(
SkRect(fLeft: 1, fTop: 2, fRight: 3, fBottom: 4),
5,
40,
......@@ -611,7 +611,7 @@ void _pathTests() {
});
test('overloaded arcTo (used for arcToPoint)', () {
(path as SkPathArcToPointOverload).arcTo(
path.arcToRotated(
1,
2,
3,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册