Flutter 第六课:Flutter动画Tween和绘制CustomPainter

2年前 (2022) 程序员胖胖胖虎阿
169 0 0

Flutter 第六课:Flutter动画Tween和绘制CustomPainter

Flutter 第六课:Flutter动画Tween和绘制CustomPainter
第一步:建立2个dart文件
Flutter 第六课:Flutter动画Tween和绘制CustomPainter
rose_data.dart文件里是动画的执行的坐标点

import 'package:flutter/material.dart';
class RoseData {
  static final List<Offset> flowerPoints = [
    Offset(182.0, 136.3),
    Offset(182.7, 135.3),
    Offset(183.0, 135.3),
    Offset(183.3, 135.3),
    Offset(183.7, 135.3),
    Offset(184.0, 135.0),
    Offset(184.3, 135.0),
    Offset(184.3, 134.7),
    Offset(184.7, 134.7),
    Offset(184.7, 134.3),
    Offset(185.0, 134.3),
    Offset(185.0, 134.0),
    Offset(185.3, 134.0),
    Offset(185.7, 134.0),
    Offset(185.7, 133.7),
    Offset(186.0, 133.3),
    Offset(186.0, 133.0),
    Offset(186.0, 132.7),
    Offset(186.0, 132.3),
    Offset(186.0, 131.7),
    Offset(186.0, 131.0),
    Offset(186.0, 130.7),
    Offset(186.3, 130.7),
    Offset(186.3, 130.3),
    Offset(186.7, 129.7),
    Offset(186.7, 129.3),
    Offset(186.7, 129.0),
    Offset(186.7, 128.7),
    Offset(186.7, 128.0),
    Offset(187.0, 127.7),
    Offset(187.3, 127.3),
    Offset(187.7, 126.7),
    Offset(187.7, 126.3),
    Offset(187.7, 126.0),
    Offset(187.0, 125.3),
    Offset(187.0, 124.7),
    Offset(186.7, 123.7),
    Offset(186.7, 123.0),
    Offset(186.7, 122.7),
    Offset(186.7, 122.3),
    Offset(186.7, 122.0),
    Offset(186.7, 121.7),
    Offset(186.3, 121.7),
    Offset(186.0, 121.7),
    Offset(185.7, 121.3),
    Offset(185.3, 121.3),
    Offset(185.0, 121.3),
    Offset(184.7, 121.0),
    Offset(184.3, 120.7),
    Offset(184.0, 120.7),
    Offset(184.0, 120.3),
    Offset(183.7, 120.3),
    Offset(183.3, 120.3),
    Offset(183.0, 120.3),
    Offset(182.7, 120.3),
    Offset(182.3, 120.0),
    Offset(181.7, 120.0),
    Offset(181.3, 120.0),
    Offset(180.7, 120.0),
    Offset(180.3, 120.0),
    Offset(180.0, 119.7),
    Offset(179.7, 119.7),
    Offset(179.3, 119.7),
    Offset(179.0, 119.7),
    Offset(178.7, 119.7),
    Offset(178.3, 119.7),
    Offset(178.0, 119.7),
    Offset(177.7, 119.7),
    Offset(177.3, 119.7),
    Offset(177.0, 119.7),
    Offset(176.7, 119.7),
    Offset(176.0, 119.7),
    Offset(175.7, 119.7),
    Offset(175.3, 120.0),
    Offset(174.7, 120.0),
    Offset(174.7, 120.3),
    Offset(174.3, 120.3),
    Offset(174.0, 120.7),
    Offset(173.7, 120.7),
    Offset(173.3, 120.7),
    Offset(173.3, 121.0),
    Offset(173.3, 121.3),
    Offset(172.7, 121.7),
    Offset(172.3, 121.7),
    Offset(172.0, 121.7),
    Offset(171.3, 122.0),
    Offset(170.7, 122.3),
    Offset(170.0, 122.7),
    Offset(169.3, 123.0),
    Offset(169.0, 123.3),
    Offset(168.3, 123.3),
    Offset(168.0, 123.7),
    Offset(167.7, 123.7),
    Offset(167.7, 124.0),
    Offset(167.3, 124.0),
    Offset(167.0, 124.3),
    Offset(166.7, 124.3),
    Offset(166.0, 124.7),
    Offset(165.3, 125.0),
    Offset(164.7, 125.3),
    Offset(164.3, 125.7),
    Offset(163.7, 125.7),
    Offset(163.0, 126.0),
    Offset(162.3, 127.0),
    Offset(162.0, 127.0),
    Offset(161.7, 127.3),
    Offset(161.3, 127.7),
    Offset(161.3, 128.0),
    Offset(161.3, 128.3),
    Offset(161.3, 128.7),
    Offset(161.3, 129.0),
    Offset(161.3, 129.3),
    Offset(161.3, 129.7),
    Offset(161.3, 130.0),
    Offset(161.3, 130.3),
    Offset(161.3, 130.7),
    Offset(161.3, 131.0),
    Offset(161.3, 131.7),
    Offset(161.3, 132.3),
    Offset(161.3, 133.3),
    Offset(161.3, 134.0),
    Offset(161.3, 134.7),
    Offset(161.3, 135.3),
    Offset(161.3, 136.0),
    Offset(161.3, 136.3),
    Offset(161.3, 136.7),
    Offset(161.3, 137.0),
    Offset(161.3, 137.3),
    Offset(161.3, 137.7),
    Offset(161.3, 138.0),
    Offset(161.3, 138.3),
    Offset(161.3, 138.7),
    Offset(161.3, 139.0),
    Offset(161.3, 139.3),
    Offset(161.3, 140.0),
    Offset(161.3, 140.7),
    Offset(161.3, 141.0),
    Offset(161.3, 141.7),
    Offset(161.3, 142.0),
    Offset(161.3, 142.3),
    Offset(161.7, 142.7),
    Offset(161.7, 143.0),
    Offset(162.0, 143.3),
    Offset(162.0, 143.7),
    Offset(162.3, 143.7),
    Offset(162.7, 144.0),
    Offset(162.7, 144.3),
    Offset(163.0, 144.3),
    Offset(163.3, 144.3),
    Offset(163.3, 144.7),
    Offset(163.7, 144.7),
    Offset(163.7, 145.0),
    Offset(164.0, 145.3),
    Offset(164.7, 145.3),
    Offset(165.0, 145.7),
    Offset(165.3, 146.0),
    Offset(165.3, 146.3),
    Offset(165.7, 146.3),
    Offset(165.7, 146.7),
    Offset(166.0, 146.7),
    Offset(166.3, 146.7),
    Offset(166.7, 146.7),
    Offset(167.0, 147.0),
    Offset(167.3, 147.0),
    Offset(168.0, 147.3),
    Offset(168.3, 147.3),
    Offset(168.7, 147.3),
    Offset(169.0, 147.3),
    Offset(169.3, 147.3),
    Offset(169.7, 147.3),
    Offset(170.0, 147.3),
    Offset(170.3, 147.3),
    Offset(170.7, 147.3),
    Offset(171.0, 147.3),
    Offset(171.3, 147.3),
    Offset(171.7, 147.3),
    Offset(172.0, 147.3),
    Offset(172.3, 147.3),
    Offset(172.7, 147.3),
    Offset(173.0, 147.3),
    Offset(173.3, 147.3),
    Offset(173.7, 147.7),
    Offset(174.0, 147.7),
    Offset(174.3, 147.7),
    Offset(174.7, 147.7),
    Offset(175.0, 147.7),
    Offset(175.3, 147.7),
    Offset(175.7, 147.7),
    Offset(176.3, 147.7),
    Offset(177.0, 147.7),
    Offset(177.3, 147.7),
    Offset(177.7, 147.7),
    Offset(178.0, 147.7),
    Offset(178.3, 147.7),
    Offset(178.7, 147.7),
    Offset(179.0, 147.7),
    Offset(180.0, 147.7),
    Offset(180.7, 147.7),
    Offset(182.0, 147.7),
    Offset(182.7, 147.7),
    Offset(183.3, 147.7),
    Offset(184.0, 147.7),
    Offset(184.3, 147.7),
    Offset(184.7, 147.7),
    Offset(185.0, 147.7),
    Offset(185.3, 147.7),
    Offset(185.7, 147.7),
    Offset(186.0, 147.7),
    Offset(186.3, 147.7),
    Offset(186.7, 147.7),
    Offset(187.0, 147.7),
    Offset(187.3, 147.7),
    Offset(187.7, 147.7),
    Offset(188.0, 147.7),
    Offset(188.3, 147.7),
    Offset(188.7, 147.7),
    Offset(189.0, 147.7),
    Offset(189.3, 147.7),
    Offset(189.3, 147.3),
    Offset(189.7, 147.3),
    Offset(190.0, 147.3),
    Offset(190.3, 147.3),
    Offset(190.3, 147.0),
    Offset(190.7, 147.0),
    Offset(191.0, 147.0),
    Offset(191.3, 147.0),
    Offset(191.7, 146.7),
    Offset(192.0, 146.7),
    Offset(192.3, 146.3),
    Offset(192.7, 146.3),
    Offset(193.0, 146.3),
    Offset(193.0, 146.0),
    Offset(193.3, 146.0),
    Offset(193.7, 145.7),
    Offset(194.3, 145.3),
    Offset(195.0, 145.0),
    Offset(195.3, 145.0),
    Offset(195.3, 144.7),
    Offset(196.0, 144.7),
    Offset(196.3, 144.3),
    Offset(196.3, 144.0),
    Offset(196.7, 144.0),
    Offset(197.0, 144.0),
    Offset(197.3, 143.7),
    Offset(197.7, 143.3),
    Offset(198.0, 143.0),
    Offset(198.7, 143.0),
    Offset(199.3, 142.3),
    Offset(199.7, 142.0),
    Offset(200.3, 142.0),
    Offset(200.7, 142.0),
    Offset(200.7, 141.7),
    Offset(201.0, 141.7),
    Offset(201.3, 141.3),
    Offset(201.7, 141.0),
    Offset(202.0, 141.0),
    Offset(202.0, 140.7),
    Offset(202.3, 140.7),
    Offset(202.7, 140.7),
    Offset(203.0, 140.3),
    Offset(203.3, 140.3),
    Offset(203.7, 140.0),
    Offset(204.0, 140.0),
    Offset(204.0, 139.7),
    Offset(204.0, 139.3),
    Offset(204.0, 139.0),
    Offset(204.0, 138.7),
    Offset(204.0, 138.3),
    Offset(204.3, 138.0),
    Offset(204.7, 138.0),
    Offset(205.0, 137.7),
    Offset(205.3, 137.3),
    Offset(205.3, 137.0),
    Offset(205.3, 136.7),
    Offset(205.3, 136.3),
    Offset(205.7, 135.7),
    Offset(206.0, 135.3),
    Offset(206.3, 135.0),
    Offset(206.3, 134.7),
    Offset(206.7, 134.7),
    Offset(206.7, 134.3),
    Offset(206.7, 134.0),
    Offset(206.7, 133.7),
    Offset(206.7, 133.3),
    Offset(206.7, 133.0),
    Offset(207.0, 132.3),
    Offset(207.0, 132.0),
    Offset(207.0, 131.7),
    Offset(207.0, 131.3),
    Offset(207.0, 130.7),
    Offset(207.0, 130.0),
    Offset(207.0, 129.3),
    Offset(207.0, 128.3),
    Offset(207.0, 127.7),
    Offset(207.0, 127.0),
    Offset(207.0, 126.7),
    Offset(207.0, 126.3),
    Offset(207.0, 126.0),
    Offset(207.0, 125.7),
    Offset(207.0, 125.3),
    Offset(207.0, 125.0),
    Offset(207.0, 124.3),
    Offset(206.7, 124.0),
    Offset(206.3, 123.3),
    Offset(206.0, 122.7),
    Offset(206.0, 122.3),
    Offset(205.7, 122.0),
    Offset(205.3, 121.7),
    Offset(205.3, 121.3),
    Offset(205.0, 121.3),
    Offset(205.0, 121.0),
    Offset(204.7, 121.0),
    Offset(204.3, 121.0),
    Offset(204.3, 120.7),
    Offset(204.0, 120.7),
    Offset(203.3, 120.3),
    Offset(202.7, 119.7),
    Offset(202.7, 119.3),
    Offset(202.3, 119.3),
    Offset(202.0, 119.3),
    Offset(201.7, 119.3),
    Offset(201.7, 119.0),
    Offset(201.0, 119.0),
    Offset(200.0, 118.3),
    Offset(199.7, 118.3),
    Offset(199.3, 118.0),
    Offset(199.0, 117.7),
    Offset(198.7, 117.3),
    Offset(198.3, 117.3),
    Offset(198.3, 117.0),
    Offset(198.0, 117.0),
    Offset(197.7, 117.0),
    Offset(197.3, 117.0),
    Offset(197.0, 116.7),
    Offset(196.7, 116.3),
    Offset(195.3, 116.0),
    Offset(194.7, 115.3),
    Offset(194.3, 115.3),
    Offset(194.0, 115.3),
    Offset(194.0, 115.0),
    Offset(193.0, 115.0),
    Offset(192.3, 115.0),
    Offset(191.3, 114.3),
    Offset(189.7, 114.0),
    Offset(189.0, 113.7),
    Offset(188.7, 113.3),
    Offset(188.3, 113.3),
    Offset(188.0, 113.3),
    Offset(188.0, 113.0),
    Offset(187.0, 113.0),
    Offset(186.0, 112.7),
    Offset(185.0, 112.3),
    Offset(184.0, 112.0),
    Offset(183.7, 111.7),
    Offset(183.3, 111.7),
    Offset(183.0, 111.7),
    Offset(181.7, 111.7),
    Offset(180.0, 111.3),
    Offset(179.0, 111.0),
    Offset(178.3, 111.0),
    Offset(178.3, 110.7),
    Offset(178.0, 110.7),
    Offset(177.7, 110.7),
    Offset(176.7, 110.7),
    Offset(175.3, 110.7),
    Offset(174.3, 110.7),
    Offset(173.3, 110.3),
    Offset(173.0, 110.3),
    Offset(172.7, 110.3),
    Offset(172.0, 110.3),
    Offset(171.7, 110.3),
    Offset(170.3, 110.3),
    Offset(169.3, 110.3),
    Offset(168.7, 110.3),
    Offset(168.0, 110.3),
    Offset(167.0, 110.3),
    Offset(166.3, 110.3),
    Offset(165.7, 110.3),
    Offset(164.7, 110.3),
    Offset(163.3, 110.7),
    Offset(162.3, 111.0),
    Offset(161.3, 111.0),
    Offset(160.0, 111.3),
    Offset(159.0, 111.3),
    Offset(157.0, 111.7),
    Offset(155.7, 111.7),
    Offset(155.3, 112.0),
    Offset(155.0, 112.0),
    Offset(155.0, 112.3),
    Offset(154.7, 112.3),
    Offset(153.7, 112.7),
    Offset(152.7, 113.3),
    Offset(151.0, 114.0),
    Offset(149.7, 114.3),
    Offset(149.0, 114.7),
    Offset(149.0, 115.0),
    Offset(148.7, 115.0),
    Offset(148.0, 115.7),
    Offset(147.3, 116.3),
    Offset(146.7, 117.0),
    Offset(146.3, 117.3),
    Offset(146.3, 117.7),
    Offset(146.3, 118.0),
    Offset(146.3, 118.3),
    Offset(146.3, 118.7),
    Offset(145.7, 119.3),
    Offset(145.3, 120.0),
    Offset(144.3, 121.3),
    Offset(144.3, 122.0),
    Offset(144.3, 122.7),
    Offset(144.3, 123.0),
    Offset(143.7, 125.0),
    Offset(143.0, 126.7),
    Offset(142.0, 129.3),
    Offset(141.3, 130.3),
    Offset(141.3, 130.7),
    Offset(141.0, 131.3),
    Offset(141.0, 131.7),
    Offset(141.0, 132.0),
    Offset(141.0, 132.3),
    Offset(141.0, 132.7),
    Offset(141.0, 133.7),
    Offset(140.7, 135.7),
    Offset(140.7, 137.0),
    Offset(140.7, 138.0),
    Offset(140.7, 138.3),
    Offset(140.7, 138.7),
    Offset(140.7, 139.0),
    Offset(140.7, 139.3),
    Offset(140.7, 139.7),
    Offset(140.7, 140.3),
    Offset(140.7, 142.0),
    Offset(140.7, 142.7),
    Offset(140.7, 143.7),
    Offset(141.0, 143.7),
    Offset(141.3, 143.7),
    Offset(141.7, 144.3),
    Offset(142.0, 144.7),
    Offset(142.3, 145.3),
    Offset(142.7, 146.3),
    Offset(143.3, 147.0),
    Offset(143.7, 148.0),
    Offset(144.0, 148.0),
    Offset(144.3, 148.7),
    Offset(145.0, 149.7),
    Offset(145.7, 150.0),
    Offset(145.7, 150.7),
    Offset(146.0, 151.3),
    Offset(146.3, 151.7),
    Offset(146.7, 152.3),
    Offset(147.3, 153.0),
    Offset(147.7, 153.7),
    Offset(148.3, 154.7),
    Offset(148.7, 155.0),
    Offset(149.0, 155.3),
    Offset(150.3, 156.3),
    Offset(151.0, 157.0),
    Offset(151.7, 157.7),
    Offset(152.0, 157.7),
    Offset(152.3, 158.3),
    Offset(153.7, 159.3),
    Offset(154.7, 160.0),
    Offset(154.7, 160.7),
    Offset(155.3, 160.7),
    Offset(156.7, 161.0),
    Offset(157.7, 161.7),
    Offset(159.0, 162.0),
    Offset(159.7, 162.3),
    Offset(160.0, 162.3),
    Offset(161.0, 162.7),
    Offset(162.0, 162.7),
    Offset(163.0, 162.7),
    Offset(164.0, 163.3),
    Offset(165.0, 163.3),
    Offset(165.3, 163.3),
    Offset(166.3, 163.7),
    Offset(167.0, 163.7),
    Offset(167.3, 163.7),
    Offset(167.7, 164.0),
    Offset(168.3, 164.3),
    Offset(169.0, 164.3),
    Offset(170.0, 164.7),
    Offset(170.3, 164.7),
    Offset(171.3, 164.7),
    Offset(171.7, 164.7),
    Offset(173.0, 164.7),
    Offset(174.3, 164.7),
    Offset(175.3, 164.7),
    Offset(176.3, 164.7),
    Offset(177.3, 164.7),
    Offset(178.7, 164.7),
    Offset(180.0, 164.7),
    Offset(181.0, 165.0),
    Offset(181.7, 165.0),
    Offset(182.3, 165.0),
    Offset(182.7, 165.0),
    Offset(183.3, 165.0),
    Offset(184.3, 165.3),
    Offset(186.0, 165.3),
    Offset(186.7, 165.3),
    Offset(187.7, 165.3),
    Offset(188.7, 165.3),
    Offset(189.0, 165.3),
    Offset(190.0, 165.3),
    Offset(191.0, 165.3),
    Offset(191.7, 165.3),
    Offset(192.7, 165.3),
    Offset(194.0, 165.3),
    Offset(194.7, 165.0),
    Offset(195.3, 164.7),
    Offset(196.0, 164.7),
    Offset(196.7, 164.3),
    Offset(197.7, 164.0),
    Offset(198.3, 163.7),
    Offset(199.3, 163.3),
    Offset(199.7, 163.3),
    Offset(200.7, 163.0),
    Offset(202.0, 162.7),
    Offset(203.0, 162.7),
    Offset(204.7, 162.0),
    Offset(206.0, 161.3),
    Offset(207.3, 161.0),
    Offset(208.0, 160.7),
    Offset(209.0, 160.3),
    Offset(209.3, 160.0),
    Offset(210.3, 160.0),
    Offset(211.0, 159.7),
    Offset(211.3, 159.3),
    Offset(212.3, 159.0),
    Offset(213.0, 158.7),
    Offset(213.7, 158.0),
    Offset(214.3, 158.0),
    Offset(215.0, 158.0),
    Offset(215.3, 157.7),
    Offset(216.3, 157.0),
    Offset(217.0, 156.7),
    Offset(218.0, 156.3),
    Offset(218.7, 156.0),
    Offset(220.0, 155.7),
    Offset(221.7, 155.0),
    Offset(223.3, 154.7),
    Offset(224.3, 154.0),
    Offset(225.3, 153.7),
    Offset(226.0, 153.3),
    Offset(227.0, 153.3),
    Offset(227.3, 153.0),
    Offset(228.3, 152.7),
    Offset(229.0, 152.3),
    Offset(229.3, 152.0),
    Offset(229.7, 152.0),
    Offset(230.7, 150.7),
    Offset(231.3, 150.3),
    Offset(231.7, 150.0),
    Offset(231.7, 149.7),
    Offset(232.0, 149.3),
    Offset(232.7, 149.0),
    Offset(233.0, 148.3),
    Offset(233.3, 148.0),
    Offset(233.3, 147.7),
    Offset(233.3, 147.3),
    Offset(234.0, 147.0),
    Offset(234.3, 146.0),
    Offset(234.7, 145.0),
    Offset(235.0, 145.0),
    Offset(235.0, 144.7),
    Offset(235.0, 144.3),
    Offset(235.3, 143.3),
    Offset(236.0, 143.0),
    Offset(236.0, 142.3),
    Offset(236.0, 142.0),
    Offset(236.0, 141.7),
    Offset(236.3, 140.3),
    Offset(236.7, 139.7),
    Offset(236.7, 139.3),
    Offset(236.7, 139.0),
    Offset(236.7, 138.7),
    Offset(237.0, 137.3),
    Offset(237.3, 136.0),
    Offset(237.3, 135.7),
    Offset(237.3, 135.3),
    Offset(237.3, 133.7),
    Offset(237.3, 132.7),
    Offset(237.3, 132.3),
    Offset(237.3, 132.0),
    Offset(237.3, 130.7),
    Offset(237.3, 129.3),
    Offset(237.3, 129.0),
    Offset(237.3, 128.3),
    Offset(237.3, 127.7),
    Offset(237.3, 126.7),
    Offset(237.3, 126.0),
    Offset(237.3, 125.7),
    Offset(237.3, 125.0),
    Offset(237.3, 124.0),
    Offset(237.3, 123.0),
    Offset(237.3, 122.7),
    Offset(236.7, 121.7),
    Offset(236.3, 120.7),
    Offset(235.7, 120.0),
    Offset(235.7, 119.7),
    Offset(235.3, 119.3),
    Offset(234.3, 118.3),
    Offset(233.3, 117.0),
    Offset(233.3, 116.3),
    Offset(233.0, 116.3),
    Offset(232.7, 116.3),
    Offset(232.3, 116.3),
    Offset(232.3, 116.0),
    Offset(231.7, 115.0),
    Offset(231.0, 114.7),
    Offset(230.3, 114.0),
    Offset(230.3, 113.7),
    Offset(230.0, 113.7),
    Offset(229.7, 113.3),
    Offset(229.0, 113.0),
    Offset(228.3, 112.3),
    Offset(228.0, 112.0),
    Offset(227.3, 111.7),
    Offset(226.7, 111.3),
    Offset(226.0, 111.3),
    Offset(225.3, 111.3),
    Offset(225.0, 111.0),
    Offset(224.7, 111.0),
    Offset(223.7, 110.7),
    Offset(223.3, 110.3),
    Offset(222.7, 110.3),
    Offset(222.0, 110.3),
    Offset(221.3, 109.7),
    Offset(220.7, 109.7),
    Offset(219.7, 109.7),
    Offset(218.3, 109.3),
    Offset(217.7, 108.7),
    Offset(216.7, 108.3),
    Offset(216.0, 108.0),
    Offset(215.7, 108.0),
    Offset(215.0, 107.7),
    Offset(214.3, 107.7),
    Offset(214.0, 107.7),
    Offset(213.3, 107.3),
    Offset(213.0, 107.0),
    Offset(212.3, 106.7),
    Offset(212.0, 106.7),
    Offset(211.0, 106.3),
    Offset(210.7, 106.3),
    Offset(210.0, 106.0),
    Offset(209.3, 105.7),
    Offset(208.7, 105.7),
    Offset(208.3, 105.7),
    Offset(207.7, 105.7),
    Offset(207.0, 105.7),
    Offset(206.0, 105.7),
    Offset(204.7, 105.3),
    Offset(204.3, 105.3),
    Offset(203.3, 105.3),
    Offset(202.3, 105.0),
    Offset(200.7, 105.0),
    Offset(199.7, 104.7),
    Offset(198.3, 104.7),
    Offset(196.3, 104.3),
    Offset(195.0, 104.0),
    Offset(194.0, 104.0),
    Offset(193.3, 103.3),
    Offset(192.7, 103.3),
    Offset(192.0, 103.0),
    Offset(191.3, 102.7),
    Offset(190.7, 102.7),
    Offset(190.3, 102.7),
    Offset(190.0, 102.3),
    Offset(189.3, 102.3),
    Offset(189.0, 102.3),
    Offset(188.3, 102.3),
    Offset(187.3, 102.0),
    Offset(186.7, 102.0),
    Offset(186.0, 102.0),
    Offset(185.7, 102.0),
    Offset(184.7, 101.7),
    Offset(184.0, 101.7),
    Offset(183.0, 101.7),
    Offset(182.0, 101.7),
    Offset(181.0, 101.7),
    Offset(180.0, 101.3),
    Offset(178.7, 101.3),
    Offset(177.7, 101.3),
    Offset(176.0, 101.3),
    Offset(174.3, 101.3),
    Offset(173.0, 101.3),
    Offset(171.7, 101.3),
    Offset(170.7, 101.3),
    Offset(169.7, 101.3),
    Offset(168.0, 101.3),
    Offset(167.3, 101.3),
    Offset(166.7, 101.3),
    Offset(165.3, 101.3),
    Offset(164.0, 101.3),
    Offset(163.0, 101.3),
    Offset(161.7, 101.3),
    Offset(161.0, 101.3),
    Offset(160.7, 101.3),
    Offset(160.3, 101.3),
    Offset(159.0, 101.3),
    Offset(157.7, 102.0),
    Offset(156.7, 102.3),
    Offset(156.0, 102.7),
    Offset(155.7, 102.7),
    Offset(155.3, 103.0),
    Offset(154.7, 103.3),
    Offset(153.3, 104.0),
    Offset(153.0, 104.7),
    Offset(152.0, 104.7),
    Offset(151.3, 105.3),
    Offset(151.0, 105.3),
    Offset(151.0, 105.7),
    Offset(150.3, 106.3),
    Offset(149.3, 106.7),
    Offset(147.7, 107.7),
    Offset(146.3, 109.0),
    Offset(145.7, 109.7),
    Offset(145.7, 110.0),
    Offset(145.0, 110.0),
    Offset(143.7, 111.0),
    Offset(142.7, 111.7),
    Offset(141.0, 113.0),
    Offset(140.3, 113.7),
    Offset(140.0, 114.3),
    Offset(139.7, 114.7),
    Offset(139.3, 115.0),
    Offset(138.0, 115.7),
    Offset(136.7, 116.7),
    Offset(135.7, 118.0),
    Offset(135.0, 118.7),
    Offset(135.0, 119.0),
    Offset(134.7, 119.3),
    Offset(134.3, 119.7),
    Offset(133.0, 120.3),
    Offset(131.0, 122.3),
    Offset(130.0, 123.3),
    Offset(129.3, 124.0),
    Offset(129.0, 125.0),
    Offset(128.7, 125.0),
    Offset(128.7, 125.3),
    Offset(127.7, 126.3),
    Offset(127.0, 126.7),
    Offset(125.7, 128.7),
    Offset(124.7, 129.3),
    Offset(124.3, 130.3),
    Offset(124.3, 130.7),
    Offset(124.3, 131.0),
    Offset(124.3, 131.3),
    Offset(124.0, 132.7),
    Offset(123.7, 133.7),
    Offset(123.0, 135.3),
    Offset(122.7, 136.0),
    Offset(122.7, 137.0),
    Offset(122.7, 137.3),
    Offset(122.7, 137.7),
    Offset(122.7, 138.3),
    Offset(122.7, 138.7),
    Offset(122.0, 141.3),
    Offset(121.3, 143.0),
    Offset(121.3, 144.0),
    Offset(121.0, 144.7),
    Offset(121.0, 145.0),
    Offset(120.7, 146.0),
    Offset(120.3, 147.3),
    Offset(119.3, 150.0),
    Offset(119.0, 151.7),
    Offset(118.7, 152.3),
    Offset(118.3, 152.7),
    Offset(118.3, 153.0),
    Offset(118.3, 154.7),
    Offset(118.3, 156.3),
    Offset(117.7, 159.0),
    Offset(117.7, 160.0),
    Offset(117.3, 161.0),
    Offset(117.3, 161.3),
    Offset(117.3, 163.3),
    Offset(117.3, 166.0),
    Offset(117.3, 167.3),
    Offset(117.3, 167.7),
    Offset(117.3, 168.7),
    Offset(117.3, 169.3),
    Offset(117.0, 170.0),
    Offset(116.7, 170.3),
    Offset(116.3, 170.3),
    Offset(116.3, 170.7),
    Offset(116.3, 171.3),
    Offset(115.7, 172.0),
    Offset(115.7, 172.7),
    Offset(115.7, 173.0),
    Offset(115.3, 173.3),
    Offset(114.7, 174.7),
    Offset(114.0, 176.0),
    Offset(114.0, 176.3),
    Offset(113.7, 177.0),
    Offset(113.7, 176.7),
    Offset(113.7, 176.3),
    Offset(113.7, 175.7),
    Offset(113.7, 175.3),
    Offset(113.0, 174.7),
    Offset(113.0, 174.0),
    Offset(113.0, 173.7),
    Offset(113.0, 173.0),
    Offset(113.0, 172.7),
    Offset(112.7, 172.7),
    Offset(112.3, 172.3),
    Offset(112.3, 172.0),
    Offset(112.0, 171.7),
    Offset(112.0, 171.3),
    Offset(112.0, 171.0),
    Offset(112.0, 170.7),
    Offset(111.7, 170.7),
    Offset(111.7, 170.3),
    Offset(111.7, 170.0),
    Offset(111.7, 169.7),
    Offset(111.7, 169.3),
    Offset(111.7, 169.0),
    Offset(111.7, 168.7),
    Offset(111.7, 168.3),
    Offset(111.3, 168.3),
    Offset(111.0, 168.0),
    Offset(111.0, 168.3),
    Offset(111.0, 168.7),
    Offset(111.0, 169.0),
    Offset(111.0, 169.7),
    Offset(111.0, 170.0),
    Offset(111.0, 170.7),
    Offset(111.0, 171.0),
    Offset(111.0, 172.0),
    Offset(111.0, 172.3),
    Offset(111.0, 173.3),
    Offset(111.0, 173.7),
    Offset(111.0, 174.7),
    Offset(111.0, 175.0),
    Offset(111.0, 175.3),
    Offset(111.0, 176.0),
    Offset(111.0, 176.3),
    Offset(111.0, 177.0),
    Offset(111.0, 177.3),
    Offset(111.0, 177.7),
    Offset(111.0, 178.0),
    Offset(111.0, 178.3),
    Offset(111.0, 178.7),
    Offset(111.0, 179.0),
    Offset(111.0, 179.7),
    Offset(111.0, 180.0),
    Offset(111.0, 180.3),
    Offset(111.0, 181.0),
    Offset(110.7, 181.3),
    Offset(110.7, 181.7),
    Offset(110.7, 182.0),
    Offset(110.7, 182.3),
    Offset(110.3, 183.0),
    Offset(110.3, 183.7),
    Offset(110.3, 184.3),
    Offset(110.0, 184.7),
    Offset(110.0, 185.3),
    Offset(110.0, 186.0),
    Offset(109.7, 186.7),
    Offset(109.3, 187.3),
    Offset(109.3, 188.0),
    Offset(109.0, 189.0),
    Offset(109.0, 189.3),
    Offset(109.0, 190.0),
    Offset(108.7, 190.3),
    Offset(108.7, 190.7),
    Offset(108.7, 191.3),
    Offset(108.7, 191.7),
    Offset(108.7, 192.7),
    Offset(108.7, 193.3),
    Offset(108.7, 194.0),
    Offset(108.7, 195.0),
    Offset(108.7, 195.7),
    Offset(108.7, 196.7),
    Offset(108.7, 198.0),
    Offset(108.7, 198.3),
    Offset(108.7, 199.0),
    Offset(108.7, 200.7),
    Offset(108.7, 201.7),
    Offset(108.7, 202.7),
    Offset(108.7, 204.3),
    Offset(108.7, 205.7),
    Offset(108.7, 206.7),
    Offset(108.7, 207.3),
    Offset(108.7, 208.3),
    Offset(108.7, 209.7),
    Offset(108.7, 210.0),
    Offset(108.7, 210.3),
    Offset(108.7, 211.3),
    Offset(109.0, 212.0),
    Offset(109.0, 212.7),
    Offset(109.3, 213.3),
    Offset(109.3, 214.3),
    Offset(109.7, 215.0),
    Offset(110.0, 216.0),
    Offset(110.3, 217.3),
    Offset(110.7, 218.3),
    Offset(110.7, 219.0),
    Offset(111.0, 220.0),
    Offset(111.0, 221.0),
    Offset(111.3, 222.0),
    Offset(111.3, 223.0),
    Offset(111.7, 223.7),
    Offset(111.7, 224.3),
    Offset(112.0, 225.0),
    Offset(112.0, 225.3),
    Offset(112.0, 226.3),
    Offset(112.0, 226.7),
    Offset(112.3, 227.3),
    Offset(112.7, 228.3),
    Offset(112.7, 228.7),
    Offset(112.7, 229.3),
    Offset(112.7, 230.3),
    Offset(113.0, 231.3),
    Offset(113.0, 232.7),
    Offset(113.3, 233.3),
    Offset(113.7, 235.0),
    Offset(114.0, 236.0),
    Offset(114.3, 237.3),
    Offset(114.7, 238.3),
    Offset(115.0, 239.0),
    Offset(115.0, 240.0),
    Offset(115.0, 240.3),
    Offset(115.3, 241.0),
    Offset(115.7, 241.3),
    Offset(116.0, 242.0),
    Offset(116.7, 242.7),
    Offset(116.7, 243.3),
    Offset(116.7, 243.7),
    Offset(117.3, 244.7),
    Offset(117.7, 245.0),
    Offset(118.3, 245.7),
    Offset(118.3, 246.3),
    Offset(118.7, 246.7),
    Offset(119.3, 247.7),
    Offset(119.7, 248.3),
    Offset(120.0, 249.0),
    Offset(120.3, 250.0),
    Offset(120.7, 250.3),
    Offset(121.3, 251.3),
    Offset(121.3, 251.7),
    Offset(121.7, 252.3),
    Offset(122.0, 253.0),
    Offset(122.3, 253.3),
    Offset(122.7, 254.3),
    Offset(123.0, 254.7),
    Offset(123.3, 255.0),
    Offset(123.7, 255.7),
    Offset(124.0, 256.3),
    Offset(124.3, 256.7),
    Offset(124.3, 257.0),
    Offset(124.7, 257.7),
    Offset(125.3, 258.0),
    Offset(125.7, 258.7),
    Offset(126.3, 259.3),
    Offset(127.0, 260.3),
    Offset(127.7, 261.0),
    Offset(128.0, 262.0),
    Offset(129.0, 263.0),
    Offset(129.7, 264.0),
    Offset(130.7, 265.0),
    Offset(131.0, 265.3),
    Offset(132.0, 266.3),
    Offset(132.3, 267.0),
    Offset(132.7, 267.3),
    Offset(133.0, 267.7),
    Offset(133.3, 267.7),
    Offset(133.7, 268.0),
    Offset(133.7, 268.3),
    Offset(134.0, 268.7),
    Offset(134.3, 269.0),
    Offset(134.7, 269.7),
    Offset(135.3, 270.3),
    Offset(136.0, 271.0),
    Offset(136.3, 271.7),
    Offset(137.3, 272.3),
    Offset(137.7, 272.7),
    Offset(138.3, 273.3),
    Offset(139.3, 274.3),
    Offset(140.3, 275.0),
    Offset(141.0, 276.0),
    Offset(142.0, 276.7),
    Offset(143.0, 277.7),
    Offset(143.7, 278.3),
    Offset(144.7, 279.0),
    Offset(145.3, 279.7),
    Offset(145.7, 279.7),
    Offset(146.3, 280.7),
    Offset(146.7, 281.0),
    Offset(147.3, 281.3),
    Offset(148.0, 282.0),
    Offset(148.3, 282.7),
    Offset(148.7, 282.7),
    Offset(149.3, 283.0),
    Offset(149.3, 283.7),
    Offset(150.3, 284.0),
    Offset(151.0, 284.7),
    Offset(151.7, 285.3),
    Offset(152.7, 285.7),
    Offset(153.0, 286.3),
    Offset(153.7, 286.7),
    Offset(154.3, 287.3),
    Offset(155.0, 287.7),
    Offset(155.3, 288.0),
    Offset(155.7, 288.3),
    Offset(156.3, 288.7),
    Offset(156.7, 289.0),
    Offset(157.0, 289.7),
    Offset(157.7, 290.0),
    Offset(158.0, 290.3),
    Offset(158.7, 291.0),
    Offset(159.3, 291.3),
    Offset(160.0, 291.7),
    Offset(160.3, 292.3),
    Offset(161.0, 292.7),
    Offset(161.7, 293.3),
    Offset(162.0, 293.7),
    Offset(163.0, 294.3),
    Offset(163.7, 295.3),
    Offset(164.7, 295.7),
    Offset(165.3, 296.3),
    Offset(166.0, 297.0),
    Offset(166.7, 297.0),
    Offset(167.3, 297.7),
    Offset(168.0, 298.0),
    Offset(168.3, 298.0),
    Offset(168.7, 298.3),
    Offset(169.3, 298.3),
    Offset(169.7, 299.0),
    Offset(170.0, 299.0),
    Offset(170.7, 299.3),
    Offset(171.0, 299.7),
    Offset(171.7, 300.0),
    Offset(172.3, 300.0),
    Offset(173.0, 300.0),
    Offset(174.0, 300.3),
    Offset(174.7, 300.7),
    Offset(175.3, 301.0),
    Offset(176.0, 301.0),
    Offset(176.7, 301.3),
    Offset(177.7, 301.7),
    Offset(178.3, 301.7),
    Offset(179.0, 301.7),
    Offset(179.3, 301.7),
    Offset(180.0, 301.7),
    Offset(181.0, 302.0),
    Offset(181.3, 302.0),
    Offset(182.0, 302.0),
    Offset(182.7, 302.0),
    Offset(183.0, 302.0),
    Offset(183.3, 302.0),
    Offset(183.7, 302.0),
    Offset(184.3, 302.0),
    Offset(184.7, 302.0),
    Offset(185.3, 302.0),
    Offset(186.0, 302.0),
    Offset(186.0, 301.7),
    Offset(186.3, 301.7),
    Offset(187.0, 301.0),
    Offset(187.3, 300.3),
    Offset(187.7, 300.3),
    Offset(188.3, 299.7),
    Offset(188.7, 299.3),
    Offset(189.0, 299.0),
    Offset(189.3, 298.3),
    Offset(190.3, 298.0),
    Offset(190.7, 297.3),
    Offset(191.0, 297.0),
    Offset(191.3, 296.7),
    Offset(192.0, 296.3),
    Offset(192.3, 296.0),
    Offset(193.0, 295.3),
    Offset(193.7, 294.7),
    Offset(194.0, 294.3),
    Offset(194.3, 294.0),
    Offset(194.7, 293.7),
    Offset(195.0, 293.0),
    Offset(195.7, 293.0),
    Offset(196.3, 292.7),
    Offset(196.7, 292.0),
    Offset(197.7, 291.3),
    Offset(198.3, 291.0),
    Offset(199.3, 290.3),
    Offset(200.0, 290.0),
    Offset(200.7, 289.7),
    Offset(201.7, 289.3),
    Offset(202.0, 289.0),
    Offset(203.3, 288.3),
    Offset(204.0, 288.0),
    Offset(204.3, 287.3),
    Offset(205.0, 287.0),
    Offset(205.7, 287.0),
    Offset(206.0, 286.3),
    Offset(206.7, 285.7),
    Offset(207.3, 285.3),
    Offset(208.0, 284.7),
    Offset(208.7, 284.0),
    Offset(209.3, 283.7),
    Offset(209.3, 283.0),
    Offset(210.0, 282.3),
    Offset(210.7, 282.0),
    Offset(211.0, 281.0),
    Offset(211.7, 280.3),
    Offset(212.3, 279.7),
    Offset(212.7, 279.3),
    Offset(213.3, 278.3),
    Offset(213.7, 278.3),
    Offset(214.0, 277.7),
    Offset(214.3, 277.3),
    Offset(214.7, 277.0),
    Offset(215.0, 276.3),
    Offset(215.3, 276.3),
    Offset(216.0, 275.7),
    Offset(216.3, 275.0),
    Offset(217.0, 274.7),
    Offset(217.3, 274.3),
    Offset(217.7, 273.7),
    Offset(218.0, 273.3),
    Offset(218.3, 273.0),
    Offset(218.7, 272.7),
    Offset(218.7, 272.3),
    Offset(219.3, 271.7),
    Offset(220.0, 271.3),
    Offset(220.3, 270.3),
    Offset(221.0, 270.0),
    Offset(221.7, 269.3),
    Offset(222.3, 268.3),
    Offset(222.7, 268.0),
    Offset(223.0, 267.3),
    Offset(223.3, 267.0),
    Offset(224.0, 266.0),
    Offset(224.3, 265.7),
    Offset(225.0, 264.7),
    Offset(225.3, 264.0),
    Offset(225.7, 263.3),
    Offset(226.0, 263.0),
    Offset(226.3, 262.3),
    Offset(226.7, 262.0),
    Offset(227.0, 261.3),
    Offset(227.3, 260.7),
    Offset(228.0, 260.0),
    Offset(228.3, 259.3),
    Offset(228.7, 258.3),
    Offset(229.3, 257.3),
    Offset(229.7, 256.7),
    Offset(230.3, 255.3),
    Offset(230.7, 254.7),
    Offset(230.7, 254.3),
    Offset(231.3, 254.0),
    Offset(231.3, 253.0),
    Offset(232.0, 252.0),
    Offset(232.3, 251.0),
    Offset(232.7, 250.7),
    Offset(233.0, 249.3),
    Offset(233.3, 248.7),
    Offset(233.3, 248.0),
    Offset(233.7, 247.3),
    Offset(234.0, 246.7),
    Offset(234.7, 246.0),
    Offset(234.7, 244.7),
    Offset(235.0, 243.7),
    Offset(235.3, 242.7),
    Offset(235.7, 241.7),
    Offset(236.0, 241.3),
    Offset(236.7, 240.0),
    Offset(236.7, 239.3),
    Offset(237.3, 237.7),
    Offset(238.0, 237.0),
    Offset(238.3, 235.7),
    Offset(239.0, 235.0),
    Offset(239.7, 234.0),
    Offset(240.0, 232.7),
    Offset(240.3, 231.3),
    Offset(241.0, 230.7),
    Offset(241.3, 229.7),
    Offset(242.0, 228.3),
    Offset(242.3, 227.7),
    Offset(243.0, 226.7),
    Offset(243.0, 226.0),
    Offset(243.3, 225.7),
    Offset(243.3, 225.0),
    Offset(243.7, 224.7),
    Offset(243.7, 224.3),
    Offset(244.0, 223.3),
    Offset(244.7, 222.3),
    Offset(245.3, 221.0),
    Offset(245.7, 220.3),
    Offset(245.7, 219.7),
    Offset(245.7, 219.3),
    Offset(245.7, 219.0),
    Offset(245.7, 218.7),
    Offset(245.7, 217.3),
    Offset(245.7, 215.3),
    Offset(246.0, 214.3),
    Offset(246.0, 213.0),
    Offset(246.0, 212.7),
    Offset(246.0, 212.0),
    Offset(246.0, 211.0),
    Offset(246.0, 210.3),
    Offset(246.0, 209.7),
    Offset(246.0, 209.3),
    Offset(246.0, 208.3),
    Offset(246.0, 206.3),
    Offset(246.0, 203.7),
    Offset(246.0, 202.3),
    Offset(246.0, 201.3),
    Offset(246.0, 201.0),
    Offset(246.0, 200.7),
    Offset(246.0, 199.3),
    Offset(246.0, 198.3),
    Offset(246.0, 197.0),
    Offset(246.0, 196.0),
    Offset(246.0, 195.0),
    Offset(246.0, 194.0),
    Offset(246.0, 193.0),
    Offset(246.0, 191.7),
    Offset(246.0, 190.7),
    Offset(245.7, 189.3),
    Offset(245.7, 188.3),
    Offset(245.7, 187.0),
    Offset(245.7, 186.0),
    Offset(245.7, 185.0),
    Offset(245.3, 184.3),
    Offset(245.3, 183.7),
    Offset(245.0, 182.0),
    Offset(244.7, 181.0),
    Offset(244.7, 179.3),
    Offset(244.3, 178.7),
    Offset(244.0, 177.3),
    Offset(243.7, 176.3),
    Offset(243.3, 174.7),
    Offset(243.3, 173.3),
    Offset(242.7, 172.0),
    Offset(242.3, 171.3),
    Offset(242.3, 170.7),
    Offset(242.0, 169.7),
    Offset(242.0, 168.3),
    Offset(241.7, 167.0),
    Offset(241.0, 165.3),
    Offset(241.0, 164.3),
    Offset(240.3, 163.7),
    Offset(240.0, 163.0),
    Offset(239.7, 162.3),
    Offset(239.7, 161.7),
    Offset(239.3, 160.7),
    Offset(239.3, 160.3),
    Offset(239.3, 159.0),
    Offset(239.0, 158.0),
    Offset(238.7, 157.3),
    Offset(238.7, 156.7),
    Offset(238.7, 156.0),
    Offset(238.3, 154.7),
    Offset(238.3, 153.7),
    Offset(238.0, 152.0),
    Offset(238.0, 150.7),
    Offset(237.7, 150.7),
    Offset(237.7, 150.0),
    Offset(237.7, 149.7),
    Offset(237.3, 149.0),
    Offset(236.7, 147.0),
    Offset(236.0, 145.7),
    Offset(236.0, 145.0),
    Offset(235.7, 144.7),
    Offset(235.0, 144.7),
    Offset(234.7, 144.7),
    Offset(234.3, 144.7),
    Offset(234.3, 145.0),
    Offset(234.3, 145.3),
    Offset(234.3, 145.7),
    Offset(234.3, 146.3),
    Offset(234.3, 147.0),
    Offset(234.3, 147.7),
    Offset(234.3, 148.0),
    Offset(234.3, 148.3),
    Offset(234.3, 148.7),
    Offset(234.3, 149.0),
    Offset(234.3, 149.3),
    Offset(234.3, 149.7),
    Offset(234.3, 150.0),
    Offset(234.3, 150.3),
    Offset(234.3, 150.7),
    Offset(234.3, 151.0),
    Offset(234.3, 151.3),
    Offset(234.3, 151.7),
    Offset(234.3, 152.0),
    Offset(234.3, 152.7),
    Offset(234.3, 153.0),
    Offset(234.0, 153.3),
    Offset(234.0, 154.0),
    Offset(234.0, 154.7),
    Offset(233.7, 155.0),
    Offset(233.7, 155.3),
    Offset(233.3, 155.7),
    Offset(233.3, 156.3),
    Offset(233.0, 156.7),
    Offset(232.7, 157.3),
    Offset(232.7, 157.7),
    Offset(232.3, 158.0),
    Offset(232.3, 158.3),
    Offset(232.3, 159.0),
    Offset(232.0, 159.3),
    Offset(231.7, 160.0),
    Offset(231.3, 160.3),
    Offset(231.3, 160.7),
    Offset(231.0, 161.0),
    Offset(230.7, 161.7),
    Offset(230.7, 162.0),
    Offset(230.3, 162.7),
    Offset(230.3, 163.0),
    Offset(230.0, 163.7),
    Offset(229.7, 164.7),
    Offset(229.3, 165.0),
    Offset(229.0, 165.7),
    Offset(228.7, 166.7),
    Offset(228.3, 166.7),
    Offset(228.3, 167.7),
    Offset(228.0, 168.3),
    Offset(227.3, 169.3),
    Offset(227.0, 170.0),
    Offset(226.7, 170.3),
    Offset(226.7, 171.0),
    Offset(226.3, 171.7),
    Offset(226.0, 171.7),
    Offset(225.7, 172.3),
    Offset(225.3, 173.0),
    Offset(224.7, 173.7),
    Offset(224.7, 174.3),
    Offset(224.3, 175.0),
    Offset(223.7, 175.7),
    Offset(223.3, 176.7),
    Offset(223.0, 177.0),
    Offset(222.7, 177.7),
    Offset(222.3, 178.3),
    Offset(222.0, 178.7),
    Offset(221.7, 179.0),
    Offset(221.3, 179.7),
    Offset(221.3, 180.0),
    Offset(221.0, 180.3),
    Offset(220.7, 181.0),
    Offset(220.3, 181.3),
    Offset(220.0, 181.7),
    Offset(219.7, 182.0),
    Offset(219.3, 182.3),
    Offset(219.3, 182.7),
    Offset(219.0, 183.0),
    Offset(218.7, 183.3),
    Offset(218.3, 184.0),
    Offset(218.0, 184.3),
    Offset(217.3, 185.0),
    Offset(217.0, 185.3),
    Offset(217.0, 186.0),
    Offset(216.3, 186.7),
    Offset(215.7, 187.3),
    Offset(215.3, 188.0),
    Offset(214.7, 188.3),
    Offset(214.3, 189.0),
    Offset(214.0, 189.7),
    Offset(213.7, 190.0),
    Offset(213.0, 191.0),
    Offset(212.3, 191.7),
    Offset(211.7, 192.0),
    Offset(211.3, 192.7),
    Offset(210.3, 194.0),
    Offset(209.7, 195.0),
    Offset(209.0, 196.0),
    Offset(208.3, 196.7),
    Offset(207.3, 197.3),
    Offset(206.7, 198.3),
    Offset(206.0, 198.7),
    Offset(205.0, 199.7),
    Offset(204.0, 200.3),
    Offset(203.0, 201.0),
    Offset(202.3, 201.0),
    Offset(201.7, 201.3),
    Offset(201.0, 201.7),
    Offset(200.7, 202.3),
    Offset(199.7, 202.7),
    Offset(199.3, 202.7),
    Offset(198.3, 203.0),
    Offset(197.7, 203.3),
    Offset(197.3, 203.7),
    Offset(196.3, 204.0),
    Offset(196.0, 204.3),
    Offset(195.7, 204.3),
    Offset(195.0, 204.3),
    Offset(194.0, 204.7),
    Offset(193.3, 204.7),
    Offset(193.0, 205.0),
    Offset(192.7, 205.0),
    Offset(192.3, 205.3),
    Offset(192.0, 205.3),
    Offset(191.3, 205.7),
    Offset(191.0, 206.0),
    Offset(190.7, 206.0),
    Offset(190.3, 206.3),
    Offset(190.0, 206.7),
    Offset(189.3, 207.3),
    Offset(189.0, 207.3),
    Offset(188.3, 208.0),
    Offset(187.7, 208.7),
    Offset(187.3, 209.0),
    Offset(186.3, 209.3),
    Offset(185.7, 210.0),
    Offset(185.0, 210.7),
    Offset(184.0, 211.0),
    Offset(183.0, 211.7),
    Offset(182.7, 212.3),
    Offset(181.7, 212.7),
    Offset(181.0, 213.3),
    Offset(180.3, 213.7),
    Offset(179.7, 214.0),
    Offset(179.3, 214.7),
    Offset(178.7, 215.0),
    Offset(178.0, 215.3),
    Offset(177.3, 216.0),
    Offset(177.0, 216.3),
    Offset(176.0, 217.0),
    Offset(176.0, 217.3),
    Offset(175.3, 217.3),
    Offset(174.7, 217.7),
    Offset(174.7, 218.0),
    Offset(174.0, 218.3),
    Offset(173.3, 218.7),
    Offset(173.0, 219.0),
    Offset(173.0, 219.7),
    Offset(172.0, 220.3),
    Offset(171.3, 220.7),
    Offset(171.0, 221.3),
    Offset(170.3, 222.0),
    Offset(169.7, 222.3),
    Offset(169.3, 222.7),
    Offset(169.3, 223.0),
    Offset(169.0, 223.3),
    Offset(168.7, 223.7),
    Offset(168.0, 224.3),
    Offset(167.7, 224.7),
    Offset(167.7, 225.0),
    Offset(167.3, 225.0),
    Offset(166.7, 225.7),
    Offset(166.3, 226.3),
    Offset(166.0, 226.7),
    Offset(165.7, 227.3),
    Offset(165.0, 227.7),
    Offset(165.0, 228.0),
    Offset(164.7, 228.0),
    Offset(164.7, 228.7),
    Offset(164.3, 229.0),
    Offset(164.0, 229.3),
    Offset(164.0, 229.7),
    Offset(164.0, 230.0),
    Offset(163.7, 230.3),
    Offset(163.3, 231.0),
    Offset(163.3, 231.3),
    Offset(163.0, 231.7),
    Offset(162.7, 232.3),
    Offset(162.7, 232.7),
    Offset(162.3, 233.3),
    Offset(162.0, 234.0),
    Offset(161.7, 234.7),
    Offset(161.3, 235.3),
    Offset(160.7, 236.0),
    Offset(160.7, 237.0),
    Offset(160.3, 238.0),
    Offset(160.0, 238.3),
    Offset(159.7, 239.7),
    Offset(159.3, 240.3),
    Offset(159.0, 241.0),
    Offset(158.7, 242.0),
    Offset(158.7, 243.0),
    Offset(158.7, 243.7),
    Offset(158.3, 244.7),
    Offset(158.3, 245.3),
    Offset(158.3, 246.3),
    Offset(158.3, 247.3),
    Offset(158.3, 247.7),
    Offset(158.3, 248.7),
    Offset(158.3, 249.7),
    Offset(158.3, 250.3),
    Offset(158.3, 250.7),
    Offset(158.3, 251.3),
    Offset(158.3, 251.7),
    Offset(158.3, 252.3),
    Offset(158.3, 252.7),
    Offset(158.3, 253.3),
    Offset(158.3, 254.0),
    Offset(158.3, 254.3),
    Offset(158.3, 255.0),
    Offset(158.3, 255.3),
    Offset(158.7, 256.3),
    Offset(158.7, 257.0),
    Offset(158.7, 257.7),
    Offset(158.7, 258.3),
    Offset(158.7, 258.7),
    Offset(158.7, 259.3),
    Offset(159.0, 259.7),
    Offset(159.3, 260.7),
    Offset(159.3, 261.0),
    Offset(159.3, 261.3),
    Offset(159.7, 262.0),
    Offset(160.0, 262.3),
    Offset(160.0, 263.0),
    Offset(160.0, 263.7),
    Offset(160.0, 264.0),
    Offset(160.0, 264.7),
    Offset(160.3, 265.7),
    Offset(160.3, 266.3),
    Offset(160.7, 266.7),
    Offset(160.7, 267.7),
    Offset(161.0, 268.3),
    Offset(161.0, 269.0),
    Offset(161.3, 269.7),
    Offset(161.7, 270.3),
    Offset(161.7, 271.0),
    Offset(161.7, 271.7),
    Offset(161.7, 272.3),
    Offset(161.7, 272.7),
    Offset(161.7, 273.0),
    Offset(161.7, 274.0),
    Offset(162.0, 274.0),
    Offset(162.0, 275.0),
    Offset(162.3, 275.7),
    Offset(162.3, 276.0),
    Offset(162.7, 276.7),
    Offset(162.7, 277.0),
    Offset(163.0, 277.0),
    Offset(163.0, 277.7),
    Offset(163.3, 278.3),
    Offset(163.3, 278.7),
    Offset(163.3, 279.3),
    Offset(163.3, 280.0),
    Offset(163.7, 280.3),
    Offset(164.0, 280.7),
    Offset(164.0, 281.7),
    Offset(164.7, 282.0),
    Offset(165.0, 282.3),
    Offset(165.0, 283.0),
    Offset(165.3, 283.7),
    Offset(166.0, 284.7),
    Offset(166.3, 285.0),
    Offset(166.7, 285.3),
    Offset(167.0, 286.3),
    Offset(167.3, 286.7),
    Offset(168.0, 287.3),
    Offset(168.3, 288.0),
    Offset(168.7, 288.7),
    Offset(169.0, 289.0),
    Offset(169.7, 289.7),
    Offset(170.0, 289.7),
    Offset(170.0, 290.3),
    Offset(170.3, 290.3),
    Offset(170.7, 290.3),
    Offset(171.0, 291.0),
    Offset(171.0, 291.3),
    Offset(171.3, 291.7),
    Offset(171.7, 292.0),
    Offset(172.0, 292.0),
    Offset(172.0, 292.3),
    Offset(172.3, 292.3),
    Offset(172.7, 292.7),
    Offset(173.0, 293.0),
    Offset(173.0, 293.3),
    Offset(173.3, 294.0),
    Offset(173.7, 294.0),
    Offset(173.7, 294.3),
    Offset(174.0, 294.7),
    Offset(174.3, 294.7),
    Offset(174.7, 295.0),
    Offset(175.0, 295.3),
    Offset(175.3, 295.3),
    Offset(175.3, 295.7),
    Offset(175.7, 296.0),
    Offset(176.0, 296.0),
    Offset(176.3, 296.3),
    Offset(176.3, 296.7),
    Offset(176.7, 297.0),
    Offset(177.0, 297.7),
    Offset(177.3, 297.7),
    Offset(178.0, 298.3),
    Offset(178.3, 299.0),
    Offset(178.7, 299.0),
    Offset(179.0, 299.3),
    Offset(179.0, 299.7),
    Offset(179.3, 300.0),
    Offset(179.7, 300.3),
    Offset(180.0, 300.0),
    Offset(180.0, 299.7),
    Offset(180.0, 299.3),
    Offset(180.0, 299.0),
    Offset(180.0, 298.7),
    Offset(180.0, 298.0),
    Offset(180.3, 297.7),
    Offset(180.3, 297.0),
    Offset(180.3, 296.3),
    Offset(180.7, 295.7),
    Offset(180.7, 294.7),
    Offset(181.0, 294.0),
    Offset(181.0, 293.7),
    Offset(181.7, 292.7),
    Offset(182.0, 292.0),
    Offset(182.3, 291.3),
    Offset(182.3, 290.7),
    Offset(182.3, 290.3),
    Offset(183.0, 289.3),
    Offset(183.3, 288.7),
    Offset(183.7, 287.7),
    Offset(184.0, 287.0),
    Offset(184.0, 286.7),
    Offset(184.0, 285.7),
    Offset(184.3, 285.0),
    Offset(184.7, 284.7),
    Offset(184.7, 284.3),
    Offset(185.0, 284.0),
    Offset(185.0, 283.3),
    Offset(185.3, 282.3),
    Offset(185.3, 282.0),
    Offset(185.7, 281.0),
    Offset(185.7, 280.3),
    Offset(185.7, 280.0),
    Offset(186.0, 279.0),
    Offset(186.3, 278.3),
    Offset(186.3, 278.0),
    Offset(186.7, 277.7),
    Offset(186.7, 277.0),
    Offset(187.0, 276.7),
    Offset(187.0, 276.0),
    Offset(187.0, 275.3),
    Offset(187.0, 274.7),
    Offset(187.0, 274.0),
    Offset(187.0, 273.3),
    Offset(187.3, 273.0),
    Offset(187.3, 272.3),
    Offset(187.3, 271.7),
    Offset(187.3, 271.0),
    Offset(187.3, 270.7),
    Offset(187.7, 270.0),
    Offset(187.7, 269.7),
    Offset(187.7, 268.3),
    Offset(187.7, 267.7),
    Offset(187.7, 266.3),
    Offset(187.7, 266.0),
    Offset(187.7, 265.0),
    Offset(187.7, 264.3),
    Offset(187.7, 263.7),
    Offset(187.7, 263.0),
    Offset(187.7, 262.7),
    Offset(187.7, 262.0),
    Offset(187.7, 261.0),
    Offset(187.7, 259.7),
    Offset(187.7, 259.0),
    Offset(187.7, 258.3),
    Offset(187.7, 257.7),
    Offset(187.7, 257.3),
    Offset(187.7, 256.7),
    Offset(187.7, 256.0),
    Offset(187.7, 255.7),
    Offset(187.7, 255.3),
    Offset(187.7, 254.7),
    Offset(187.7, 254.0),
    Offset(187.7, 253.7),
    Offset(187.7, 253.0),
    Offset(187.3, 252.7),
    Offset(187.0, 252.0),
    Offset(187.0, 251.3),
    Offset(187.0, 251.0),
    Offset(186.7, 250.7),
    Offset(186.7, 250.3),
    Offset(186.7, 250.0),
    Offset(186.3, 249.3),
    Offset(186.0, 248.7),
    Offset(185.7, 248.3),
    Offset(185.7, 247.7),
    Offset(185.3, 247.0),
    Offset(184.7, 246.3),
    Offset(184.3, 245.3),
    Offset(184.0, 244.7),
    Offset(184.0, 244.3),
    Offset(183.7, 244.0),
    Offset(183.3, 243.7),
    Offset(183.0, 243.3),
    Offset(182.3, 242.7),
    Offset(182.3, 242.0),
    Offset(182.0, 241.3),
    Offset(181.7, 241.3),
    Offset(181.3, 241.0),
    Offset(181.0, 240.0),
    Offset(180.7, 239.7),
    Offset(180.3, 239.0),
    Offset(180.0, 238.3),
    Offset(179.3, 237.7),
    Offset(178.3, 236.3),
    Offset(178.3, 235.3),
    Offset(177.7, 234.7),
    Offset(177.0, 234.0),
    Offset(176.7, 233.3),
    Offset(176.3, 233.0),
    Offset(176.0, 232.3),
    Offset(175.3, 231.3),
    Offset(175.0, 231.0),
    Offset(175.0, 230.3),
    Offset(174.7, 230.0),
    Offset(174.3, 229.7),
    Offset(174.0, 229.3),
    Offset(173.3, 228.3),
    Offset(173.0, 228.0),
    Offset(172.0, 227.0),
    Offset(171.7, 226.3),
    Offset(171.3, 226.3),
    Offset(170.3, 225.3),
    Offset(169.7, 224.3),
    Offset(169.3, 224.0),
    Offset(168.7, 223.7),
    Offset(168.3, 223.3),
    Offset(168.0, 222.7),
    Offset(167.7, 222.7),
    Offset(167.3, 222.3),
    Offset(166.7, 222.0),
    Offset(166.3, 221.7),
    Offset(165.7, 221.3),
    Offset(165.0, 221.0),
    Offset(164.3, 220.7),
    Offset(164.0, 220.0),
    Offset(163.3, 220.0),
    Offset(163.0, 219.7),
    Offset(162.3, 219.3),
    Offset(161.3, 219.0),
    Offset(160.7, 218.3),
    Offset(159.7, 218.0),
    Offset(159.0, 217.7),
    Offset(158.7, 217.7),
    Offset(157.7, 217.3),
    Offset(157.0, 217.0),
    Offset(156.3, 216.7),
    Offset(156.0, 216.3),
    Offset(155.3, 216.3),
    Offset(154.7, 216.0),
    Offset(154.3, 215.7),
    Offset(153.3, 215.0),
    Offset(152.7, 214.7),
    Offset(152.3, 214.7),
    Offset(151.7, 214.3),
    Offset(151.3, 213.7),
    Offset(150.7, 213.0),
    Offset(150.0, 212.7),
    Offset(149.0, 212.0),
    Offset(149.0, 211.7),
    Offset(148.3, 211.3),
    Offset(147.7, 211.0),
    Offset(147.0, 210.7),
    Offset(146.7, 210.3),
    Offset(145.7, 210.0),
    Offset(145.3, 209.3),
    Offset(144.7, 209.3),
    Offset(144.0, 209.0),
    Offset(143.3, 208.3),
    Offset(143.0, 208.0),
    Offset(142.7, 207.7),
    Offset(142.0, 207.7),
    Offset(141.7, 207.3),
    Offset(140.7, 206.7),
    Offset(140.0, 206.3),
    Offset(139.7, 206.0),
    Offset(139.0, 205.7),
    Offset(138.3, 205.3),
    Offset(137.7, 205.3),
    Offset(137.3, 205.0),
    Offset(136.7, 204.7),
    Offset(136.0, 204.3),
    Offset(135.3, 204.0),
    Offset(134.7, 203.7),
    Offset(134.0, 203.3),
    Offset(133.3, 203.0),
    Offset(132.7, 202.3),
    Offset(131.7, 202.3),
    Offset(131.3, 202.0),
    Offset(130.3, 201.7),
    Offset(129.7, 201.0),
    Offset(128.7, 200.7),
    Offset(128.0, 200.0),
    Offset(127.7, 200.0),
    Offset(127.0, 199.7),
    Offset(126.3, 198.7),
    Offset(125.7, 198.3),
    Offset(125.3, 197.7),
    Offset(125.0, 197.3),
    Offset(124.3, 196.7),
    Offset(124.0, 196.3),
    Offset(123.7, 196.3),
    Offset(123.3, 195.7),
    Offset(123.3, 195.3),
    Offset(123.0, 195.3),
    Offset(123.0, 195.0),
    Offset(122.7, 194.7),
    Offset(122.7, 193.7),
    Offset(122.0, 192.7),
    Offset(121.3, 191.7),
    Offset(120.7, 190.7),
    Offset(120.3, 190.0),
    Offset(120.0, 189.7),
    Offset(119.7, 189.0),
    Offset(119.3, 188.7),
    Offset(119.0, 188.0),
    Offset(118.7, 187.7),
    Offset(118.3, 187.0),
    Offset(117.7, 186.7),
    Offset(117.3, 186.0),
    Offset(117.3, 185.7),
    Offset(117.0, 185.3),
    Offset(116.7, 185.3),
    Offset(116.7, 185.0),
    Offset(116.0, 184.3),
    Offset(115.3, 183.3),
    Offset(115.3, 182.7),
    Offset(115.0, 182.0),
    Offset(115.0, 181.7),
    Offset(115.0, 181.7),
    Offset(115.0, 181.7),
    Offset(179.3, 301.7),
    Offset(237.7, 144.7),
  ];

