paint method

  1. @override
void paint(
  1. Canvas canvas,
  2. Size size
)
override

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:

  1. Obtain an ImageStream, for example by calling ImageProvider.resolve on an AssetImage or NetworkImage object.

  2. 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.

  3. 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 / 18.55531;
  final scaleY = size.height / 20.001279999999998;
  final scale = math.min(scaleX, scaleY);

  final translationX = (size.width - 18.55531 * scale) / 2 - 2.7288000000000014 * scale;
  final translationY = (size.height - 20.001279999999998 * scale) / 2 - 1.99921 * scale;

  final path = Path();
  final paint = Paint()..color = color;

  path.moveTo(
    11.103 * scale + translationX,
    10.43793 * scale + translationY,
  );

  path.cubicTo(
    10.248788292465525 * scale + translationX,
    10.931102787568353 * scale + translationY,
    9.956118054564426 * scale + translationX,
    12.023379842528353 * scale + translationY,
    10.449307362724872 * scale + translationX,
    12.877582036272264 * scale + translationY,
  );

  path.cubicTo(
    10.942496670885314 * scale + translationX,
    13.731784230016176 * scale + translationY,
    12.03477940319371 * scale + translationX,
    14.024433278615483 * scale + translationY,
    12.888972029323394 * scale + translationX,
    13.531227399751126 * scale + translationY,
  );

  path.cubicTo(
    13.743164655453079 * scale + translationX,
    13.038021520886769 * scale + translationY,
    14.035792514640464 * scale + translationX,
    11.945733111641033 * scale + translationY,
    13.5425700652578 * scale + translationX,
    11.091550053447033 * scale + translationY,
  );

  path.cubicTo(
    13.049349311086413 * scale + translationX,
    10.237447107619664 * scale + translationY,
    11.957170483856304 * scale + translationX,
    9.944825897712121 * scale + translationY,
    11.10300012800345 * scale + translationX,
    10.43793012033604 * scale + translationY,
  );

  path.close();

  path.moveTo(
    19.1077 * scale + translationX,
    12.37561 * scale + translationY,
  );

  path.cubicTo(
    18.990453333333335 * scale + translationX,
    12.241609999999998 * scale + translationY,
    18.866733333333332 * scale + translationX,
    12.10725 * scale + translationY,
    18.73654 * scale + translationX,
    11.97253 * scale + translationY,
  );

  path.cubicTo(
    18.82748 * scale + translationX,
    11.87695 * scale + translationY,
    18.915480000000002 * scale + translationX,
    11.781453333333333 * scale + translationY,
    19.00054 * scale + translationX,
    11.68604 * scale + translationY,
  );

  path.cubicTo(
    20.606370000000002 * scale + translationX,
    9.88177 * scale + translationY,
    21.284110000000002 * scale + translationX,
    8.072330000000001 * scale + translationY,
    20.65612 * scale + translationX,
    6.984500000000001 * scale + translationY,
  );

  path.cubicTo(
    20.05395 * scale + translationX,
    5.9415000000000004 * scale + translationY,
    18.262690000000003 * scale + translationX,
    5.630680000000001 * scale + translationY,
    16.02019 * scale + translationX,
    6.0667100000000005 * scale + translationY,
  );

  path.cubicTo(
    15.79931 * scale + translationX,
    6.1099233333333345 * scale + translationY,
    15.579643333333332 * scale + translationX,
    6.158670000000001 * scale + translationY,
    15.361189999999999 * scale + translationX,
    6.21295 * scale + translationY,
  );

  path.cubicTo(
    15.319376666666665 * scale + translationX,
    6.06879 * scale + translationY,
    15.274899999999997 * scale + translationX,
    5.925456666666666 * scale + translationY,
    15.227759999999998 * scale + translationX,
    5.7829500000000005 * scale + translationY,
  );

  path.cubicTo(
    14.467 * scale + translationX,
    3.4904200000000003 * scale + translationY,
    13.2381 * scale + translationX,
    1.99921 * scale + translationY,
    11.98206 * scale + translationX,
    2.0 * scale + translationY,
  );

  path.cubicTo(
    10.77765 * scale + translationX,
    2.00055 * scale + translationY,
    9.61359 * scale + translationX,
    3.39709 * scale + translationY,
    8.871 * scale + translationX,
    5.5575 * scale + translationY,
  );

  path.cubicTo(
    8.797939999999999 * scale + translationX,
    5.770626666666667 * scale + translationY,
    8.730353333333333 * scale + translationX,
    5.985530000000001 * scale + translationY,
    8.66824 * scale + translationX,
    6.20221 * scale + translationY,
  );

  path.cubicTo(
    8.522186666666666 * scale + translationX,
    6.166376666666666 * scale + translationY,
    8.375520000000002 * scale + translationX,
    6.133276666666667 * scale + translationY,
    8.228240000000001 * scale + translationX,
    6.10291 * scale + translationY,
  );

  path.cubicTo(
    5.862240000000002 * scale + translationX,
    5.6171299999999995 * scale + translationY,
    3.956570000000001 * scale + translationX,
    5.937069999999999 * scale + translationY,
    3.3298000000000014 * scale + translationX,
    7.02551 * scale + translationY,
  );

  path.cubicTo(
    2.7288000000000014 * scale + translationX,
    8.06927 * scale + translationY,
    3.3573300000000015 * scale + translationX,
    9.77533 * scale + translationY,
    4.858310000000001 * scale + translationX,
    11.49762 * scale + translationY,
  );

  path.cubicTo(
    5.007170000000001 * scale + translationX,
    11.668033333333334 * scale + translationY,
    5.160243333333335 * scale + translationX,
    11.834620000000001 * scale + translationY,
    5.317530000000001 * scale + translationX,
    11.99738 * scale + translationY,
  );

  path.cubicTo(
    5.132110000000002 * scale + translationX,
    12.18838 * scale + translationY,
    4.956530000000002 * scale + translationX,
    12.37927 * scale + translationY,
    4.792880000000001 * scale + translationX,
    12.56909 * scale + translationY,
  );

  path.cubicTo(
    3.3282800000000012 * scale + translationX,
    14.26709 * scale + translationY,
    2.7356900000000013 * scale + translationX,
    15.94525 * scale + translationY,
    3.335720000000001 * scale + translationX,
    16.984499999999997 * scale + translationY,
  );

  path.cubicTo(
    3.9554100000000014 * scale + translationX,
    18.057979999999997 * scale + translationY,
    5.834260000000001 * scale + translationX,
    18.408869999999997 * scale + translationY,
    8.121120000000001 * scale + translationX,
    17.958859999999998 * scale + translationY,
  );

  path.cubicTo(
    8.306453333333334 * scale + translationX,
    17.922119999999996 * scale + translationY,
    8.490760000000002 * scale + translationX,
    17.880786666666665 * scale + translationY,
    8.674040000000002 * scale + translationX,
    17.83486 * scale + translationY,
  );

  path.cubicTo(
    8.74118 * scale + translationX,
    18.06923333333333 * scale + translationY,
    8.81483 * scale + translationX,
    18.301566666666663 * scale + translationY,
    8.894990000000002 * scale + translationX,
    18.531859999999998 * scale + translationY,
  );

  path.cubicTo(
    9.634310000000001 * scale + translationX,
    20.648919999999997 * scale + translationY,
    10.791840000000002 * scale + translationX,
    22.00049 * scale + translationY,
    11.991990000000001 * scale + translationX,
    22.000059999999998 * scale + translationY,
  );

  path.cubicTo(
    13.231430000000001 * scale + translationX,
    21.999329999999997 * scale + translationY,
    14.473930000000001 * scale + translationX,
    20.547179999999997 * scale + translationY,
    15.226730000000002 * scale + translationX,
    18.341309999999996 * scale + translationY,
  );

  path.cubicTo(
    15.286180000000002 * scale + translationX,
    18.166989999999995 * scale + translationY,
    15.34246 * scale + translationX,
    17.985959999999995 * scale + translationY,
    15.395800000000001 * scale + translationX,
    17.799559999999996 * scale + translationY,
  );

  path.cubicTo(
    15.632560000000002 * scale + translationX,
    17.858459999999994 * scale + translationY,
    15.870843333333335 * scale + translationX,
    17.910726666666662 * scale + translationY,
    16.11065 * scale + translationX,
    17.956359999999997 * scale + translationY,
  );

  path.cubicTo(
    18.31401 * scale + translationX,
    18.373229999999996 * scale + translationY,
    20.06316 * scale + translationX,
    18.045359999999995 * scale + translationY,
    20.6621 * scale + translationX,
    17.005359999999996 * scale + translationY,
  );

  path.cubicTo(
    21.28058 * scale + translationX,
    15.93109 * scale + translationY,
    20.64288 * scale + translationX,
    14.12933 * scale + translationY,
    19.10767 * scale + translationX,
    12.37561 * scale + translationY,
  );

  path.close();

  path.moveTo(
    4.07019 * scale + translationX,
    7.45184 * scale + translationY,
  );

  path.cubicTo(
    4.45605 * scale + translationX,
    6.78184 * scale + translationY,
    6.0134300000000005 * scale + translationX,
    6.520449999999999 * scale + translationY,
    8.05627 * scale + translationX,
    6.93984 * scale + translationY,
  );

  path.cubicTo(
    8.18683 * scale + translationX,
    6.966686666666666 * scale + translationY,
    8.319623333333332 * scale + translationX,
    6.996686666666666 * scale + translationY,
    8.454649999999999 * scale + translationX,
    7.02984 * scale + translationY,
  );

  path.cubicTo(
    8.255206847589612 * scale + translationX,
    7.91210600114171 * scale + translationY,
    8.114478208482153 * scale + translationX,
    8.806624481602398 * scale + translationY,
    8.03339027171038 * scale + translationX,
    9.707510328333521 * scale + translationY,
  );

  path.cubicTo(
    7.296289175478828 * scale + translationX,
    10.22606165655387 * scale + translationY,
    6.593523647140855 * scale + translationX,
    10.791777401575326 * scale + translationY,
    5.929499757696603 * scale + translationX,
    11.401109534104453 * scale + translationY,
  );

  path.cubicTo(
    5.783199999999998 * scale + translationX,
    11.249809999999998 * scale + translationY,
    5.6408066666666645 * scale + translationX,
    11.094843333333332 * scale + translationY,
    5.502319999999999 * scale + translationX,
    10.936209999999999 * scale + translationY,
  );

  path.lineTo(
    5.50238 * scale + translationX,
    10.936269999999999 * scale + translationY,
  );

  path.cubicTo(
    4.21631 * scale + translationX,
    9.46057 * scale + translationY,
    3.708 * scale + translationX,
    8.08081 * scale + translationY,
    4.07019 * scale + translationX,
    7.45184 * scale + translationY,
  );

  path.close();

  path.moveTo(
    7.95685 * scale + translationX,
    13.179929999999999 * scale + translationY,
  );

  path.cubicTo(
    7.44629 * scale + translationX,
    12.79333 * scale + translationY,
    6.9718 * scale + translationX,
    12.397279999999999 * scale + translationY,
    6.54114 * scale + translationX,
    11.998929999999998 * scale + translationY,
  );

  path.cubicTo(
    6.971500000000001 * scale + translationX,
    11.603059999999997 * scale + translationY,
    7.44629 * scale + translationX,
    11.208339999999998 * scale + translationY,
    7.9558100000000005 * scale + translationX,
    10.822779999999998 * scale + translationY,
  );

  path.cubicTo(
    7.937503333333334 * scale + translationX,
    11.215546666666663 * scale + translationY,
    7.9284300000000005 * scale + translationX,
    11.60861333333333 * scale + translationY,
    7.928590000000001 * scale + translationX,
    12.001979999999998 * scale + translationY,
  );

  path.cubicTo(
    7.928863333333333 * scale + translationX,
    12.394773333333333 * scale + translationY,
    7.938283333333333 * scale + translationX,
    12.787423333333333 * scale + translationY,
    7.95685 * scale + translationX,
    13.17993 * scale + translationY,
  );

  path.close();

  path.moveTo(
    7.95624 * scale + translationX,
    17.12054 * scale + translationY,
  );

  path.cubicTo(
    7.089501584815158 * scale + translationX,
    17.313262710516483 * scale + translationY,
    6.194696561808926 * scale + translationX,
    17.34483517106813 * scale + translationY,
    5.316530168159587 * scale + translationX,
    17.21368054446139 * scale + translationY,
  );

  path.cubicTo(
    4.829945163082813 * scale + translationX,
    17.175791951176382 * scale + translationY,
    4.380734708766201 * scale + translationX,
    16.938224414292794 * scale + translationY,
    4.075529941708979 * scale + translationX,
    16.557369763185147 * scale + translationY,
  );

  path.cubicTo(
    3.7114600000000006 * scale + translationX,
    15.926699999999999 * scale + translationY,
    4.187290000000001 * scale + translationX,
    14.579369999999999 * scale + translationY,
    5.439850000000001 * scale + translationX,
    13.127139999999999 * scale + translationY,
  );

  path.cubicTo(
    5.597323333333334 * scale + translationX,
    12.945139999999999 * scale + translationY,
    5.75996 * scale + translationX,
    12.767893333333333 * scale + translationY,
    5.927760000000001 * scale + translationX,
    12.595399999999998 * scale + translationY,
  );

  path.cubicTo(
    6.591884947036717 * scale + translationX,
    13.207923838058916 * scale + translationY,
    7.295794458172446 * scale + translationX,
    13.775853259542512 * scale + translationY,
    8.034879743452509 * scale + translationX,
    14.295469543556715 * scale + translationY,
  );

  path.cubicTo(
    8.117079215508788 * scale + translationX,
    15.20786855959769 * scale + translationY,
    8.25945918101518 * scale + translationX,
    16.11384088885635 * scale + translationY,
    8.461089981636272 * scale + translationX,
    17.007469963087427 * scale + translationY,
  );

  path.cubicTo(
    8.293769999999999 * scale + translationX,
    17.04931 * scale + translationY,
    8.125486666666667 * scale + translationX,
    17.086999999999996 * scale + translationY,
    7.95624 * scale + translationX,
    17.12054 * scale + translationY,
  );

  path.close();

  path.moveTo(
    15.05737 * scale + translationX,
    9.081179999999998 * scale + translationY,
  );

  path.cubicTo(
    14.721976666666666 * scale + translationX,
    8.869846666666664 * scale + translationY,
    14.382439999999999 * scale + translationX,
    8.665296666666665 * scale + translationY,
    14.03876 * scale + translationX,
    8.467529999999998 * scale + translationY,
  );

  path.cubicTo(
    13.70056 * scale + translationX,
    8.27286333333333 * scale + translationY,
    13.358293333333332 * scale + translationX,
    8.085506666666664 * scale + translationY,
    13.01196 * scale + translationX,
    7.905459999999998 * scale + translationY,
  );

  path.cubicTo(
    13.60496 * scale + translationX,
    7.656129999999998 * scale + translationY,
    14.18787 * scale + translationX,
    7.443179999999998 * scale + translationY,
    14.75061 * scale + translationX,
    7.269649999999998 * scale + translationY,
  );

  path.cubicTo(
    14.883267485009755 * scale + translationX,
    7.867949440629129 * scale + translationY,
    14.985650991580467 * scale + translationX,
    8.472561494541118 * scale + translationY,
    15.05737007441217 * scale + translationX,
    9.081180044878373 * scale + translationY,
  );

  path.close();

  path.moveTo(
    9.679 * scale + translationX,
    5.83521 * scale + translationY,
  );

  path.cubicTo(
    10.31523 * scale + translationX,
    3.98407 * scale + translationY,
    11.256630000000001 * scale + translationX,
    2.85468 * scale + translationY,
    11.982520000000001 * scale + translationX,
    2.85437 * scale + translationY,
  );

  path.cubicTo(
    12.755600000000001 * scale + translationX,
    2.8539999999999996 * scale + translationY,
    13.760050000000001 * scale + translationX,
    4.07263 * scale + translationY,
    14.41685 * scale + translationX,
    6.052 * scale + translationY,
  );

  path.cubicTo(
    14.459516666666667 * scale + translationX,
    6.181033333333333 * scale + translationY,
    14.499849999999999 * scale + translationX,
    6.310793333333333 * scale + translationY,
    14.53785 * scale + translationX,
    6.44128 * scale + translationY,
  );

  path.cubicTo(
    13.674962410390949 * scale + translationX,
    6.708912977917156 * scale + translationY,
    12.830731189838943 * scale + translationX,
    7.033355182368043 * scale + translationY,
    12.010690261337615 * scale + translationX,
    7.412480161286307 * scale + translationY,
  );

  path.cubicTo(
    11.194058950969195 * scale + translationX,
    7.028894826365174 * scale + translationY,
    10.352481698408694 * scale + translationX,
    6.700836721014139 * scale + translationY,
    9.491689749617578 * scale + translationX,
    6.430539830368017 * scale + translationY,
  );

  path.cubicTo(
    9.549229999999998 * scale + translationX,
    6.230593333333333 * scale + translationY,
    9.611666666666666 * scale + translationX,
    6.03215 * scale + translationY,
    9.679 * scale + translationX,
    5.83521 * scale + translationY,
  );

  path.close();

  path.moveTo(
    9.27863 * scale + translationX,
    7.259 * scale + translationY,
  );

  path.cubicTo(
    9.865610725859323 * scale + translationX,
    7.443793468790321 * scale + translationY,
    10.44290030602328 * scale + translationX,
    7.658065503609253 * scale + translationY,
    11.008300374217074 * scale + translationX,
    7.901000268587255 * scale + translationY,
  );

  path.cubicTo(
    10.307739999999999 * scale + translationX,
    8.262533333333334 * scale + translationY,
    9.625286666666666 * scale + translationX,
    8.656333333333333 * scale + translationY,
    8.96094 * scale + translationX,
    9.0824 * scale + translationY,
  );

  path.cubicTo(
    9.0412 * scale + translationX,
    8.4444 * scale + translationY,
    9.148 * scale + translationX,
    7.83313 * scale + translationY,
    9.27863 * scale + translationX,
    7.259 * scale + translationY,
  );

  path.close();

  path.moveTo(
    8.9624 * scale + translationX,
    14.91968 * scale + translationY,
  );

  path.cubicTo(
    9.293700000000001 * scale + translationX,
    15.131766666666666 * scale + translationY,
    9.629843333333334 * scale + translationX,
    15.336009999999998 * scale + translationY,
    9.970830000000001 * scale + translationX,
    15.53241 * scale + translationY,
  );

  path.cubicTo(
    10.318656666666666 * scale + translationX,
    15.73267 * scale + translationY,
    10.671113333333333 * scale + translationX,
    15.924523333333335 * scale + translationY,
    11.028200000000002 * scale + translationX,
    16.10797 * scale + translationY,
  );

  path.cubicTo(
    10.45847769669261 * scale + translationX,
    16.359314193581703 * scale + translationY,
    9.876228199223974 * scale + translationX,
    16.58124622709189 * scale + translationY,
    9.28375035500997 * scale + translationX,
    16.772890641394177 * scale + translationY,
  );

  path.cubicTo(
    9.15161 * scale + translationX,
    16.1908 * scale + translationY,
    9.04364 * scale + translationX,
    15.56879 * scale + translationY,
    8.9624 * scale + translationX,
    14.91968 * scale + translationY,
  );

  path.close();

  path.moveTo(
    14.41809 * scale + translationX,
    18.06519 * scale + translationY,
  );

  path.cubicTo(
    14.152052865387544 * scale + translationX,
    18.912318472291325 * scale + translationY,
    13.732364430812808 * scale + translationX,
    19.703244850802985 * scale + translationY,
    13.179999872876751 * scale + translationX,
    20.398439803253723 * scale + translationY,
  );

  path.lineTo(
    13.17994 * scale + translationX,
    20.398500000000002 * scale + translationY,
  );

  path.cubicTo(
    12.90403687846082 * scale + translationX,
    20.80101129496588 * scale + translationY,
    12.473865731274707 * scale + translationX,
    21.071404380641724 * scale + translationY,
    11.991529270904607 * scale + translationX,
    21.145498714335314 * scale + translationY,
  );

  path.cubicTo(
    11.26332 * scale + translationX,
    21.14592 * scale + translationY,
    10.333870000000001 * scale + translationX,
    20.0605 * scale + translationY,
    9.70161 * scale + translationX,
    18.25005 * scale + translationY,
  );

  path.cubicTo(
    9.62715 * scale + translationX,
    18.03599666666667 * scale + translationY,
    9.558646666666668 * scale + translationX,
    17.81999666666667 * scale + translationY,
    9.4961 * scale + translationX,
    17.602050000000002 * scale + translationY,
  );

  path.cubicTo(
    10.361007293375597 * scale + translationX,
    17.323021721731518 * scale + translationY,
    11.206004491403503 * scale + translationX,
    16.98568168628573 * scale + translationY,
    12.025279303055342 * scale + translationX,
    16.59234903836338 * scale + translationY,
  );

  path.cubicTo(
    12.852066336342368 * scale + translationX,
    16.973929804049845 * scale + translationY,
    13.70301723764962 * scale + translationX,
    17.300803102852587 * scale + translationY,
    14.572640933474498 * scale + translationX,
    17.570861125530424 * scale + translationY,
  );

  path.cubicTo(
    14.525153333333332 * scale + translationX,
    17.73684 * scale + translationY,
    14.473636666666666 * scale + translationX,
    17.901616666666666 * scale + translationY,
    14.41809 * scale + translationX,
    18.06519 * scale + translationY,
  );

  path.close();

  path.moveTo(
    14.78033 * scale + translationX,
    16.74097 * scale + translationY,
  );

  path.cubicTo(
    14.21112 * scale + translationX,
    16.564970000000002 * scale + translationY,
    13.61975 * scale + translationX,
    16.34845 * scale + translationY,
    13.018189999999999 * scale + translationX,
    16.09546 * scale + translationY,
  );

  path.cubicTo(
    13.35730333333333 * scale + translationX,
    15.916993333333332 * scale + translationY,
    13.698876666666665 * scale + translationX,
    15.728516666666666 * scale + translationY,
    14.04291 * scale + translationX,
    15.53003 * scale + translationY,
  );

  path.cubicTo(
    14.395943333333332 * scale + translationX,
    15.32617 * scale + translationY,
    14.739976666666665 * scale + translationX,
    15.117206666666664 * scale + translationY,
    15.075009999999999 * scale + translationX,
    14.90314 * scale + translationY,
  );

  path.cubicTo(
    15.008276810475195 * scale + translationX,
    15.52039559180608 * scale + translationY,
    14.90992087985365 * scale + translationX,
    16.133821785141603 * scale + translationY,
    14.780329372314894 * scale + translationX,
    16.740999289049952 * scale + translationY,
  );

  path.close();

  path.moveTo(
    15.226619999999999 * scale + translationX,
    11.99829 * scale + translationY,
  );

  path.cubicTo(
    15.22736 * scale + translationX,
    12.605590000000001 * scale + translationY,
    15.2084 * scale + translationX,
    13.212403333333334 * scale + translationY,
    15.16974 * scale + translationX,
    13.81873 * scale + translationY,
  );

  path.cubicTo(
    14.677059999999999 * scale + translationX,
    14.15216 * scale + translationY,
    14.15692 * scale + translationX,
    14.477730000000001 * scale + translationY,
    13.615739999999999 * scale + translationX,
    14.79016 * scale + translationY,
  );

  path.cubicTo(
    13.076799999999999 * scale + translationX,
    15.10132 * scale + translationY,
    12.54281 * scale + translationX,
    15.387270000000001 * scale + translationY,
    12.018999999999998 * scale + translationX,
    15.64606 * scale + translationY,
  );

  path.cubicTo(
    11.467786666666663 * scale + translationX,
    15.381899999999998 * scale + translationY,
    10.9272 * scale + translationX,
    15.097233333333332 * scale + translationY,
    10.397239999999998 * scale + translationX,
    14.79206 * scale + translationY,
  );

  path.cubicTo(
    9.870259999999996 * scale + translationX,
    14.488726666666665 * scale + translationY,
    9.355366666666663 * scale + translationX,
    14.165726666666666 * scale + translationY,
    8.852559999999999 * scale + translationX,
    13.82306 * scale + translationY,
  );

  path.cubicTo(
    8.806599999999998 * scale + translationX,
    13.216919999999998 * scale + translationY,
    8.783446666666665 * scale + translationX,
    12.609679999999999 * scale + translationY,
    8.7831 * scale + translationX,
    12.001339999999999 * scale + translationY,
  );

  path.lineTo(
    8.78322 * scale + translationX,
    12.001529999999999 * scale + translationY,
  );

  path.cubicTo(
    8.7828 * scale + translationX,
    11.393616666666663 * scale + translationY,
    8.805446666666667 * scale + translationX,
    10.786336666666665 * scale + translationY,
    8.85116 * scale + translationX,
    10.179689999999999 * scale + translationY,
  );

  path.cubicTo(
    9.34371 * scale + translationX,
    9.843319999999999 * scale + translationY,
    9.86007 * scale + translationX,
    9.518009999999999 * scale + translationY,
    10.39394 * scale + translationX,
    9.209779999999999 * scale + translationY,
  );

  path.cubicTo(
    10.93026 * scale + translationX,
    8.900089999999999 * scale + translationY,
    11.47094 * scale + translationX,
    8.615359999999999 * scale + translationY,
    12.00863 * scale + translationX,
    8.357299999999999 * scale + translationY,
  );

  path.cubicTo(
    12.553056666666667 * scale + translationX,
    8.621886666666665 * scale + translationY,
    13.087663333333333 * scale + translationX,
    8.905436666666663 * scale + translationY,
    13.61245 * scale + translationX,
    9.207949999999999 * scale + translationY,
  );

  path.cubicTo(
    14.139063333333334 * scale + translationX,
    9.510616666666666 * scale + translationY,
    14.655396666666668 * scale + translationX,
    9.830176666666665 * scale + translationY,
    15.16145 * scale + translationX,
    10.166629999999998 * scale + translationY,
  );

  path.cubicTo(
    15.20491 * scale + translationX,
    10.776249999999997 * scale + translationY,
    15.226656666666665 * scale + translationX,
    11.38680333333333 * scale + translationY,
    15.22669 * scale + translationX,
    11.998289999999997 * scale + translationY,
  );

  path.close();

  path.moveTo(
    16.183349999999997 * scale + translationX,
    6.905460000000001 * scale + translationY,
  );

  path.cubicTo(
    18.10468 * scale + translationX,
    6.531740000000001 * scale + translationY,
    19.55335 * scale + translationX,
    6.78314 * scale + translationY,
    19.916259999999998 * scale + translationX,
    7.4116800000000005 * scale + translationY,
  );

  path.cubicTo(
    20.30286 * scale + translationX,
    8.0813 * scale + translationY,
    19.748779999999996 * scale + translationX,
    9.56018 * scale + translationY,
    18.362429999999996 * scale + translationX,
    11.11804 * scale + translationY,
  );

  path.lineTo(
    18.362369999999995 * scale + translationX,
    11.1181 * scale + translationY,
  );

  path.cubicTo(
    18.285769999999992 * scale + translationX,
    11.204039999999999 * scale + translationY,
    18.20629999999999 * scale + translationX,
    11.290343333333333 * scale + translationY,
    18.123959999999993 * scale + translationX,
    11.37701 * scale + translationY,
  );

  path.cubicTo(
    17.448442143127714 * scale + translationX,
    10.766383948527857 * scale + translationY,
    16.732132305901146 * scale + translationX,
    10.202459844598103 * scale + translationY,
    15.980000320735249 * scale + translationX,
    9.689150194471333 * scale + translationY,
  );

  path.cubicTo(
    15.904099779578917 * scale + translationX,
    8.798116330435741 * scale + translationY,
    15.76864368719679 * scale + translationX,
    7.913161694235423 * scale + translationY,
    15.574540654908365 * scale + translationX,
    7.040220296040783 * scale + translationY,
  );

  path.cubicTo(
    15.781419999999999 * scale + translationX,
    6.989319999999999 * scale + translationY,
    15.984356666666665 * scale + translationX,
    6.944399999999999 * scale + translationY,
    16.18335 * scale + translationX,
    6.90546 * scale + translationY,
  );

  path.close();

  path.moveTo(
    16.053469999999997 * scale + translationX,
    10.79016 * scale + translationY,
  );

  path.cubicTo(
    16.560802374470452 * scale + translationX,
    11.160572671788628 * scale + translationY,
    17.048577781037274 * scale + translationX,
    11.557052073808896 * scale + translationY,
    17.514831173664636 * scale + translationX,
    11.978000802642963 * scale + translationY,
  );

  path.cubicTo(
    17.050637610407946 * scale + translationX,
    12.405872060877462 * scale + translationY,
    16.564401140578184 * scale + translationX,
    12.809192114738192 * scale + translationY,
    16.058109405070066 * scale + translationX,
    13.186309511466135 * scale + translationY,
  );

  path.cubicTo(
    16.07361 * scale + translationX,
    12.79037 * scale + translationY,
    16.081236666666666 * scale + translationX,
    12.394229999999997 * scale + translationY,
    16.08099 * scale + translationX,
    11.997889999999998 * scale + translationY,
  );

  path.cubicTo(
    16.08081 * scale + translationX,
    11.595223333333331 * scale + translationY,
    16.071636666666667 * scale + translationX,
    11.192646666666665 * scale + translationY,
    16.05347 * scale + translationX,
    10.79016 * scale + translationY,
  );

  path.close();

  path.moveTo(
    19.921569999999996 * scale + translationX,
    16.57892 * scale + translationY,
  );

  path.cubicTo(
    19.558109999999996 * scale + translationX,
    17.21008 * scale + translationY,
    18.153689999999994 * scale + translationX,
    17.47327 * scale + translationY,
    16.269349999999996 * scale + translationX,
    17.11676 * scale + translationY,
  );

  path.cubicTo(
    16.053409999999992 * scale + translationX,
    17.07599333333333 * scale + translationY,
    15.831829999999997 * scale + translationX,
    17.027469999999997 * scale + translationY,
    15.604609999999996 * scale + translationX,
    16.97119 * scale + translationY,
  );

  path.cubicTo(
    15.794031157112792 * scale + translationX,
    16.0870198486177 * scale + translationY,
    15.923479456143571 * scale + translationX,
    15.191058277336067 * scale + translationY,
    15.99207032936298 * scale + translationX,
    14.289430294296439 * scale + translationY,
  );

  path.cubicTo(
    16.742942406388604 * scale + translationX,
    13.767163077868783 * scale + translationY,
    17.456988751820152 * scale + translationX,
    13.193849096548902 * scale + translationY,
    18.12915040179468 * scale + translationX,
    12.573550278666431 * scale + translationY,
  );

  path.cubicTo(
    18.246769999999994 * scale + translationX,
    12.695743333333333 * scale + translationY,
    18.35864666666666 * scale + translationX,
    12.817366666666665 * scale + translationY,
    18.464779999999994 * scale + translationX,
    12.938419999999999 * scale + translationY,
  );

  path.lineTo(
    18.464779999999994 * scale + translationX,
    12.93835 * scale + translationY,
  );

  path.cubicTo(
    19.065849028744637 * scale + translationX,
    13.591898428538176 * scale + translationY,
    19.54146855088842 * scale + translationX,
    14.350514074827782 * scale + translationY,
    19.867861364944922 * scale + translationX,
    15.176271042627276 * scale + translationY,
  );

  path.cubicTo(
    20.078831160158867 * scale + translationX,
    15.616307158186135 * scale + translationY,
    20.09827308199818 * scale + translationX,
    16.124037779446667 * scale + translationY,
    19.921569810857214 * scale + translationX,
    16.578919842593574 * scale + translationY,
  );

  path.close();

  canvas.drawPath(path, paint);
}