public override void apply(Path path, float progress) { Offset controlPoint1 = AnimatedIconUtils._interpolate <Offset>(this.controlPoints1, progress, Offset.lerp); Offset controlPoint2 = AnimatedIconUtils._interpolate <Offset>(this.controlPoints2, progress, Offset.lerp); Offset targetPoint = AnimatedIconUtils._interpolate <Offset>(this.targetPoints, progress, Offset.lerp); path.cubicTo( controlPoint1.dx, controlPoint1.dy, controlPoint2.dx, controlPoint2.dy, targetPoint.dx, targetPoint.dy ); }
public void paint(Canvas canvas, Color color, _UiPathFactory uiPathFactory, float progress) { float opacity = AnimatedIconUtils._interpolate(opacities, progress); Paint paint = new Paint(); paint.style = PaintingStyle.fill; paint.color = color.withOpacity(color.opacity * opacity); Path path = uiPathFactory(); foreach (_PathCommand command in commands) { command.apply(path, progress); } canvas.drawPath(path, paint); }
public override void apply(Path path, float progress) { Offset point = AnimatedIconUtils._interpolate <Offset>(this.points, progress, Offset.lerp); path.lineTo(point.dx, point.dy); }