clipToBorder method

  1. @visibleForTesting
void clipToBorder(
  1. CanvasWrapper canvasWrapper,
  2. PaintHolder<LineChartData> holder
)

Implementation

@visibleForTesting
void clipToBorder(
  CanvasWrapper canvasWrapper,
  PaintHolder<LineChartData> holder,
) {
  final data = holder.data;
  final viewSize = canvasWrapper.size;
  final clip = data.clipData;
  final border = data.borderData.show ? data.borderData.border : null;

  var left = 0.0;
  var top = 0.0;
  var right = viewSize.width;
  var bottom = viewSize.height;

  if (clip.left) {
    final borderWidth = border?.left.width ?? 0;
    left = borderWidth / 2;
  }
  if (clip.top) {
    final borderWidth = border?.top.width ?? 0;
    top = borderWidth / 2;
  }
  if (clip.right) {
    final borderWidth = border?.right.width ?? 0;
    right = viewSize.width - (borderWidth / 2);
  }
  if (clip.bottom) {
    final borderWidth = border?.bottom.width ?? 0;
    bottom = viewSize.height - (borderWidth / 2);
  }

  canvasWrapper.clipRect(Rect.fromLTRB(left, top, right, bottom));
}