pathByAppendingPath method

Path pathByAppendingPath(
  1. Path pathToAppend
)

Implementation

Path pathByAppendingPath(Path pathToAppend) {
  final p = Path();
  var upwardMoves = 0;
  for (var i = 0; i < pathToAppend._components.length; ++i) {
    if (pathToAppend._components[i].isParent) {
      upwardMoves++;
    } else {
      break;
    }
  }
  for (var i = 0; i < _components.length - upwardMoves; ++i) {
    p._components.add(_components[i]);
  }
  for (var i = upwardMoves; i < pathToAppend._components.length; ++i) {
    p._components.add(pathToAppend._components[i]);
  }
  return p;
}