code: private void getPointAtLength(
        int type, float[] coords, float lastX, float lastY, float t, float[] point) {
      if (type == PathIterator.SEG_LINETO) {
        point[0] = lastX + (coords[0] - lastX) * t;
        point[1] = lastY + (coords[1] - lastY) * t;
        // Return here, since we do not need a shape to estimate
        return;
      }
  
      float[] curve = new float[8];
      int lastPointIndex = (getNumberOfPoints(type) - 1) * 2;
  
      System.arraycopy(coords, 0, curve, 2, coords.length);
      curve[0] = lastX;
      curve[1] = lastY;
      if (type == PathIterator.SEG_CUBICTO) {
        cubicCurveSegment(curve, 0f, t);
      } else {
        quadCurveSegment(curve, 0f, t);
      }
  
      point[0] = curve[2 + lastPointIndex];
      point[1] = curve[2 + lastPointIndex + 1];
    }
docs: Returns the estimated position along a path of the given length.