paint method
Called whenever the object needs to paint. The given Canvas has its
coordinate space configured such that the origin is at the top left of the
box. The area of the box is the size of the size
argument.
Paint operations should remain inside the given area. Graphical operations outside the bounds may be silently ignored, clipped, or not clipped. It may sometimes be difficult to guarantee that a certain operation is inside the bounds (e.g., drawing a rectangle whose size is determined by user inputs). In that case, consider calling Canvas.clipRect at the beginning of paint so everything that follows will be guaranteed to only draw within the clipped area.
Implementations should be wary of correctly pairing any calls to Canvas.save/Canvas.saveLayer and Canvas.restore, otherwise all subsequent painting on this canvas may be affected, with potentially hilarious but confusing results.
To paint text on a Canvas, use a TextPainter.
To paint an image on a Canvas:
-
Obtain an ImageStream, for example by calling ImageProvider.resolve on an AssetImage or NetworkImage object.
-
Whenever the ImageStream's underlying ImageInfo object changes (see ImageStream.addListener), create a new instance of your custom paint delegate, giving it the new ImageInfo object.
-
In your delegate's paint method, call the Canvas.drawImage, Canvas.drawImageRect, or Canvas.drawImageNine methods to paint the ImageInfo.image object, applying the ImageInfo.scale value to obtain the correct rendering size.
Implementation
@override
void paint(Canvas canvas, Size size) {
final scaleX = size.width / 19.880000000000003;
final scaleY = size.height / 19.849999999999998;
final scale = math.min(scaleX, scaleY);
final translationX = (size.width - 19.880000000000003 * scale) / 2 - 2.119999999999996 * scale;
final translationY = (size.height - 19.849999999999998 * scale) / 2 - 2.0 * scale;
final path = Path();
final paint = Paint()..color = color;
path.moveTo(
22.0 * scale + translationX,
11.05 * scale + translationY,
);
path.cubicTo(
22.0 * scale + translationX,
10.940000000000001 * scale + translationY,
22.0 * scale + translationX,
10.83 * scale + translationY,
22.0 * scale + translationX,
10.72 * scale + translationY,
);
path.lineTo(
21.91 * scale + translationX,
10.120000000000001 * scale + translationY,
);
path.lineTo(
21.82 * scale + translationX,
9.73 * scale + translationY,
);
path.cubicTo(
21.82 * scale + translationX,
9.56 * scale + translationY,
21.740000000000002 * scale + translationX,
9.39 * scale + translationY,
21.69 * scale + translationX,
9.22 * scale + translationY,
);
path.cubicTo(
21.64 * scale + translationX,
9.05 * scale + translationY,
21.610000000000003 * scale + translationX,
8.950000000000001 * scale + translationY,
21.560000000000002 * scale + translationX,
8.82 * scale + translationY,
);
path.cubicTo(
21.532074841856627 * scale + translationX,
8.741412046752245 * scale + translationY,
21.508702731018293 * scale + translationX,
8.66127909530653 * scale + translationY,
21.490000909264634 * scale + translationX,
8.580000363028876 * scale + translationY,
);
path.cubicTo(
21.490000000000002 * scale + translationX,
8.58 * scale + translationY,
21.490000000000002 * scale + translationX,
8.58 * scale + translationY,
21.490000000000002 * scale + translationX,
8.53 * scale + translationY,
);
path.cubicTo(
20.465568635794625 * scale + translationX,
5.8049246135659995 * scale + translationY,
18.315076369312234 * scale + translationX,
3.654432347083612 * scale + translationY,
15.590000635284895 * scale + translationX,
2.630000107171217 * scale + translationY,
);
path.cubicTo(
15.590000000000002 * scale + translationX,
2.629999999999999 * scale + translationY,
15.590000000000002 * scale + translationX,
2.629999999999999 * scale + translationY,
15.540000000000001 * scale + translationX,
2.629999999999999 * scale + translationY,
);
path.lineTo(
15.31 * scale + translationX,
2.559999999999999 * scale + translationY,
);
path.lineTo(
14.89 * scale + translationX,
2.4299999999999993 * scale + translationY,
);
path.cubicTo(
14.74 * scale + translationX,
2.4299999999999993 * scale + translationY,
14.58 * scale + translationX,
2.349999999999999 * scale + translationY,
14.43 * scale + translationX,
2.309999999999999 * scale + translationY,
);
path.lineTo(
13.969999999999999 * scale + translationX,
2.209999999999999 * scale + translationY,
);
path.lineTo(
13.509999999999998 * scale + translationX,
2.1399999999999992 * scale + translationY,
);
path.cubicTo(
13.349999999999998 * scale + translationX,
2.1399999999999992 * scale + translationY,
13.199999999999998 * scale + translationX,
2.1399999999999992 * scale + translationY,
13.029999999999998 * scale + translationX,
2.079999999999999 * scale + translationY,
);
path.cubicTo(
12.859999999999998 * scale + translationX,
2.019999999999999 * scale + translationY,
12.679999999999998 * scale + translationX,
2.079999999999999 * scale + translationY,
12.509999999999998 * scale + translationX,
2.079999999999999 * scale + translationY,
);
path.lineTo(
12.0 * scale + translationX,
2.0 * scale + translationY,
);
path.lineTo(
11.61 * scale + translationX,
2.0 * scale + translationY,
);
path.cubicTo(
11.44 * scale + translationX,
2.0 * scale + translationY,
11.26 * scale + translationX,
2.0 * scale + translationY,
11.09 * scale + translationX,
2.0 * scale + translationY,
);
path.cubicTo(
10.92 * scale + translationX,
2.0 * scale + translationY,
10.77 * scale + translationX,
2.0 * scale + translationY,
10.61 * scale + translationX,
2.06 * scale + translationY,
);
path.lineTo(
10.149999999999999 * scale + translationX,
2.13 * scale + translationY,
);
path.lineTo(
9.689999999999998 * scale + translationX,
2.23 * scale + translationY,
);
path.cubicTo(
9.539999999999997 * scale + translationX,
2.23 * scale + translationY,
9.379999999999997 * scale + translationX,
2.3 * scale + translationY,
9.229999999999997 * scale + translationX,
2.35 * scale + translationY,
);
path.lineTo(
8.809999999999997 * scale + translationX,
2.48 * scale + translationY,
);
path.lineTo(
8.579999999999997 * scale + translationX,
2.55 * scale + translationY,
);
path.cubicTo(
8.579999999999997 * scale + translationX,
2.55 * scale + translationY,
8.579999999999997 * scale + translationX,
2.55 * scale + translationY,
8.529999999999996 * scale + translationX,
2.55 * scale + translationY,
);
path.cubicTo(
5.804924613565998 * scale + translationX,
3.5744323438236503 * scale + translationY,
3.6544323470836075 * scale + translationX,
5.724924610306037 * scale + translationY,
2.6300001071712127 * scale + translationX,
8.450000344333377 * scale + translationY,
);
path.cubicTo(
2.6299999999999955 * scale + translationX,
8.45 * scale + translationY,
2.6299999999999955 * scale + translationX,
8.45 * scale + translationY,
2.6299999999999955 * scale + translationX,
8.5 * scale + translationY,
);
path.cubicTo(
2.6112982895244206 * scale + translationX,
8.581279091921646 * scale + translationY,
2.587926178686087 * scale + translationX,
8.66141204336736 * scale + translationY,
2.5600001083163035 * scale + translationX,
8.740000369798645 * scale + translationY,
);
path.cubicTo(
2.5599999999999956 * scale + translationX,
8.870000000000001 * scale + translationY,
2.4699999999999958 * scale + translationX,
9.0 * scale + translationY,
2.4299999999999957 * scale + translationX,
9.14 * scale + translationY,
);
path.cubicTo(
2.3899999999999957 * scale + translationX,
9.280000000000001 * scale + translationY,
2.339999999999996 * scale + translationX,
9.48 * scale + translationY,
2.299999999999996 * scale + translationX,
9.65 * scale + translationY,
);
path.lineTo(
2.209999999999996 * scale + translationX,
10.040000000000001 * scale + translationY,
);
path.lineTo(
2.119999999999996 * scale + translationX,
10.64 * scale + translationY,
);
path.cubicTo(
2.119999999999996 * scale + translationX,
10.75 * scale + translationY,
2.119999999999996 * scale + translationX,
10.860000000000001 * scale + translationY,
2.119999999999996 * scale + translationX,
10.97 * scale + translationY,
);
path.cubicTo(
2.119999999999996 * scale + translationX,
11.280000000000001 * scale + translationY,
2.119999999999996 * scale + translationX,
11.600000000000001 * scale + translationY,
2.119999999999996 * scale + translationX,
11.92 * scale + translationY,
);
path.cubicTo(
2.119999999999996 * scale + translationX,
12.239999999999998 * scale + translationY,
2.119999999999996 * scale + translationX,
12.56 * scale + translationY,
2.119999999999996 * scale + translationX,
12.87 * scale + translationY,
);
path.cubicTo(
2.119999999999996 * scale + translationX,
12.979999999999999 * scale + translationY,
2.119999999999996 * scale + translationX,
13.09 * scale + translationY,
2.119999999999996 * scale + translationX,
13.2 * scale + translationY,
);
path.lineTo(
2.209999999999996 * scale + translationX,
13.799999999999999 * scale + translationY,
);
path.lineTo(
2.299999999999996 * scale + translationX,
14.19 * scale + translationY,
);
path.cubicTo(
2.299999999999996 * scale + translationX,
14.36 * scale + translationY,
2.379999999999996 * scale + translationX,
14.53 * scale + translationY,
2.4299999999999957 * scale + translationX,
14.7 * scale + translationY,
);
path.cubicTo(
2.4799999999999955 * scale + translationX,
14.87 * scale + translationY,
2.509999999999996 * scale + translationX,
14.969999999999999 * scale + translationY,
2.5599999999999956 * scale + translationX,
15.1 * scale + translationY,
);
path.cubicTo(
2.587926178686087 * scale + translationX,
15.178588965328256 * scale + translationY,
2.611298289524421 * scale + translationX,
15.258721916773972 * scale + translationY,
2.6300001112780778 * scale + translationX,
15.340000649051625 * scale + translationY,
);
path.cubicTo(
2.631902330543591 * scale + translationX,
15.363294263881539 * scale + translationY,
2.631902330543591 * scale + translationX,
15.386705147903768 * scale + translationY,
2.6299999496909017 * scale + translationX,
15.40999970522314 * scale + translationY,
);
path.cubicTo(
3.6457074988254377 * scale + translationX,
18.132712458763606 * scale + translationY,
5.795565903830196 * scale + translationX,
20.27892084949841 * scale + translationY,
8.520000126957889 * scale + translationX,
21.290000317245724 * scale + translationY,
);
path.cubicTo(
8.519999999999996 * scale + translationX,
21.29 * scale + translationY,
8.519999999999996 * scale + translationX,
21.29 * scale + translationY,
8.569999999999997 * scale + translationX,
21.29 * scale + translationY,
);
path.lineTo(
8.809999999999997 * scale + translationX,
21.36 * scale + translationY,
);
path.lineTo(
9.209999999999997 * scale + translationX,
21.49 * scale + translationY,
);
path.lineTo(
9.719999999999997 * scale + translationX,
21.619999999999997 * scale + translationY,
);
path.lineTo(
10.109999999999998 * scale + translationX,
21.709999999999997 * scale + translationY,
);
path.lineTo(
10.709999999999997 * scale + translationX,
21.799999999999997 * scale + translationY,
);
path.lineTo(
11.039999999999997 * scale + translationX,
21.799999999999997 * scale + translationY,
);
path.cubicTo(
11.349999999999998 * scale + translationX,
21.799999999999997 * scale + translationY,
11.669999999999998 * scale + translationX,
21.849999999999998 * scale + translationY,
11.989999999999997 * scale + translationX,
21.849999999999998 * scale + translationY,
);
path.cubicTo(
12.309999999999995 * scale + translationX,
21.849999999999998 * scale + translationY,
12.629999999999997 * scale + translationX,
21.849999999999998 * scale + translationY,
12.939999999999996 * scale + translationX,
21.799999999999997 * scale + translationY,
);
path.lineTo(
13.269999999999996 * scale + translationX,
21.799999999999997 * scale + translationY,
);
path.lineTo(
13.869999999999996 * scale + translationX,
21.709999999999997 * scale + translationY,
);
path.lineTo(
14.259999999999996 * scale + translationX,
21.619999999999997 * scale + translationY,
);
path.lineTo(
14.769999999999996 * scale + translationX,
21.49 * scale + translationY,
);
path.lineTo(
15.169999999999996 * scale + translationX,
21.36 * scale + translationY,
);
path.lineTo(
15.409999999999997 * scale + translationX,
21.29 * scale + translationY,
);
path.cubicTo(
15.409999999999997 * scale + translationX,
21.29 * scale + translationY,
15.409999999999997 * scale + translationX,
21.29 * scale + translationY,
15.459999999999997 * scale + translationX,
21.29 * scale + translationY,
);
path.cubicTo(
18.18443445349964 * scale + translationX,
20.27892084949841 * scale + translationY,
20.334292858504398 * scale + translationX,
18.13271245876361 * scale + translationY,
21.350000318139788 * scale + translationX,
15.410000229626895 * scale + translationY,
);
path.cubicTo(
21.348097210744584 * scale + translationX,
15.386705147903768 * scale + translationY,
21.348097210744587 * scale + translationX,
15.363294263881539 * scale + translationY,
21.349999591597275 * scale + translationX,
15.339999706562168 * scale + translationY,
);
path.cubicTo(
21.349999999999998 * scale + translationX,
15.26 * scale + translationY,
21.4 * scale + translationX,
15.18 * scale + translationY,
21.419999999999998 * scale + translationX,
15.1 * scale + translationY,
);
path.cubicTo(
21.439999999999998 * scale + translationX,
15.02 * scale + translationY,
21.509999999999998 * scale + translationX,
14.84 * scale + translationY,
21.549999999999997 * scale + translationX,
14.7 * scale + translationY,
);
path.cubicTo(
21.589999999999996 * scale + translationX,
14.559999999999999 * scale + translationY,
21.639999999999997 * scale + translationX,
14.36 * scale + translationY,
21.679999999999996 * scale + translationX,
14.19 * scale + translationY,
);
path.lineTo(
21.769999999999996 * scale + translationX,
13.799999999999999 * scale + translationY,
);
path.lineTo(
21.859999999999996 * scale + translationX,
13.2 * scale + translationY,
);
path.cubicTo(
21.859999999999996 * scale + translationX,
13.09 * scale + translationY,
21.859999999999996 * scale + translationX,
12.979999999999999 * scale + translationY,
21.859999999999996 * scale + translationX,
12.87 * scale + translationY,
);
path.cubicTo(
21.859999999999996 * scale + translationX,
12.559999999999999 * scale + translationY,
21.909999999999997 * scale + translationX,
12.239999999999998 * scale + translationY,
21.909999999999997 * scale + translationX,
11.92 * scale + translationY,
);
path.cubicTo(
21.909999999999997 * scale + translationX,
11.600000000000001 * scale + translationY,
22.0 * scale + translationX,
11.36 * scale + translationY,
22.0 * scale + translationX,
11.05 * scale + translationY,
);
path.close();
path.moveTo(
15.7 * scale + translationX,
4.890000000000001 * scale + translationY,
);
path.cubicTo(
17.186399734169115 * scale + translationX,
5.653652362832785 * scale + translationY,
18.396347637167217 * scale + translationX,
6.863600265830884 * scale + translationY,
19.16 * scale + translationX,
8.350000000000001 * scale + translationY,
);
path.lineTo(
16.3 * scale + translationX,
9.350000000000001 * scale + translationY,
);
path.cubicTo(
15.885418413337476 * scale + translationX,
8.685526084287014 * scale + translationY,
15.324472884174039 * scale + translationX,
8.124580555123577 * scale + translationY,
14.659999370164057 * scale + translationX,
7.709999668756132 * scale + translationY,
);
path.close();
path.moveTo(
10.34 * scale + translationX,
4.19 * scale + translationY,
);
path.cubicTo(
10.55 * scale + translationX,
4.140000000000001 * scale + translationY,
10.75 * scale + translationX,
4.11 * scale + translationY,
10.95 * scale + translationX,
4.08 * scale + translationY,
);
path.lineTo(
11.19 * scale + translationX,
4.08 * scale + translationY,
);
path.cubicTo(
11.761762971566844 * scale + translationX,
4.019997800292881 * scale + translationY,
12.338236028620802 * scale + translationX,
4.019997800292881 * scale + translationY,
12.909999464415872 * scale + translationX,
4.079999830737161 * scale + translationY,
);
path.lineTo(
13.15 * scale + translationX,
4.08 * scale + translationY,
);
path.cubicTo(
13.35 * scale + translationX,
4.08 * scale + translationY,
13.55 * scale + translationX,
4.14 * scale + translationY,
13.76 * scale + translationX,
4.19 * scale + translationY,
);
path.lineTo(
13.82 * scale + translationX,
4.19 * scale + translationY,
);
path.lineTo(
12.82 * scale + translationX,
7.050000000000001 * scale + translationY,
);
path.cubicTo(
12.548768365410838 * scale + translationX,
7.0083099875287465 * scale + translationY,
12.27428643418545 * scale + translationX,
6.991573284405248 * scale + translationY,
11.999999486636739 * scale + translationX,
6.999999700538098 * scale + translationY,
);
path.cubicTo(
11.75542260925116 * scale + translationX,
6.999676725240721 * scale + translationY,
11.511243430932355 * scale + translationX,
7.019746246746376 * scale + translationY,
11.27000058014285 * scale + translationX,
7.060000363425778 * scale + translationY,
);
path.lineTo(
10.27 * scale + translationX,
4.199999999999999 * scale + translationY,
);
path.close();
path.moveTo(
8.4 * scale + translationX,
4.890000000000001 * scale + translationY,
);
path.lineTo(
9.4 * scale + translationX,
7.750000000000001 * scale + translationY,
);
path.cubicTo(
8.731889726641533 * scale + translationX,
8.163379810919686 * scale + translationY,
8.167433593498057 * scale + translationX,
8.724414997801688 * scale + translationY,
7.749999667037616 * scale + translationX,
9.389999596578479 * scale + translationY,
);
path.lineTo(
4.89 * scale + translationX,
8.39 * scale + translationY,
);
path.cubicTo(
5.646902003279877 * scale + translationX,
6.888742826262953 * scale + translationY,
6.857541730100479 * scale + translationX,
5.664107264450205 * scale + translationY,
8.349999999999998 * scale + translationX,
4.890000000000001 * scale + translationY,
);
path.close();
path.moveTo(
4.19 * scale + translationX,
13.71 * scale + translationY,
);
path.cubicTo(
4.142104840859845 * scale + translationX,
13.512701536537456 * scale + translationY,
4.108682611724388 * scale + translationX,
13.31216816172472 * scale + translationY,
4.090000136385481 * scale + translationX,
13.110000437167152 * scale + translationY,
);
path.cubicTo(
4.090000000000001 * scale + translationX,
13.020000000000001 * scale + translationY,
4.090000000000001 * scale + translationX,
12.940000000000001 * scale + translationY,
4.090000000000001 * scale + translationX,
12.860000000000001 * scale + translationY,
);
path.cubicTo(
4.023324200501939 * scale + translationX,
12.288604904147931 * scale + translationY,
4.02332420050194 * scale + translationX,
11.71139456299618 * scale + translationY,
4.089999909192475 * scale + translationX,
11.139999752666059 * scale + translationY,
);
path.cubicTo(
4.090000000000001 * scale + translationX,
11.06 * scale + translationY,
4.090000000000001 * scale + translationX,
10.98 * scale + translationY,
4.090000000000001 * scale + translationX,
10.89 * scale + translationY,
);
path.cubicTo(
4.108682611724388 * scale + translationX,
10.68783263858128 * scale + translationY,
4.1421048408598455 * scale + translationX,
10.487299263768543 * scale + translationY,
4.19000013972009 * scale + translationX,
10.290000343131197 * scale + translationY,
);
path.cubicTo(
4.19 * scale + translationX,
10.290000000000001 * scale + translationY,
4.19 * scale + translationX,
10.290000000000001 * scale + translationY,
4.19 * scale + translationX,
10.23 * scale + translationY,
);
path.lineTo(
7.050000000000001 * scale + translationX,
11.23 * scale + translationY,
);
path.cubicTo(
6.969984702465295 * scale + translationX,
11.713377452472264 * scale + translationY,
6.969984702465295 * scale + translationX,
12.206621934498049 * scale + translationY,
7.049999819320265 * scale + translationX,
12.689999674776473 * scale + translationY,
);
path.lineTo(
4.19 * scale + translationX,
13.690000000000001 * scale + translationY,
);
path.cubicTo(
4.19 * scale + translationX,
13.690000000000001 * scale + translationY,
4.19 * scale + translationX,
13.73 * scale + translationY,
4.19 * scale + translationX,
13.71 * scale + translationY,
);
path.close();
path.moveTo(
8.350000000000001 * scale + translationX,
19.11 * scale + translationY,
);
path.cubicTo(
6.863600265830886 * scale + translationX,
18.346347637167213 * scale + translationY,
5.653652362832786 * scale + translationX,
17.136399734169117 * scale + translationY,
4.890000000000002 * scale + translationX,
15.65 * scale + translationY,
);
path.lineTo(
7.750000000000002 * scale + translationX,
14.649999999999999 * scale + translationY,
);
path.cubicTo(
8.164580553405065 * scale + translationX,
15.314472884603664 * scale + translationY,
8.7255260825685 * scale + translationX,
15.875418413767099 * scale + translationY,
9.389999596578482 * scale + translationX,
16.289999300134546 * scale + translationY,
);
path.close();
path.moveTo(
13.71 * scale + translationX,
19.81 * scale + translationY,
);
path.cubicTo(
13.5 * scale + translationX,
19.86 * scale + translationY,
13.3 * scale + translationX,
19.889999999999997 * scale + translationY,
13.100000000000001 * scale + translationX,
19.919999999999998 * scale + translationY,
);
path.lineTo(
12.860000000000001 * scale + translationX,
19.919999999999998 * scale + translationY,
);
path.cubicTo(
12.288236030695103 * scale + translationX,
19.98000120404336 * scale + translationY,
11.711762973641143 * scale + translationX,
19.98000120404336 * scale + translationY,
11.139999537846075 * scale + translationX,
19.91999917359908 * scale + translationY,
);
path.lineTo(
10.9 * scale + translationX,
19.919999999999998 * scale + translationY,
);
path.cubicTo(
10.700000000000001 * scale + translationX,
19.919999999999998 * scale + translationY,
10.5 * scale + translationX,
19.86 * scale + translationY,
10.290000000000001 * scale + translationX,
19.81 * scale + translationY,
);
path.lineTo(
10.23 * scale + translationX,
19.81 * scale + translationY,
);
path.lineTo(
11.23 * scale + translationX,
16.95 * scale + translationY,
);
path.cubicTo(
11.713377452472264 * scale + translationX,
17.03001468245475 * scale + translationY,
12.206621934498049 * scale + translationX,
17.03001468245475 * scale + translationY,
12.689999674776475 * scale + translationX,
16.949999565599782 * scale + translationY,
);
path.lineTo(
13.690000000000001 * scale + translationX,
19.81 * scale + translationY,
);
path.close();
path.moveTo(
13.040000000000001 * scale + translationX,
14.809999999999999 * scale + translationY,
);
path.lineTo(
13.040000000000001 * scale + translationX,
14.809999999999999 * scale + translationY,
);
path.cubicTo(
12.870000000000001 * scale + translationX,
14.87 * scale + translationY,
12.700000000000001 * scale + translationX,
14.909999999999998 * scale + translationY,
12.540000000000001 * scale + translationX,
14.95 * scale + translationY,
);
path.cubicTo(
12.209510240073318 * scale + translationX,
15.011571230574354 * scale + translationY,
11.870490452041764 * scale + translationX,
15.011571230574354 * scale + translationY,
11.54000033168638 * scale + translationX,
14.95000042969769 * scale + translationY,
);
path.cubicTo(
11.38 * scale + translationX,
14.95 * scale + translationY,
11.21 * scale + translationX,
14.87 * scale + translationY,
11.040000000000001 * scale + translationX,
14.809999999999999 * scale + translationY,
);
path.lineTo(
11.040000000000001 * scale + translationX,
14.809999999999999 * scale + translationY,
);
path.cubicTo(
10.185213519048888 * scale + translationX,
14.514828034608675 * scale + translationY,
9.50918314381875 * scale + translationX,
13.849819893757289 * scale + translationY,
9.200000274181363 * scale + translationX,
13.000000387430191 * scale + translationY,
);
path.lineTo(
9.2 * scale + translationX,
13.0 * scale + translationY,
);
path.cubicTo(
9.139470865598186 * scale + translationX,
12.83411276044107 * scale + translationY,
9.092647284262519 * scale + translationX,
12.663541142718284 * scale + translationY,
9.060000018399066 * scale + translationX,
12.49000002536472 * scale + translationY,
);
path.cubicTo(
8.996045719510597 * scale + translationX,
12.159734678941982 * scale + translationY,
8.996045719510597 * scale + translationX,
11.820266057211835 * scale + translationY,
9.060000278129838 * scale + translationX,
11.490000352727579 * scale + translationY,
);
path.cubicTo(
9.090428970915061 * scale + translationX,
11.32351307871729 * scale + translationY,
9.133896148847553 * scale + translationX,
11.159675254202517 * scale + translationY,
9.190000018663074 * scale + translationX,
11.000000022338826 * scale + translationY,
);
path.lineTo(
9.19 * scale + translationX,
11.0 * scale + translationY,
);
path.cubicTo(
9.495242500226944 * scale + translationX,
10.160439236656515 * scale + translationY,
10.158761041376842 * scale + translationX,
9.500586543800262 * scale + translationY,
11.000000327825546 * scale + translationX,
9.200000274181365 * scale + translationY,
);
path.lineTo(
11.0 * scale + translationX,
9.2 * scale + translationY,
);
path.cubicTo(
11.17 * scale + translationX,
9.139999999999999 * scale + translationY,
11.34 * scale + translationX,
9.1 * scale + translationY,
11.5 * scale + translationX,
9.059999999999999 * scale + translationY,
);
path.cubicTo(
11.83049045089207 * scale + translationX,
8.998429459528758 * scale + translationY,
12.169510238923623 * scale + translationX,
8.998429459528758 * scale + translationY,
12.500000359279007 * scale + translationX,
9.060000260405422 * scale + translationY,
);
path.cubicTo(
12.66 * scale + translationX,
9.059999999999999 * scale + translationY,
12.83 * scale + translationX,
9.139999999999999 * scale + translationY,
13.0 * scale + translationX,
9.2 * scale + translationY,
);
path.lineTo(
13.0 * scale + translationX,
9.2 * scale + translationY,
);
path.cubicTo(
13.837434607754354 * scale + translationX,
9.50307960144817 * scale + translationY,
14.496921113807566 * scale + translationX,
10.162566107501384 * scale + translationY,
14.800000441074372 * scale + translationX,
11.000000327825546 * scale + translationY,
);
path.lineTo(
14.8 * scale + translationX,
11.0 * scale + translationY,
);
path.cubicTo(
14.86052918314107 * scale + translationX,
11.165887288298183 * scale + translationY,
14.907352764476737 * scale + translationX,
11.336458906020969 * scale + translationY,
14.940000030340189 * scale + translationX,
11.510000023374532 * scale + translationY,
);
path.cubicTo(
15.00395501725719 * scale + translationX,
11.840266057825806 * scale + translationY,
15.00395501725719 * scale + translationX,
12.179734679555953 * scale + translationY,
14.94000045863795 * scale + translationX,
12.51000038404021 * scale + translationY,
);
path.cubicTo(
14.907352764476737 * scale + translationX,
12.683541142758898 * scale + translationY,
14.86052918314107 * scale + translationX,
12.854112760481684 * scale + translationY,
14.800000030055877 * scale + translationX,
13.020000026441044 * scale + translationY,
);
path.lineTo(
14.8 * scale + translationX,
13.02 * scale + translationY,
);
path.cubicTo(
14.491975006592796 * scale + translationX,
13.849823776636413 * scale + translationY,
13.833213497617269 * scale + translationX,
14.501265713289987 * scale + translationY,
13.000000387430191 * scale + translationX,
14.800000441074372 * scale + translationY,
);
path.close();
path.moveTo(
15.650000000000002 * scale + translationX,
19.119999999999997 * scale + translationY,
);
path.lineTo(
14.650000000000002 * scale + translationX,
16.259999999999998 * scale + translationY,
);
path.cubicTo(
15.31447288460367 * scale + translationX,
15.845418415055988 * scale + translationY,
15.875418413767106 * scale + translationX,
15.284472885892553 * scale + translationY,
16.28999930013455 * scale + translationX,
14.61999937188257 * scale + translationY,
);
path.lineTo(
19.150000000000002 * scale + translationX,
15.619999999999997 * scale + translationY,
);
path.cubicTo(
18.38096326964153 * scale + translationX,
17.12360881974547 * scale + translationY,
17.155803051720376 * scale + translationX,
18.345268579901134 * scale + translationY,
15.65 * scale + translationX,
19.11 * scale + translationY,
);
path.close();
path.moveTo(
20.0 * scale + translationX,
12.86 * scale + translationY,
);
path.cubicTo(
20.0 * scale + translationX,
12.94 * scale + translationY,
20.0 * scale + translationX,
13.02 * scale + translationY,
20.0 * scale + translationX,
13.11 * scale + translationY,
);
path.cubicTo(
19.98131819158276 * scale + translationX,
13.31216816172472 * scale + translationY,
19.947895962447298 * scale + translationX,
13.512701536537454 * scale + translationY,
19.900000663587054 * scale + translationX,
13.7100004571748 * scale + translationY,
);
path.cubicTo(
19.9 * scale + translationX,
13.709999999999999 * scale + translationY,
19.9 * scale + translationX,
13.709999999999999 * scale + translationY,
19.9 * scale + translationX,
13.77 * scale + translationY,
);
path.lineTo(
17.04 * scale + translationX,
12.77 * scale + translationY,
);
path.cubicTo(
17.120014680148202 * scale + translationX,
12.286621932447781 * scale + translationY,
17.120014680148202 * scale + translationX,
11.793377450421996 * scale + translationY,
17.039999563293232 * scale + translationX,
11.30999971014357 * scale + translationY,
);
path.lineTo(
19.9 * scale + translationX,
10.309999999999999 * scale + translationY,
);
path.cubicTo(
19.9 * scale + translationX,
10.309999999999999 * scale + translationY,
19.9 * scale + translationX,
10.309999999999999 * scale + translationY,
19.9 * scale + translationX,
10.37 * scale + translationY,
);
path.cubicTo(
19.947895962447305 * scale + translationX,
10.567299266436228 * scale + translationY,
19.98131819158276 * scale + translationX,
10.767832641248965 * scale + translationY,
20.000000666921665 * scale + translationX,
10.970000365806532 * scale + translationY,
);
path.cubicTo(
20.0 * scale + translationX,
11.059999999999999 * scale + translationY,
20.0 * scale + translationX,
11.139999999999999 * scale + translationY,
20.0 * scale + translationX,
11.219999999999999 * scale + translationY,
);
path.cubicTo(
20.066675264643962 * scale + translationX,
11.791394561219992 * scale + translationY,
20.06667526464396 * scale + translationX,
12.368604902371741 * scale + translationY,
19.999999555953423 * scale + translationX,
12.939999712701864 * scale + translationY,
);
path.close();
canvas.drawPath(path, paint);
}