blob: 3930c5aab055da2b4dede0b39afcba4ce6f19022 [file] [log] [blame]
package com.airbnb.lottie;
import android.graphics.Path;
import android.graphics.PointF;
import android.support.annotation.FloatRange;
class MiscUtils {
static PointF addPoints(PointF p1, PointF p2) {
return new PointF(p1.x + p2.x, p1.y + p2.y);
}
static void getPathFromData(ShapeData shapeData, Path outPath) {
outPath.reset();
PointF initialPoint = shapeData.getInitialPoint();
outPath.moveTo(initialPoint.x, initialPoint.y);
for (int i = 0; i < shapeData.getCurves().size(); i++) {
CubicCurveData curveData = shapeData.getCurves().get(i);
outPath.cubicTo(curveData.getControlPoint1().x, curveData.getControlPoint1().y,
curveData.getControlPoint2().x, curveData.getControlPoint2().y,
curveData.getVertex().x, curveData.getVertex().y);
}
if (shapeData.isClosed()) {
outPath.close();
}
}
static float lerp(float a, float b, @FloatRange(from = 0f, to = 1f) float percentage) {
return a + percentage * (b - a);
}
static int lerp(int a, int b, @FloatRange(from = 0f, to = 1f) float percentage) {
return (int) (a + percentage * (b - a));
}
}