  static final List<Offset> branchPoints = [
    Offset(179.3, 300.3),
    Offset(182.0, 338.3),
    Offset(182.0, 339.0),
    Offset(182.0, 339.7),
    Offset(182.7, 347.3),
    Offset(183.3, 348.3),
    Offset(183.3, 349.0),
    Offset(183.3, 349.7),
    Offset(183.3, 350.3),
    Offset(183.7, 351.0),
    Offset(183.7, 351.7),
    Offset(183.7, 352.3),
    Offset(183.7, 353.0),
    Offset(183.7, 353.3),
    Offset(184.0, 354.0),
    Offset(184.0, 354.3),
    Offset(184.0, 355.0),
    Offset(184.0, 355.7),
    Offset(184.0, 356.0),
    Offset(184.0, 356.7),
    Offset(184.0, 357.3),
    Offset(184.0, 358.0),
    Offset(184.3, 358.7),
    Offset(184.3, 359.3),
    Offset(184.3, 360.0),
    Offset(184.7, 360.7),
    Offset(184.7, 361.3),
    Offset(184.7, 362.0),
    Offset(185.0, 362.7),
    Offset(185.0, 363.3),
    Offset(185.7, 364.3),
    Offset(185.7, 365.3),
    Offset(186.0, 366.0),
    Offset(186.0, 366.7),
    Offset(186.3, 367.7),
    Offset(186.3, 368.3),
    Offset(186.7, 369.0),
    Offset(186.7, 370.3),
    Offset(187.0, 371.0),
    Offset(187.3, 372.0),
    Offset(187.7, 373.3),
    Offset(187.7, 374.3),
    Offset(188.0, 375.7),
    Offset(188.7, 377.3),
    Offset(189.3, 380.3),
    Offset(190.3, 381.7),
    Offset(190.7, 383.3),
    Offset(191.0, 385.0),
    Offset(192.0, 386.3),
    Offset(192.3, 388.0),
    Offset(192.7, 389.3),
    Offset(193.3, 390.3),
    Offset(194.0, 391.7),
    Offset(194.3, 393.3),
    Offset(194.7, 394.7),
    Offset(195.3, 395.7),
    Offset(196.0, 397.3),
    Offset(196.3, 399.3),
    Offset(197.0, 400.3),
    Offset(197.7, 402.3),
    Offset(198.7, 404.0),
    Offset(199.0, 405.7),
    Offset(199.3, 407.0),
    Offset(199.7, 408.7),
    Offset(200.3, 410.0),
    Offset(200.7, 411.0),
    Offset(201.0, 412.3),
    Offset(201.3, 413.3),
    Offset(201.7, 414.7),
    Offset(202.0, 416.0),
    Offset(202.7, 417.0),
    Offset(203.0, 418.3),
    Offset(203.3, 419.3),
    Offset(203.7, 420.7),
    Offset(204.0, 422.3),
    Offset(204.7, 423.3),
    Offset(205.0, 424.7),
    Offset(205.0, 426.3),
    Offset(205.3, 427.7),
    Offset(205.3, 428.7),
    Offset(205.7, 430.0),
    Offset(205.7, 431.0),
    Offset(206.0, 433.0),
    Offset(206.0, 434.0),
    Offset(206.0, 436.0),
    Offset(206.7, 437.0),
    Offset(206.7, 438.3),
    Offset(207.0, 439.0),
    Offset(207.0, 440.0),
    Offset(207.0, 441.3),
    Offset(207.3, 442.0),
    Offset(207.3, 442.7),
    Offset(207.3, 443.7),
    Offset(207.3, 444.0),
    Offset(207.7, 444.7),
    Offset(207.7, 445.3),
    Offset(207.7, 445.7),
    Offset(208.0, 446.3),
    Offset(208.0, 447.0),
    Offset(208.0, 447.7),
    Offset(208.0, 448.0),
    Offset(208.0, 448.7),
    Offset(208.3, 449.3),
    Offset(209.0, 450.7),
    Offset(209.3, 452.0),
    Offset(209.7, 453.7),
    Offset(210.0, 454.3),
    Offset(210.3, 455.0),
    Offset(210.7, 456.3),
    Offset(210.7, 457.0),
    Offset(211.0, 458.0),
    Offset(211.3, 458.7),
    Offset(212.0, 460.7),
    Offset(212.7, 462.3),
    Offset(213.0, 463.0),
    Offset(213.7, 463.7),
    Offset(214.3, 465.3),
    Offset(215.7, 466.7),
    Offset(216.0, 467.3),
    Offset(217.3, 468.3),
    Offset(218.3, 469.0),
    Offset(220.0, 470.3),
    Offset(223.0, 472.3),
    Offset(226.0, 474.3),
    Offset(228.3, 475.3),
    Offset(230.7, 477.0),
    Offset(231.3, 477.7),
    Offset(233.7, 478.7),
    Offset(235.0, 479.7),
    Offset(237.3, 481.0),
    Offset(239.3, 482.3),
    Offset(240.3, 483.0),
    Offset(241.7, 483.7),
    Offset(244.0, 485.7),
    Offset(246.3, 486.7),
    Offset(247.0, 487.3),
    Offset(249.0, 488.0),
    Offset(251.3, 489.7),
    Offset(252.0, 490.0),
    Offset(252.7, 490.3),
    Offset(254.0, 491.0),
    Offset(255.7, 491.7),
    Offset(257.3, 492.3),
    Offset(258.0, 492.7),
    Offset(259.0, 493.3),
    Offset(260.3, 494.0),
    Offset(261.3, 494.7),
    Offset(262.3, 495.3),
    Offset(263.7, 496.0),
    Offset(265.0, 496.7),
    Offset(265.7, 497.3),
    Offset(266.3, 497.7),
    Offset(268.0, 499.0),
    Offset(270.0, 500.7),
    Offset(272.0, 502.3),
    Offset(275.3, 505.0),
    Offset(277.3, 507.0),
    Offset(280.3, 509.3),
    Offset(282.0, 511.0),
    Offset(283.0, 511.7),
    Offset(283.3, 512.0),
    Offset(283.7, 512.0),
    Offset(283.0, 512.0),
    Offset(283.0, 512.0),
  ];
  static final List<Offset> leafBranchPoints1 = [
    Offset(183.0, 327.3),
    Offset(250.3, 319.3),
  ];
  static final List<Offset> leafPoints1 = [
    Offset(203.3, 324.0),
    Offset(205.0, 323.3),
    Offset(205.0, 323.0),
    Offset(205.0, 322.7),
    Offset(205.3, 322.3),
    Offset(205.7, 322.3),
    Offset(206.0, 322.0),
    Offset(206.3, 322.0),
    Offset(206.7, 321.7),
    Offset(207.0, 321.3),
    Offset(207.0, 321.0),
    Offset(207.0, 320.7),
    Offset(207.7, 320.7),
    Offset(208.7, 319.3),
    Offset(210.0, 317.3),
    Offset(210.7, 316.7),
    Offset(211.7, 315.3),
    Offset(212.7, 314.3),
    Offset(213.3, 313.3),
    Offset(214.0, 313.0),
    Offset(214.3, 313.0),
    Offset(214.7, 313.0),
    Offset(215.0, 312.7),
    Offset(215.3, 312.3),
    Offset(215.7, 312.0),
    Offset(216.0, 311.7),
    Offset(216.7, 311.0),
    Offset(217.7, 310.3),
    Offset(218.0, 310.0),
    Offset(218.3, 310.0),
    Offset(219.0, 309.7),
    Offset(220.0, 309.3),
    Offset(220.3, 309.0),
    Offset(220.7, 309.0),
    Offset(221.0, 308.7),
    Offset(221.3, 308.3),
    Offset(222.0, 308.0),
    Offset(222.7, 307.3),
    Offset(223.3, 307.3),
    Offset(224.0, 306.7),
    Offset(224.3, 306.3),
    Offset(225.0, 306.0),
    Offset(225.7, 305.7),
    Offset(226.0, 305.7),
    Offset(226.3, 305.3),
    Offset(226.7, 305.3),
    Offset(227.3, 305.0),
    Offset(228.0, 304.7),
    Offset(228.7, 304.3),
    Offset(229.3, 304.0),
    Offset(230.0, 304.0),
    Offset(230.7, 303.7),
    Offset(231.3, 303.3),
    Offset(231.7, 303.3),
    Offset(232.0, 303.0),
    Offset(232.3, 303.0),
    Offset(232.7, 303.0),
    Offset(233.0, 303.0),
    Offset(233.3, 303.0),
    Offset(233.7, 303.0),
    Offset(234.0, 302.7),
    Offset(234.7, 302.7),
    Offset(235.3, 302.3),
    Offset(236.7, 302.3),
    Offset(237.3, 302.0),
    Offset(238.3, 301.7),
    Offset(239.0, 301.7),
    Offset(240.3, 301.3),
    Offset(241.0, 301.3),
    Offset(241.7, 301.0),
    Offset(242.3, 301.0),
    Offset(243.0, 300.7),
    Offset(243.7, 300.7),
    Offset(244.3, 300.3),
    Offset(245.0, 300.3),
    Offset(245.7, 300.3),
    Offset(246.3, 300.0),
    Offset(247.0, 300.0),
    Offset(247.7, 300.0),
    Offset(248.3, 300.0),
    Offset(248.7, 299.7),
    Offset(249.3, 299.7),
    Offset(249.7, 299.7),
    Offset(250.0, 299.7),
    Offset(250.3, 299.7),
    Offset(250.3, 299.3),
    Offset(250.7, 299.3),
    Offset(251.0, 299.3),
    Offset(251.3, 299.3),
    Offset(251.7, 299.3),
    Offset(252.3, 299.0),
    Offset(253.0, 299.0),
    Offset(254.3, 299.0),
    Offset(255.0, 299.0),
    Offset(255.7, 299.0),
    Offset(256.3, 298.7),
    Offset(257.0, 298.7),
    Offset(257.3, 298.7),
    Offset(257.7, 298.7),
    Offset(258.0, 298.7),
    Offset(258.3, 298.7),
    Offset(258.7, 298.7),
    Offset(259.0, 298.7),
    Offset(259.7, 298.7),
    Offset(260.7, 298.7),
    Offset(262.7, 298.7),
    Offset(263.7, 298.7),
    Offset(264.7, 298.7),
    Offset(265.3, 298.7),
    Offset(266.0, 298.7),
    Offset(266.3, 298.7),
    Offset(266.7, 298.7),
    Offset(267.0, 298.7),
    Offset(267.7, 299.0),
    Offset(268.0, 299.3),
    Offset(270.3, 300.0),
    Offset(271.7, 300.3),
    Offset(273.3, 300.7),
    Offset(274.3, 300.7),
    Offset(274.3, 301.0),
    Offset(275.0, 301.3),
    Offset(276.7, 301.7),
    Offset(278.3, 302.3),
    Offset(278.7, 302.3),
    Offset(279.3, 302.7),
    Offset(279.7, 302.7),
    Offset(279.7, 303.0),
    Offset(280.0, 303.0),
    Offset(281.3, 303.7),
    Offset(283.3, 304.7),
    Offset(284.3, 305.0),
    Offset(285.0, 305.3),
    Offset(285.3, 305.3),
    Offset(286.0, 306.0),
    Offset(287.3, 307.0),
    Offset(288.7, 307.7),
    Offset(289.3, 307.7),
    Offset(289.7, 308.0),
    Offset(290.0, 308.0),
    Offset(290.0, 308.3),
    Offset(290.3, 308.7),
    Offset(291.7, 309.3),
    Offset(292.7, 310.3),
    Offset(293.0, 310.7),
    Offset(293.0, 311.0),
    Offset(293.0, 311.3),
    Offset(293.0, 311.7),
    Offset(293.0, 312.0),
    Offset(292.7, 312.0),
    Offset(292.3, 312.3),
    Offset(292.0, 312.7),
    Offset(292.0, 313.0),
    Offset(291.7, 313.3),
    Offset(290.3, 314.3),
    Offset(288.7, 316.0),
    Offset(288.0, 317.0),
    Offset(287.3, 317.7),
    Offset(286.7, 317.7),
    Offset(286.0, 319.0),
    Offset(285.7, 320.0),
    Offset(285.3, 320.0),
    Offset(285.3, 320.3),
    Offset(284.7, 320.7),
    Offset(283.7, 321.0),
    Offset(282.0, 323.3),
    Offset(280.3, 325.3),
    Offset(279.3, 326.0),
    Offset(279.3, 326.7),
    Offset(279.0, 327.3),
    Offset(278.7, 327.3),
    Offset(278.3, 327.3),
    Offset(276.0, 328.3),
    Offset(274.0, 329.7),
    Offset(273.0, 330.3),
    Offset(272.3, 330.3),
    Offset(272.0, 330.7),
    Offset(271.7, 330.7),
    Offset(270.7, 331.0),
    Offset(268.7, 331.7),
    Offset(266.3, 333.0),
    Offset(263.7, 333.7),
    Offset(262.3, 334.0),
    Offset(262.0, 334.0),
    Offset(261.7, 334.0),
    Offset(259.0, 334.3),
    Offset(257.3, 334.7),
    Offset(254.7, 335.3),
    Offset(253.3, 335.7),
    Offset(253.0, 335.7),
    Offset(252.7, 335.7),
    Offset(252.3, 335.7),
    Offset(252.0, 335.7),
    Offset(251.7, 335.7),
    Offset(250.3, 336.0),
    Offset(247.3, 336.7),
    Offset(244.3, 337.0),
    Offset(242.3, 337.3),
    Offset(241.3, 337.3),
    Offset(241.0, 337.3),
    Offset(240.7, 337.3),
    Offset(240.3, 337.3),
    Offset(238.7, 337.3),
    Offset(236.3, 337.3),
    Offset(234.0, 337.7),
    Offset(232.7, 337.7),
    Offset(232.0, 337.7),
    Offset(231.7, 337.7),
    Offset(231.3, 337.7),
    Offset(228.7, 337.7),
    Offset(225.0, 337.7),
    Offset(223.3, 337.7),
    Offset(220.7, 337.3),
    Offset(218.7, 336.7),
    Offset(217.0, 336.0),
    Offset(215.7, 335.7),
    Offset(215.0, 335.7),
    Offset(214.7, 335.3),
    Offset(214.3, 335.0),
    Offset(214.3, 334.7),
    Offset(214.0, 334.3),
    Offset(213.3, 334.0),
    Offset(213.0, 333.3),
    Offset(212.7, 333.0),
    Offset(212.3, 332.7),
    Offset(211.0, 332.0),
    Offset(209.0, 330.7),
    Offset(207.3, 330.0),
    Offset(206.7, 329.3),
    Offset(206.3, 329.3),
    Offset(206.0, 329.0),
    Offset(205.0, 328.3),
    Offset(202.3, 326.7),
    Offset(201.0, 325.3),
  ];
  static final List<Offset> leafBranchPoints2 = [
    Offset(192.7, 389.3),
    Offset(142.3, 397.0)
  ];
  static final List<Offset> leafPoints2 = [
    Offset(192.7, 390.7),
    Offset(186.0, 388.0),
    Offset(185.7, 387.7),
    Offset(185.3, 387.3),
    Offset(184.7, 387.0),
    Offset(184.3, 386.3),
    Offset(184.0, 386.0),
    Offset(183.3, 385.7),
    Offset(183.0, 385.3),
    Offset(182.7, 385.0),
    Offset(182.3, 385.0),
    Offset(182.3, 384.7),
    Offset(182.0, 384.7),
    Offset(181.7, 384.3),
    Offset(181.3, 384.0),
    Offset(181.0, 384.0),
    Offset(180.3, 383.0),
    Offset(180.0, 383.0),
    Offset(179.3, 382.7),
    Offset(179.0, 382.3),
    Offset(178.7, 382.3),
    Offset(178.3, 382.0),
    Offset(178.3, 381.7),
    Offset(178.0, 381.7),
    Offset(177.7, 381.7),
    Offset(177.3, 381.7),
    Offset(177.0, 381.3),
    Offset(176.7, 381.0),
    Offset(176.0, 380.7),
    Offset(175.7, 380.7),
    Offset(175.0, 380.3),
    Offset(174.7, 380.3),
    Offset(174.0, 380.3),
    Offset(173.3, 379.7),
    Offset(173.0, 379.7),
    Offset(172.3, 379.3),
    Offset(171.7, 379.3),
    Offset(171.3, 379.3),
    Offset(170.7, 379.0),
    Offset(170.0, 379.0),
    Offset(169.3, 379.0),
    Offset(168.7, 378.7),
    Offset(168.3, 378.7),
    Offset(167.7, 378.7),
    Offset(167.0, 378.3),
    Offset(166.7, 378.3),
    Offset(166.0, 378.3),
    Offset(165.7, 378.3),
    Offset(165.3, 378.3),
    Offset(165.0, 378.3),
    Offset(164.7, 378.0),
    Offset(164.3, 378.0),
    Offset(164.0, 377.7),
    Offset(163.7, 377.7),
    Offset(163.0, 377.3),
    Offset(162.7, 377.3),
    Offset(162.7, 377.0),
    Offset(162.3, 377.0),
    Offset(162.0, 377.0),
    Offset(161.7, 376.7),
    Offset(161.0, 376.7),
    Offset(160.7, 376.7),
    Offset(160.3, 376.3),
    Offset(160.0, 376.3),
    Offset(159.7, 376.0),
    Offset(159.3, 376.0),
    Offset(159.0, 376.0),
    Offset(158.7, 376.0),
    Offset(158.3, 376.0),
    Offset(157.7, 376.0),
    Offset(157.3, 376.0),
    Offset(156.7, 376.0),
    Offset(156.3, 376.0),
    Offset(155.7, 376.0),
    Offset(155.0, 376.0),
    Offset(154.3, 376.0),
    Offset(153.3, 376.0),
    Offset(152.0, 376.0),
    Offset(151.3, 376.0),
    Offset(150.3, 376.0),
    Offset(149.7, 376.0),
    Offset(149.0, 376.0),
    Offset(148.3, 376.0),
    Offset(148.0, 376.0),
    Offset(147.3, 376.0),
    Offset(147.0, 376.0),
    Offset(146.7, 376.0),
    Offset(146.0, 376.0),
    Offset(145.7, 376.0),
    Offset(145.0, 376.0),
    Offset(144.7, 376.0),
    Offset(144.0, 376.0),
    Offset(143.3, 376.0),
    Offset(142.7, 376.0),
    Offset(142.0, 376.0),
    Offset(141.3, 376.0),
    Offset(140.7, 376.3),
    Offset(140.0, 376.3),
    Offset(139.3, 376.7),
    Offset(138.7, 376.7),
    Offset(138.0, 376.7),
    Offset(137.3, 377.0),
    Offset(137.0, 377.0),
    Offset(136.3, 377.0),
    Offset(135.0, 377.3),
    Offset(134.3, 377.3),
    Offset(133.7, 377.7),
    Offset(133.0, 378.0),
    Offset(131.7, 378.3),
    Offset(130.3, 378.7),
    Offset(129.0, 379.0),
    Offset(128.7, 379.3),
    Offset(128.0, 379.3),
    Offset(127.0, 379.7),
    Offset(126.0, 379.7),
    Offset(125.3, 379.7),
    Offset(124.7, 380.0),
    Offset(124.0, 380.0),
    Offset(123.7, 380.0),
    Offset(123.7, 380.3),
    Offset(123.3, 380.3),
    Offset(123.0, 380.3),
    Offset(122.7, 380.7),
    Offset(122.3, 380.7),
    Offset(122.0, 380.7),
    Offset(121.7, 381.0),
    Offset(121.3, 381.0),
    Offset(121.3, 381.3),
    Offset(121.0, 381.3),
    Offset(120.7, 381.3),
    Offset(120.0, 381.7),
    Offset(119.7, 382.0),
    Offset(119.0, 382.3),
    Offset(118.3, 382.7),
    Offset(117.7, 383.0),
    Offset(116.7, 383.7),
    Offset(116.0, 384.0),
    Offset(115.7, 384.3),
    Offset(115.3, 384.7),
    Offset(115.0, 385.0),
    Offset(114.7, 385.3),
    Offset(114.3, 385.3),
    Offset(114.3, 385.7),
    Offset(114.0, 385.7),
    Offset(113.0, 386.0),
    Offset(113.0, 386.3),
    Offset(112.7, 386.3),
    Offset(112.3, 386.7),
    Offset(112.3, 387.0),
    Offset(112.0, 387.0),
    Offset(112.0, 387.3),
    Offset(111.7, 387.3),
    Offset(111.3, 387.3),
    Offset(111.0, 387.7),
    Offset(110.7, 388.0),
    Offset(110.0, 388.3),
    Offset(110.0, 388.7),
    Offset(109.7, 389.0),
    Offset(109.3, 389.3),
    Offset(109.0, 389.3),
    Offset(108.7, 389.7),
    Offset(108.7, 390.0),
    Offset(108.3, 390.3),
    Offset(108.3, 390.7),
    Offset(108.3, 391.0),
    Offset(108.3, 391.3),
    Offset(108.0, 391.7),
    Offset(107.3, 392.0),
    Offset(107.0, 392.7),
    Offset(106.3, 393.3),
    Offset(106.0, 394.0),
    Offset(105.3, 395.0),
    Offset(104.7, 395.7),
    Offset(104.0, 396.3),
    Offset(103.7, 397.0),
    Offset(103.3, 397.7),
    Offset(103.0, 398.0),
    Offset(103.0, 398.3),
    Offset(102.7, 398.7),
    Offset(102.7, 399.0),
    Offset(102.3, 399.0),
    Offset(102.3, 399.3),
    Offset(102.0, 399.3),
    Offset(101.3, 399.7),
    Offset(101.0, 400.0),
    Offset(101.0, 400.3),
    Offset(100.7, 400.3),
    Offset(100.3, 400.3),
    Offset(100.0, 400.7),
    Offset(100.3, 400.7),
    Offset(100.7, 400.7),
    Offset(101.0, 400.7),
    Offset(101.3, 400.7),
    Offset(101.7, 401.0),
    Offset(101.7, 401.3),
    Offset(102.0, 401.3),
    Offset(102.3, 401.7),
    Offset(102.7, 401.7),
    Offset(103.0, 402.0),
    Offset(103.3, 402.0),
    Offset(103.3, 402.3),
    Offset(103.3, 402.7),
    Offset(103.7, 402.7),
    Offset(103.7, 403.0),
    Offset(104.0, 403.0),
    Offset(104.3, 403.0),
    Offset(104.3, 403.3),
    Offset(104.7, 403.3),
    Offset(104.7, 403.7),
    Offset(105.0, 404.3),
    Offset(105.7, 404.7),
    Offset(106.0, 405.0),
    Offset(106.3, 405.3),
    Offset(106.7, 405.7),
    Offset(106.7, 406.0),
    Offset(107.7, 406.3),
    Offset(108.3, 406.7),
    Offset(108.3, 407.0),
    Offset(108.7, 407.0),
    Offset(109.7, 407.7),
    Offset(110.0, 407.7),
    Offset(111.0, 408.3),
    Offset(112.7, 409.3),
    Offset(114.0, 409.7),
    Offset(115.0, 410.3),
    Offset(115.7, 411.0),
    Offset(116.3, 411.0),
    Offset(117.3, 411.0),
    Offset(118.7, 411.7),
    Offset(120.0, 411.7),
    Offset(120.0, 412.0),
    Offset(120.7, 412.0),
    Offset(121.3, 412.3),
    Offset(121.7, 412.3),
    Offset(122.7, 412.3),
    Offset(123.3, 412.3),
    Offset(124.3, 412.3),
    Offset(125.3, 412.7),
    Offset(125.7, 412.7),
    Offset(126.3, 412.7),
    Offset(126.7, 412.7),
    Offset(128.0, 412.7),
    Offset(129.3, 413.3),
    Offset(130.3, 413.3),
    Offset(131.7, 413.7),
    Offset(132.7, 414.0),
    Offset(133.3, 414.3),
    Offset(134.3, 414.3),
    Offset(134.7, 414.3),
    Offset(135.3, 414.7),
    Offset(137.3, 415.0),
    Offset(139.3, 415.3),
    Offset(141.3, 415.7),
    Offset(142.7, 416.0),
    Offset(143.3, 416.0),
    Offset(143.7, 416.0),
    Offset(144.7, 416.0),
    Offset(146.7, 416.0),
    Offset(148.0, 416.0),
    Offset(149.3, 416.0),
    Offset(150.7, 416.0),
    Offset(151.3, 416.0),
    Offset(151.7, 416.0),
    Offset(152.7, 416.0),
    Offset(154.3, 416.0),
    Offset(155.7, 416.0),
    Offset(156.3, 416.0),
    Offset(157.7, 416.0),
    Offset(159.0, 416.0),
    Offset(159.7, 416.0),
    Offset(160.3, 416.0),
    Offset(160.3, 415.7),
    Offset(160.7, 415.3),
    Offset(161.7, 414.7),
    Offset(164.3, 413.7),
    Offset(165.7, 412.7),
    Offset(166.7, 412.0),
    Offset(167.0, 412.0),
    Offset(167.3, 412.0),
    Offset(167.7, 411.7),
    Offset(168.7, 410.7),
    Offset(169.7, 409.7),
    Offset(171.7, 408.0),
    Offset(173.0, 407.0),
    Offset(173.7, 406.7),
    Offset(174.0, 406.3),
    Offset(174.7, 405.7),
    Offset(175.3, 405.0),
    Offset(175.7, 404.7),
    Offset(175.7, 404.3),
    Offset(176.0, 404.0),
    Offset(176.7, 403.3),
    Offset(177.7, 402.3),
    Offset(179.0, 401.3),
    Offset(180.0, 400.3),
    Offset(180.3, 399.7),
    Offset(181.0, 399.7),
    Offset(181.3, 399.3),
    Offset(182.0, 399.0),
    Offset(182.7, 398.3),
    Offset(183.0, 398.0),
    Offset(183.0, 397.7),
    Offset(183.7, 397.3),
    Offset(185.0, 396.3),
    Offset(187.0, 395.0),
    Offset(188.3, 394.0),
    Offset(189.0, 394.0),
    Offset(189.0, 393.3),
    Offset(189.0, 393.0),
    Offset(189.0, 392.3),
    Offset(189.0, 392.0),
    Offset(192.7, 390.7),

  ];
}

