createDiagonalForwardPath method

  1. @override
Path createDiagonalForwardPath(
  1. SegmentPosition position,
  2. Size segmentSize
)
override

Creates path for diagonal 'forward' (/) segments.

Implementation

@override
Path createDiagonalForwardPath(SegmentPosition position, Size segmentSize) {
  final w1 = 1.5 * segmentSize.width;
  final w2 = segmentSize.width / 3.0;
  final halfHeight = (segmentSize.height / 2.0) - (segmentSize.width / 2.0);

  return Path()
    ..moveTo(
      position.left + halfHeight - _halfSpace,
      position.top + _halfSpace,
    )
    ..lineTo(
      position.left + halfHeight - _halfSpace,
      position.top + w1 + _halfSpace,
    )
    ..lineTo(
      position.left + w2 + _halfSpace,
      position.top + segmentSize.height - _halfSpace,
    )
    ..lineTo(
      position.left + _halfSpace,
      position.top + segmentSize.height - _halfSpace,
    )
    ..lineTo(
      position.left + _halfSpace,
      position.top + segmentSize.height - w1 - _halfSpace,
    )
    ..lineTo(
      position.left + halfHeight - w2 - _halfSpace,
      position.top + _halfSpace,
    )
    ..close();
}