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
                );
        }
Esempio n. 2
0
        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);
        }