rose_flower.dart文件下是具体的界面和逻辑

import 'dart:math';
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:flutter_first/flower/rose_data.dart';

class RoseFlower extends StatefulWidget {
  const RoseFlower({Key? key}) : super(key: key);

  @override
  State<RoseFlower> createState() => _RoseFlowerState();
}

class _RoseFlowerState extends State<RoseFlower>
    with SingleTickerProviderStateMixin {
  late AnimationController _controller;
  late Animation<num> _animation;

  //花的路径
  List<Offset> _flowerPaths = [];

  //分支路径
  List<Offset> _branchPaths = [];
  List<Offset> _leafBranchPoints1 = [];
  List<Offset> _leafPoints1 = [];
  List<Offset> _leafBranchPoints2 = [];
  List<Offset> _leafPoints2 = [];

  @override
  void initState() {
    super.initState();
    _controller = AnimationController(
        //界面扩展通知触发器   vsync TickerProvider  用户在使用时可以选择TickerProviderStateMixin或SingleTickerProviderStateMixin
        duration: Duration(seconds: 5),
        vsync: this)
      ..addListener(() {
        setState(() {
          int currAnimationValue = _animation.value.floor();
          int flowerPointsNum = RoseData.flowerPoints.length;
          int branchPointsNum = RoseData.branchPoints.length;
          int leafBranchPoints1Num = RoseData.leafBranchPoints1.length;
          int leafPoints1Num = RoseData.leafPoints1.length;
          int leafBranchPoints2Num = RoseData.leafBranchPoints2.length;
          int leafPoints2Num = RoseData.leafPoints2.length;

          if (currAnimationValue < flowerPointsNum) {
            //只有花
            _flowerPaths = RoseData.flowerPoints.sublist(0, currAnimationValue);
          } else if (currAnimationValue > flowerPointsNum &&
              currAnimationValue < flowerPointsNum + branchPointsNum) {
            //花和枝干
            _flowerPaths = RoseData.flowerPoints;
            _branchPaths = RoseData.branchPoints
                .sublist(0, _animation.value.floor() - flowerPointsNum);
          } else if (currAnimationValue > flowerPointsNum + branchPointsNum &&
              currAnimationValue <
                  flowerPointsNum + branchPointsNum + leafBranchPoints1Num) {
            _flowerPaths = RoseData.flowerPoints;
            _branchPaths = RoseData.branchPoints;

            _leafBranchPoints1 = RoseData.leafBranchPoints1.sublist(
                0, currAnimationValue - flowerPointsNum - branchPointsNum);
          } else if (_animation.value.floor() >
                  flowerPointsNum + branchPointsNum + leafBranchPoints1Num &&
              currAnimationValue <
                  flowerPointsNum +
                      branchPointsNum +
                      leafBranchPoints1Num +
                      leafPoints1Num) {
            _flowerPaths = RoseData.flowerPoints;
            _branchPaths = RoseData.branchPoints;
            _leafBranchPoints1 = RoseData.leafBranchPoints1;
            _leafPoints1 = RoseData.leafPoints1.sublist(
                0,
                currAnimationValue -
                    flowerPointsNum -
                    branchPointsNum -
                    leafBranchPoints1Num);
          } else if (currAnimationValue >
                  flowerPointsNum +
                      branchPointsNum +
                      leafBranchPoints1Num +
                      leafPoints1Num &&
              currAnimationValue <
                  flowerPointsNum +
                      branchPointsNum +
                      leafBranchPoints1Num +
                      leafPoints1Num +
                      leafBranchPoints2Num) {
            _flowerPaths = RoseData.flowerPoints;
            _branchPaths = RoseData.branchPoints;
            _leafBranchPoints1 = RoseData.leafBranchPoints1;
            _leafPoints1 = RoseData.leafPoints1;

            _leafBranchPoints2 = RoseData.leafBranchPoints2.sublist(
                0,
                currAnimationValue -
                    flowerPointsNum -
                    branchPointsNum -
                    leafBranchPoints1Num -
                    leafPoints1Num);
          } else if (currAnimationValue >
              flowerPointsNum +
                  branchPointsNum +
                  leafBranchPoints1Num +
                  leafPoints1Num +
                  leafBranchPoints2Num) {
            _flowerPaths = RoseData.flowerPoints;
            _branchPaths = RoseData.branchPoints;
            _leafBranchPoints1 = RoseData.leafBranchPoints1;
            _leafPoints1 = RoseData.leafPoints1;
            _leafBranchPoints2 = RoseData.leafBranchPoints2;

            _leafPoints2 = RoseData.leafPoints2.sublist(
                0,
                currAnimationValue -
                    flowerPointsNum -
                    branchPointsNum -
                    leafBranchPoints1Num -
                    leafPoints1Num -
                    leafBranchPoints2Num);
          }
        });
      });

    _animation = Tween(
            begin: 0.0,
            end: RoseData.flowerPoints.length +
                RoseData.branchPoints.length +
                RoseData.leafBranchPoints1.length +
                RoseData.leafPoints1.length +
                RoseData.leafBranchPoints2.length +
                RoseData.leafPoints2.length)
        .animate(_controller);
  }

  @override
  Widget build(BuildContext context) {
    return _buildRose();
  }

  Widget _buildRose() {
    return Column(
      children: <Widget>[
        Expanded(
            child: SingleChildScrollView(
          child: Container(
            width: 400,
            height: 700,
            child: CustomPaint(
              painter: RosePaint(_flowerPaths, _branchPaths, _leafBranchPoints1,
                  _leafPoints1, _leafBranchPoints2, _leafPoints2),
            ),
          ),
        )),
        RaisedButton(
            child: Text("开始"),
            onPressed: () {
              _controller.forward();
            })
      ],
    );
  }
}

