@@ -4,21 +4,33 @@ import 'package:flutter/material.dart';
4
4
class SolidCropPathPainter extends CustomPainter {
5
5
static const _strokeWidth = 4.0 ;
6
6
final Path _path;
7
- final _paint = Paint ()
8
- ..color = Colors .white
9
- ..strokeWidth = _strokeWidth
10
- ..style = PaintingStyle .stroke
11
- ..strokeJoin = StrokeJoin .round;
7
+ final Paint pathPaint;
12
8
13
9
/// Draw a solid path around the given path
14
- SolidCropPathPainter (this ._path);
10
+ SolidCropPathPainter (this ._path, { required this .pathPaint} );
15
11
16
12
/// Return a CustomPaint widget with the current CustomPainter
17
- static CustomPaint drawPath (Path path) =>
18
- CustomPaint (painter: SolidCropPathPainter (path));
13
+ static CustomPaint drawPath (Path path, {Paint ? pathPaint}) {
14
+ if (pathPaint != null ) {
15
+ return CustomPaint (
16
+ painter: SolidCropPathPainter (path, pathPaint: pathPaint),
17
+ );
18
+ } else {
19
+ return CustomPaint (
20
+ painter: SolidCropPathPainter (
21
+ path,
22
+ pathPaint: Paint ()
23
+ ..color = Colors .white
24
+ ..strokeWidth = _strokeWidth
25
+ ..style = PaintingStyle .stroke
26
+ ..strokeJoin = StrokeJoin .round,
27
+ ),
28
+ );
29
+ }
30
+ }
19
31
20
32
@override
21
- void paint (Canvas canvas, Size size) => canvas.drawPath (_path, _paint );
33
+ void paint (Canvas canvas, Size size) => canvas.drawPath (_path, pathPaint );
22
34
23
35
@override
24
36
bool shouldRepaint (covariant SolidCropPathPainter oldPainter) =>
0 commit comments