PointF
values.
*/
public class PointFEvaluator implements TypeEvaluatorreuse
* in {@link #evaluate(float, android.graphics.PointF, android.graphics.PointF)} calls.
* The value returned from
* {@link #evaluate(float, android.graphics.PointF, android.graphics.PointF)} should
* not be cached because it will change over time as the object is reused on each
* call.
*
* @param reuse A PointF to be modified and returned by evaluate.
*/
public PointFEvaluator(PointF reuse) {
mPoint = reuse;
}
/**
* This function returns the result of linearly interpolating the start and
* end PointF values, with fraction
representing the proportion
* between the start and end values. The calculation is a simple parametric
* calculation on each of the separate components in the PointF objects
* (x, y).
*
* If {@link #PointFEvaluator(android.graphics.PointF)} was used to construct
* this PointFEvaluator, the object returned will be the reuse
* passed into the constructor.
fraction
parameter.
*/
@Override
public PointF evaluate(float fraction, PointF startValue, PointF endValue) {
float x = startValue.x + (fraction * (endValue.x - startValue.x));
float y = startValue.y + (fraction * (endValue.y - startValue.y));
if (mPoint != null) {
mPoint.set(x, y);
return mPoint;
} else {
return new PointF(x, y);
}
}
}