class RosePaint extends CustomPainter {
  final List<Offset> flowerPaths;
  final List<Offset> branchPaths;
  final List<Offset> leafBranchPoints1;
  final List<Offset> leafPoints1;
  final List<Offset> leafBranchPoints2;
  final List<Offset> leafPoints2;

  RosePaint(this.flowerPaths, this.branchPaths, this.leafBranchPoints1,
      this.leafPoints1, this.leafBranchPoints2, this.leafPoints2);

  Paint _paint = Paint()..strokeWidth = 1.0;
  Color _strokeColor = Colors.grey..withOpacity(.4);

  //花
  Color _flowerColor = Color(0xFFF84120);

  //树叶
  Color _leafColor = Color(0xFF2C651C);

  @override
  void paint(Canvas canvas, Size size) {
    _drawFlower(canvas, size);
    _drawBranch(canvas, size);
    _drawLeaf1(canvas, size);
    _drawLeaf2(canvas, size);
  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) {
    return true;
  }

//  绘制花骨朵

  _drawFlower(Canvas canvas, Size size) {
    //将花变为红色
    if (flowerPaths.length >= RoseData.flowerPoints.length) {
      var path = Path();
      for (int i = 0; i < flowerPaths.length; i++) {
        if (i == 0) {
          path.moveTo(flowerPaths[i].dx, flowerPaths[i].dy);
        } else {
          path.lineTo(flowerPaths[i].dx, flowerPaths[i].dy);
        }
      }
      _paint.style = PaintingStyle.fill;
      _paint.color = _flowerColor;
      canvas.drawPath(path, _paint);
    }
    //绘制线
    _paint.style = PaintingStyle.stroke;
    _paint.color = _strokeColor;
    //去掉最后2个点,最后2个点为了绘制红色
    var points = flowerPaths.sublist(0, max(0, flowerPaths.length - 2));
    canvas.drawPoints(PointMode.polygon, points, _paint);
  }

