paintLines method

void paintLines(
  1. Canvas canvas,
  2. Size size,
  3. ExtendedImageCropLayerPainter painter
)
inherited

Draw grid lines inside the crop area

Implementation

void paintLines(
    Canvas canvas, Size size, ExtendedImageCropLayerPainter painter) {
  final Color lineColor = painter.lineColor;
  final double lineHeight = painter.lineHeight;
  final Rect cropRect = painter.cropRect;
  final bool pointerDown = painter.pointerDown;
  final Paint linePainter = Paint()
    ..color = lineColor
    ..strokeWidth = lineHeight
    ..style = PaintingStyle.stroke;

  // Draw the crop rectangle's border
  canvas.drawRect(cropRect, linePainter);

  // If pointer is down, draw additional grid lines inside the crop area
  if (pointerDown) {
    // Vertical lines
    canvas.drawLine(
        Offset((cropRect.right - cropRect.left) / 3.0 + cropRect.left,
            cropRect.top),
        Offset((cropRect.right - cropRect.left) / 3.0 + cropRect.left,
            cropRect.bottom),
        linePainter);

    canvas.drawLine(
        Offset((cropRect.right - cropRect.left) / 3.0 * 2.0 + cropRect.left,
            cropRect.top),
        Offset((cropRect.right - cropRect.left) / 3.0 * 2.0 + cropRect.left,
            cropRect.bottom),
        linePainter);

    // Horizontal lines
    canvas.drawLine(
        Offset(
          cropRect.left,
          (cropRect.bottom - cropRect.top) / 3.0 + cropRect.top,
        ),
        Offset(
          cropRect.right,
          (cropRect.bottom - cropRect.top) / 3.0 + cropRect.top,
        ),
        linePainter);

    canvas.drawLine(
        Offset(cropRect.left,
            (cropRect.bottom - cropRect.top) / 3.0 * 2.0 + cropRect.top),
        Offset(
          cropRect.right,
          (cropRect.bottom - cropRect.top) / 3.0 * 2.0 + cropRect.top,
        ),
        linePainter);
  }
}