iPhone17 constant

DevicePreset const iPhone17

iPhone 17 — Dynamic Island, 6.3" display.

Implementation

static const DevicePreset iPhone17 = DevicePreset(
  id: 'apple-iphone-17',
  name: 'iPhone 17',
  brand: 'Apple',
  year: 2025,
  platform: TargetPlatform.iOS,
  portraitSize: ui.Size(402, 874),
  devicePixelRatio: 3.0,
  portraitPadding: EdgeInsets.only(top: 62, bottom: 34),
  landscapePadding: EdgeInsets.only(left: 62, right: 62, bottom: 20),
  portraitKeyboardHeight: 335,
  landscapeKeyboardHeight: 208,
  frame: DeviceFrame(
    size: ui.Size(436, 908),
    screenOffset: ui.Offset(17, 17),
    screenPath:
        'M 317.34,0 C 322.68,0 328.02,0.02 333.37,0.21 C 339.49,0.44 345.54,0.9 351.58,2.03 C 363.77,4.3 374.86,9.23 383.81,18.19 C 392.77,27.14 397.7,38.23 399.97,50.43 C 401.1,56.46 401.56,62.51 401.79,68.62 C 401.98,73.92 402,79.21 402,84.5 L 402,789.5 C 402,794.79 401.98,800.08 401.79,805.38 C 401.56,811.49 401.1,817.54 399.97,823.57 C 397.7,835.77 392.77,846.86 383.81,855.81 C 374.86,864.77 363.77,869.7 351.58,871.97 C 345.54,873.1 339.49,873.56 333.37,873.79 C 328.02,873.98 322.68,874 317.34,874 L 84.66,874 C 79.32,874 73.98,873.98 68.63,873.79 C 62.51,873.56 56.46,873.1 50.42,871.97 C 38.23,869.7 27.14,864.77 18.19,855.81 C 9.23,846.86 4.3,835.77 2.03,823.57 C 0.9,817.54 0.44,811.49 0.21,805.38 C 0.02,800.08 0,794.79 0,789.5 L 0,84.5 C 0,79.21 0.02,73.92 0.21,68.62 C 0.44,62.51 0.9,56.46 2.03,50.43 C 4.3,38.23 9.23,27.14 18.19,18.19 C 27.14,9.23 38.23,4.3 50.42,2.03 C 56.46,0.9 62.51,0.44 68.63,0.21 C 73.98,0.02 79.32,0 84.66,0 L 317.34,0 Z M 245,11 H 157 A 18.5,18.5 0 0 0 157,48 H 245 A 18.5,18.5 0 0 0 245,11 Z',
    body:
        '<svg viewBox="0 0 436 908">\n'
        '  <rect x="1" y="1" width="434" height="906" rx="79" fill="#000000"/>\n'
        '  <rect x="2" y="2" width="432" height="904" rx="78" fill="#7e7e7e"/>\n'
        '  <rect x="16" y="16" width="404" height="876" rx="64" fill="#7e7e7e"/>\n'
        '  <rect x="3" y="3" width="430" height="902" rx="77" fill="#2c2c2c"/>\n'
        '  <rect x="16" y="16" width="404" height="876" rx="64" fill="#2c2c2c"/>\n'
        '  <rect x="8" y="8" width="420" height="892" rx="72" fill="#000000"/>\n'
        '  <rect x="16" y="16" width="404" height="876" rx="64" fill="#000000"/>\n'
        '</svg>',
  ),
  systemUi: SystemUiSimulation(
    platform: TargetPlatform.iOS,
    statusBar: SystemUiBar(
      leading:
          '<svg viewBox="0 0 30.75 11.62">\n'
          '  <g transform="scale(0.36) translate(-118.17, -47.03)" fill="currentColor">\n'
          '    <path d="M129.206 79.3125C126.038 79.3125 123.439 78.446 121.408 76.7131C119.376 74.9801 118.297 72.75 118.169 70.0227H123.325C123.496 71.429 124.128 72.5653 125.222 73.4318C126.315 74.2983 127.658 74.7315 129.249 74.7315C131.053 74.7315 132.509 74.1776 133.616 73.0696C134.739 71.9474 135.3 70.4702 135.3 68.6378C135.3 66.8054 134.739 65.321 133.616 64.1847C132.509 63.0341 131.067 62.4588 129.291 62.4588C128.041 62.4588 126.926 62.7216 125.946 63.2472C124.98 63.7727 124.213 64.5185 123.645 65.4844H118.659L120.257 47.7997H138.773V52.4446H124.518L123.773 61.0739H124.135C125.555 59.1562 127.722 58.1974 130.634 58.1974C133.545 58.1974 135.932 59.1634 137.793 61.0952C139.668 63.027 140.605 65.4986 140.605 68.5099C140.605 71.7202 139.554 74.3267 137.452 76.3295C135.364 78.3182 132.615 79.3125 129.206 79.3125Z"/>\n'
          '    <path d="M149.862 75.2855C148.868 75.2855 148.051 74.9659 147.412 74.3267C146.773 73.6875 146.453 72.8849 146.453 71.919C146.453 70.9389 146.773 70.1364 147.412 69.5114C148.051 68.8722 148.868 68.5526 149.862 68.5526C150.871 68.5526 151.688 68.8722 152.313 69.5114C152.952 70.1364 153.271 70.9389 153.271 71.919C153.271 72.8849 152.952 73.6875 152.313 74.3267C151.688 74.9659 150.871 75.2855 149.862 75.2855ZM149.862 59.3054C148.868 59.3054 148.051 58.9929 147.412 58.3679C146.773 57.7287 146.453 56.9261 146.453 55.9602C146.453 54.9801 146.773 54.1776 147.412 53.5526C148.051 52.9134 148.868 52.5937 149.862 52.5937C150.871 52.5937 151.688 52.9134 152.313 53.5526C152.952 54.1776 153.271 54.9801 153.271 55.9602C153.271 56.9261 152.952 57.7287 152.313 58.3679C151.688 58.9929 150.871 59.3054 149.862 59.3054Z"/>\n'
          '    <path d="M167.195 78.5455V53.3395H166.833L159.183 58.7088V53.4247L167.216 47.7997H172.692V78.5455H167.195Z"/>\n'
          '    <path d="M188 64.9091V60.6477H191.75C193.313 60.6477 194.584 60.2216 195.564 59.3693C196.544 58.5028 197.034 57.3807 197.034 56.0028C197.034 54.6392 196.551 53.5526 195.586 52.7429C194.634 51.919 193.355 51.5071 191.75 51.5071C190.159 51.5071 188.867 51.9261 187.872 52.7642C186.892 53.6023 186.353 54.7457 186.253 56.1946H181.118C181.26 53.3679 182.297 51.1378 184.229 49.5043C186.161 47.8565 188.725 47.0327 191.921 47.0327C194.904 47.0327 197.382 47.8139 199.357 49.3764C201.346 50.9247 202.34 52.8778 202.34 55.2358C202.34 57.0398 201.836 58.581 200.827 59.8594C199.833 61.1378 198.483 61.9545 196.779 62.3097V62.6719C198.881 62.9134 200.536 63.7017 201.743 65.0369C202.965 66.3722 203.576 68.0625 203.576 70.108C203.576 72.75 202.468 74.9446 200.252 76.6918C198.05 78.4389 195.28 79.3125 191.942 79.3125C188.632 79.3125 185.934 78.4673 183.846 76.777C181.772 75.0866 180.664 72.8352 180.522 70.0227H185.784C185.898 71.4432 186.516 72.5795 187.638 73.4318C188.76 74.2699 190.209 74.6889 191.985 74.6889C193.746 74.6889 195.181 74.2344 196.289 73.3253C197.411 72.402 197.972 71.2159 197.972 69.767C197.972 68.2614 197.425 67.0753 196.331 66.2088C195.238 65.3423 193.746 64.9091 191.857 64.9091H188Z"/>\n'
          '  </g>\n'
          '</svg>',
      trailing:
          '<svg viewBox="0 0 70.53 13.62">\n'
          '  <g transform="scale(0.36) translate(-826.18, -43.64)" fill="currentColor">\n'
          '    <path d="M826.182 68.8112C826.182 67.2663 827.434 66.014 828.979 66.014H831.776C833.321 66.014 834.573 67.2663 834.573 68.8112V74.4056C834.573 75.9505 833.321 77.2028 831.776 77.2028H828.979C827.434 77.2028 826.182 75.9505 826.182 74.4056V68.8112Z"/>\n'
          '    <path d="M840.168 61.8182C840.168 60.2733 841.42 59.021 842.965 59.021H845.762C847.307 59.021 848.559 60.2733 848.559 61.8182V74.4056C848.559 75.9505 847.307 77.2028 845.762 77.2028H842.965C841.42 77.2028 840.168 75.9505 840.168 74.4056V61.8182Z"/>\n'
          '    <path d="M854.154 52.028C854.154 50.4831 855.406 49.2308 856.951 49.2308H859.748C861.293 49.2308 862.545 50.4831 862.545 52.028V74.4056C862.545 75.9505 861.293 77.2028 859.748 77.2028H856.951C855.406 77.2028 854.154 75.9505 854.154 74.4056V52.028Z"/>\n'
          '    <path d="M868.14 46.4336C868.14 44.8887 869.392 43.6364 870.937 43.6364H873.734C875.279 43.6364 876.531 44.8887 876.531 46.4336V74.4056C876.531 75.9505 875.279 77.2028 873.734 77.2028H870.937C869.392 77.2028 868.14 75.9505 868.14 74.4056V46.4336Z"/>\n'
          '    <path d="M913.959 50.8742C920.859 50.8745 927.494 53.5806 932.495 58.4331C932.871 58.8077 933.473 58.803 933.844 58.4225L937.443 54.7146C937.631 54.5216 937.736 54.2601 937.734 53.9882C937.733 53.7162 937.625 53.456 937.435 53.2653C924.311 40.4267 903.606 40.4267 890.482 53.2653C890.291 53.4559 890.184 53.7159 890.182 53.9879C890.18 54.2599 890.285 54.5214 890.472 54.7146L894.073 58.4225C894.443 58.8035 895.046 58.8083 895.422 58.4331C900.423 53.5802 907.059 50.8742 913.959 50.8742ZM914.059 62.0682C917.849 62.068 921.505 63.5062 924.315 66.1035C924.695 66.4721 925.294 66.4641 925.664 66.0855L929.259 62.3775C929.449 62.1831 929.554 61.9192 929.551 61.645C929.548 61.3709 929.438 61.1093 929.245 60.9187C920.688 52.794 907.436 52.794 898.88 60.9187C898.686 61.1093 898.576 61.371 898.573 61.6453C898.571 61.9195 898.676 62.1833 898.866 62.3775L902.46 66.0855C902.831 66.4641 903.429 66.4721 903.809 66.1035C906.618 63.5079 910.27 62.0698 914.059 62.0682ZM921.369 69.3055C921.375 69.5805 921.269 69.8455 921.077 70.0381L914.858 76.4444C914.675 76.6326 914.427 76.7386 914.168 76.7386C913.908 76.7386 913.66 76.6326 913.477 76.4444L907.257 70.0381C907.065 69.8454 906.96 69.5802 906.965 69.3053C906.971 69.0303 907.088 68.77 907.288 68.5857C911.259 65.1568 917.076 65.1568 921.048 68.5857C921.247 68.7701 921.364 69.0306 921.369 69.3055Z" fill-rule="evenodd"/>\n'
          '    <path d="M951.27 55.2766C951.27 48.8499 956.48 43.64 962.907 43.64H1003.63C1010.06 43.64 1015.27 48.8499 1015.27 55.2766V69.8224C1015.27 76.2491 1010.06 81.459 1003.63 81.459H962.907C956.48 81.459 951.27 76.2491 951.27 69.8224V55.2766Z M966.132 72.7316L974.868 56.0124V55.7568H964.527V52.2197H979.186V55.7994L970.621 72.7316H966.132Z M990.824 73.2571C989.337 73.2571 988.011 72.9399 986.847 72.3054C985.691 71.6709 984.763 70.7523 984.062 69.5497C982.917 67.7883 982.344 65.4823 982.344 62.6319C982.344 59.2322 983.101 56.5617 984.616 54.6204C986.132 52.679 988.224 51.7084 990.895 51.7084C992.846 51.7084 994.508 52.234 995.881 53.2851C997.263 54.3363 998.102 55.7189 998.395 57.4329H994.148C993.949 56.7606 993.551 56.2255 992.955 55.8278C992.368 55.43 991.671 55.2312 990.867 55.2312C989.465 55.2312 988.362 55.8609 987.557 57.1204C986.761 58.3704 986.387 60.0608 986.435 62.1916H986.69C987.154 61.2256 987.841 60.4822 988.75 59.9614C989.669 59.4311 990.725 59.1659 991.918 59.1659C993.859 59.1659 995.469 59.8099 996.747 61.0978C998.026 62.3857 998.665 64.0098 998.665 65.97C998.665 68.1008 997.931 69.848 996.463 71.2116C994.995 72.5753 993.116 73.2571 990.824 73.2571ZM988.139 68.6832C988.849 69.3839 989.73 69.7343 990.781 69.7343C991.832 69.7343 992.713 69.3887 993.423 68.6974C994.143 67.9966 994.503 67.1301 994.503 66.0979C994.503 65.0562 994.153 64.1944 993.452 63.5126C992.751 62.8213 991.866 62.4756 990.796 62.4756C989.725 62.4756 988.835 62.8166 988.125 63.4984C987.424 64.1802 987.074 65.0325 987.074 66.0553C987.074 67.097 987.429 67.9729 988.139 68.6832Z" fill-rule="evenodd" fill-opacity="0.4"/>\n'
          '    <path d="M951.27 55.2766C951.27 48.8499 956.48 43.64 962.907 43.64H997.816V81.459H962.907C956.48 81.459 951.27 76.2491 951.27 69.8224V55.2766Z M966.132 72.7316L974.868 56.0124V55.7568H964.527V52.2197H979.186V55.7994L970.621 72.7316H966.132Z M990.824 73.2571C989.337 73.2571 988.011 72.9399 986.847 72.3054C985.691 71.6709 984.763 70.7523 984.062 69.5497C982.917 67.7883 982.344 65.4823 982.344 62.6319C982.344 59.2322 983.101 56.5617 984.616 54.6204C986.132 52.679 988.224 51.7084 990.895 51.7084C992.846 51.7084 994.508 52.234 995.881 53.2851C997.263 54.3363 998.102 55.7189 998.395 57.4329H994.148C993.949 56.7606 993.551 56.2255 992.955 55.8278C992.368 55.43 991.671 55.2312 990.867 55.2312C989.465 55.2312 988.362 55.8609 987.557 57.1204C986.761 58.3704 986.387 60.0608 986.435 62.1916H986.69C987.154 61.2256 987.841 60.4822 988.75 59.9614C989.669 59.4311 990.725 59.1659 991.918 59.1659C993.859 59.1659 995.469 59.8099 996.747 61.0978C998.026 62.3857 998.665 64.0098 998.665 65.97C998.665 68.1008 997.931 69.848 996.463 71.2116C994.995 72.5753 993.116 73.2571 990.824 73.2571ZM988.139 68.6832C988.849 69.3839 989.73 69.7343 990.781 69.7343C991.832 69.7343 992.713 69.3887 993.423 68.6974C994.143 67.9966 994.503 67.1301 994.503 66.0979C994.503 65.0562 994.153 64.1944 993.452 63.5126C992.751 62.8213 991.866 62.4756 990.796 62.4756C989.725 62.4756 988.835 62.8166 988.125 63.4984C987.424 64.1802 987.074 65.0325 987.074 66.0553C987.074 67.097 987.429 67.9729 988.139 68.6832Z" fill-rule="evenodd"/>\n'
          '    <path d="M1018.18 57.6263V69.4317C1020.56 68.4318 1022.1 66.1059 1022.1 63.529C1022.1 60.9521 1020.56 58.6261 1018.18 57.6263Z" fill-opacity="0.4"/>\n'
          '  </g>\n'
          '</svg>',
      inset: 30,
    ),
    navigationBar: SystemUiBar(
      center:
          '<svg viewBox="0 0 145 5">\n'
          '  <path d="M 2.5,0 H 142.5 A 2.5,2.5 0 0 1 145,2.5 V 2.5 A 2.5,2.5 0 0 1 142.5,5 H 2.5 A 2.5,2.5 0 0 1 0,2.5 V 2.5 A 2.5,2.5 0 0 1 2.5,0 Z" fill="currentColor"/>\n'
          '</svg>',
      bottomInset: 8,
    ),
  ),
);