  //绘制花干

  _drawBranch(Canvas canvas, Size size) {
    if (branchPaths.length <= 0) {
      return;
    }
    _paint.style = PaintingStyle.stroke;
    _paint.color = _strokeColor;
    canvas.drawPoints(PointMode.polygon, branchPaths, _paint);
  }

  _drawLeaf1(Canvas canvas, Size size) {
    //如果开始绘制枝干,则将花变成红色
    if (leafPoints1.length >= RoseData.leafPoints1.length) {
      var path = Path();
      for (int i = 0; i < leafPoints1.length; i++) {
        if (i == 0) {
          path.moveTo(leafPoints1[i].dx, leafPoints1[i].dy);
        } else {
          path.lineTo(leafPoints1[i].dx, leafPoints1[i].dy);
        }
      }
      _paint.style = PaintingStyle.fill;
      _paint.color = _leafColor;
      canvas.drawPath(path, _paint);
    }
    _paint.style = PaintingStyle.stroke;
    _paint.color = _strokeColor;
    canvas.drawPoints(PointMode.polygon, leafBranchPoints1, _paint);
    canvas.drawPoints(PointMode.polygon, leafPoints1, _paint);
  }

  //绘制另一个花叶
  _drawLeaf2(Canvas canvas, Size size) {
    //如果开始绘制枝干,则将花变为红色
    if (leafPoints2.length >= RoseData.leafPoints2.length) {
      var path = Path();
      for (int i = 0; i < leafPoints2.length; i++) {
        if (i == 0) {
          path.moveTo(leafPoints2[i].dx, leafPoints2[i].dy);
        } else {
          path.lineTo(leafPoints2[i].dx, leafPoints2[i].dy);
        }
      }
      _paint.style = PaintingStyle.fill;
      _paint.color = _leafColor;
      canvas.drawPath(path, _paint);
    }
    _paint.style = PaintingStyle.stroke;
    _paint.color = _strokeColor;
    canvas.drawPoints(PointMode.polygon, leafBranchPoints2, _paint);
    canvas.drawPoints(PointMode.polygon, leafPoints2, _paint);
  }
}

class FlutterPainter extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {
    /// 初始化画笔
    var paint = Paint()
      ..strokeWidth = 25.0
      ..color = Colors.red;

    /// 通过canvas画一条直线
    /// 这里可以根据需要绘制圆形,矩形等等
    canvas.drawCircle(Offset(100, 100), 100, paint);
    canvas.drawLine(Offset(300, 300), Offset(400, 400), paint);
  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) {
    return true;
  }
}

_buildRose()是构建界面
RosePaint的类是用来绘制的

 _drawFlower(canvas, size);//绘制花
    _drawBranch(canvas, size);//绘制枝干
    _drawLeaf1(canvas, size);//绘制叶
    _drawLeaf2(canvas, size);//绘制叶

相关文章

暂无评论

暂无评论...