Path _wavePath(path, size, plusWidth) {
for (int i = 0; i < _count; i++) {
path.moveTo(waveWidth * i - size.width - startOffset, startOffsetY);
path.quadraticBezierTo(
_quaterWidth + waveWidth * i - size.width - startOffset, startOffsetY - waveHeight,
_quaterWidth * 2 + waveWidth * i - size.width - startOffset, startOffsetY);
path.moveTo(_quaterWidth * 2 + waveWidth * i - size.width - startOffset, startOffsetY);
path.quadraticBezierTo(
_quaterWidth * 3 + waveWidth * i - size.width - startOffset, startOffsetY + waveHeight,
_quaterWidth * 4 + waveWidth * i - size.width - startOffset, startOffsetY);
path.moveTo(_quaterWidth * 4 + waveWidth * i - size.width - startOffset, startOffsetY);
}
path.lineTo(_quaterWidth * 4 + waveWidth * (_count - 1) - size.width - startOffset, 600.0);
path.lineTo(-size.width - startOffset, 600.0);
path.lineTo(-size.width - startOffset, startOffsetY);
for (int i = 0; i < _count; i++) {
path.moveTo(waveWidth * i - startOffset + plusWidth, startOffsetY);
path.quadraticBezierTo(
_quaterWidth + waveWidth * i - startOffset + plusWidth, startOffsetY - waveHeight,
_quaterWidth * 2 + waveWidth * i - startOffset + plusWidth, startOffsetY);
path.moveTo(_quaterWidth * 2 + waveWidth * i - startOffset + plusWidth, startOffsetY);
path.quadraticBezierTo(
_quaterWidth * 3 + waveWidth * i - startOffset + plusWidth, startOffsetY + waveHeight,
_quaterWidth * 4 + waveWidth * i - startOffset + plusWidth, startOffsetY);
path.moveTo(_quaterWidth * 4 + waveWidth * i - startOffset + plusWidth, startOffsetY);
}
path.lineTo(_quaterWidth * 4 + waveWidth * (_count - 1) - startOffset + plusWidth, 600.0);
path.lineTo(-startOffset + plusWidth, 600.0);
path.lineTo(-startOffset + plusWidth, startOffsetY);
for (int i = 0; i < _count; i++) {
path.moveTo(waveWidth * i + size.width - startOffset + plusWidth * 2, startOffsetY);
path.quadraticBezierTo(
_quaterWidth + waveWidth * i + size.width - startOffset + plusWidth * 2, startOffsetY - waveHeight,
_quaterWidth * 2 + waveWidth * i + size.width - startOffset + plusWidth * 2, startOffsetY);
path.moveTo(
_quaterWidth * 2 + waveWidth * i + size.width - startOffset + plusWidth * 2, startOffsetY);
path.quadraticBezierTo(
_quaterWidth * 3 + waveWidth * i + size.width - startOffset + plusWidth * 2,
startOffsetY + waveHeight, _quaterWidth * 4 + waveWidth * i + size.width - startOffset + plusWidth * 2, startOffsetY);
path.moveTo(_quaterWidth * 4 + waveWidth * i + size.width - startOffset + plusWidth * 2, startOffsetY);
}
path.lineTo(
_quaterWidth * 4 + waveWidth * (_count - 1) + size.width - startOffset + plusWidth * 2, 600.0);
path.lineTo(size.width - startOffset + plusWidth * 2, 600.0);
path.lineTo(size.width - startOffset + plusWidth * 2, startOffsetY);
return path;
}
评论