app: add search, redesign, save app settings in sled

This commit is contained in:
darkfi
2025-02-10 04:37:00 +01:00
parent 15ffab0752
commit 07af39ec7d
9 changed files with 1532 additions and 146 deletions

69
bin/app/data/circle.obj Normal file
View File

@@ -0,0 +1,69 @@
# Blender 4.0.2
# www.blender.org
mtllib circle.mtl
o Circle
v 0.000000 0.000000 -1.000000
v -0.195090 0.000000 -0.980785
v -0.382683 0.000000 -0.923880
v -0.555570 0.000000 -0.831470
v -0.707107 0.000000 -0.707107
v -0.831470 0.000000 -0.555570
v -0.923880 0.000000 -0.382683
v -0.980785 0.000000 -0.195090
v -1.000000 0.000000 0.000000
v -0.980785 0.000000 0.195090
v -0.923880 0.000000 0.382683
v -0.831470 0.000000 0.555570
v -0.707107 0.000000 0.707107
v -0.555570 0.000000 0.831470
v -0.382683 0.000000 0.923880
v -0.195090 0.000000 0.980785
v 0.000000 0.000000 1.000000
v 0.195090 0.000000 0.980785
v 0.382683 0.000000 0.923880
v 0.555570 0.000000 0.831470
v 0.707107 0.000000 0.707107
v 0.831470 0.000000 0.555570
v 0.923880 0.000000 0.382683
v 0.980785 0.000000 0.195090
v 1.000000 0.000000 0.000000
v 0.980785 0.000000 -0.195090
v 0.923880 0.000000 -0.382683
v 0.831470 0.000000 -0.555570
v 0.707107 0.000000 -0.707107
v 0.555570 0.000000 -0.831470
v 0.382683 0.000000 -0.923880
v 0.195090 0.000000 -0.980785
vn -0.0000 1.0000 -0.0000
vt 0.000000 0.000000
s 0
f 17/1/1 25/1/1 1/1/1
f 1/1/1 2/1/1 5/1/1
f 2/1/1 3/1/1 5/1/1
f 3/1/1 4/1/1 5/1/1
f 5/1/1 6/1/1 7/1/1
f 7/1/1 8/1/1 5/1/1
f 8/1/1 9/1/1 5/1/1
f 9/1/1 10/1/1 13/1/1
f 10/1/1 11/1/1 13/1/1
f 11/1/1 12/1/1 13/1/1
f 13/1/1 14/1/1 15/1/1
f 15/1/1 16/1/1 13/1/1
f 16/1/1 17/1/1 13/1/1
f 17/1/1 18/1/1 21/1/1
f 18/1/1 19/1/1 21/1/1
f 19/1/1 20/1/1 21/1/1
f 21/1/1 22/1/1 23/1/1
f 23/1/1 24/1/1 21/1/1
f 24/1/1 25/1/1 21/1/1
f 25/1/1 26/1/1 29/1/1
f 26/1/1 27/1/1 29/1/1
f 27/1/1 28/1/1 29/1/1
f 29/1/1 30/1/1 31/1/1
f 31/1/1 32/1/1 29/1/1
f 32/1/1 1/1/1 29/1/1
f 1/1/1 5/1/1 9/1/1
f 9/1/1 13/1/1 17/1/1
f 17/1/1 21/1/1 25/1/1
f 25/1/1 29/1/1 1/1/1
f 1/1/1 9/1/1 17/1/1

448
bin/app/data/logo.obj Normal file
View File

@@ -0,0 +1,448 @@
# Blender 4.0.2
# www.blender.org
mtllib logo.mtl
o Curve.009
v 0.000154 0.000000 -0.009673
v -0.000705 0.000000 -0.009615
v -0.001529 0.000000 -0.009448
v -0.002310 0.000000 -0.009177
v -0.003040 0.000000 -0.008812
v -0.003712 0.000000 -0.008358
v -0.004319 0.000000 -0.007825
v -0.004853 0.000000 -0.007218
v -0.005306 0.000000 -0.006546
v -0.005672 0.000000 -0.005816
v -0.005942 0.000000 -0.005035
v -0.006110 0.000000 -0.004212
v -0.006168 0.000000 -0.003352
v -0.006110 0.000000 -0.002493
v -0.005942 0.000000 -0.001669
v -0.005672 0.000000 -0.000889
v -0.005306 0.000000 -0.000159
v -0.004853 0.000000 0.000513
v -0.004319 0.000000 0.001120
v -0.003712 0.000000 0.001654
v -0.003040 0.000000 0.002107
v -0.002310 0.000000 0.002473
v -0.001529 0.000000 0.002743
v -0.000705 0.000000 0.002911
v 0.000154 0.000000 0.002968
v 0.001014 0.000000 0.002911
v 0.001838 0.000000 0.002743
v 0.002618 0.000000 0.002473
v 0.003349 0.000000 0.002107
v 0.004021 0.000000 0.001654
v 0.004627 0.000000 0.001120
v 0.005161 0.000000 0.000513
v 0.005615 0.000000 -0.000159
v 0.005980 0.000000 -0.000889
v 0.006251 0.000000 -0.001669
v 0.006419 0.000000 -0.002493
v 0.006476 0.000000 -0.003352
v 0.006419 0.000000 -0.004212
v 0.006251 0.000000 -0.005035
v 0.005980 0.000000 -0.005816
v 0.005615 0.000000 -0.006546
v 0.005161 0.000000 -0.007218
v 0.004627 0.000000 -0.007825
v 0.004021 0.000000 -0.008358
v 0.003349 0.000000 -0.008812
v 0.002618 0.000000 -0.009177
v 0.001838 0.000000 -0.009448
v 0.001014 0.000000 -0.009615
v 0.000154 0.000000 -0.000474
v -0.000234 0.000000 -0.000500
v -0.000606 0.000000 -0.000576
v -0.000958 0.000000 -0.000697
v -0.001287 0.000000 -0.000862
v -0.001590 0.000000 -0.001066
v -0.001864 0.000000 -0.001307
v -0.002104 0.000000 -0.001580
v -0.002309 0.000000 -0.001883
v -0.002473 0.000000 -0.002212
v -0.002595 0.000000 -0.002564
v -0.002670 0.000000 -0.002936
v -0.002696 0.000000 -0.003324
v -0.002670 0.000000 -0.003712
v -0.002595 0.000000 -0.004084
v -0.002473 0.000000 -0.004436
v -0.002309 0.000000 -0.004765
v -0.002104 0.000000 -0.005068
v -0.001864 0.000000 -0.005342
v -0.001590 0.000000 -0.005582
v -0.001287 0.000000 -0.005786
v -0.000958 0.000000 -0.005951
v -0.000606 0.000000 -0.006073
v -0.000234 0.000000 -0.006148
v 0.000154 0.000000 -0.006174
v 0.000542 0.000000 -0.006148
v 0.000914 0.000000 -0.006073
v 0.001266 0.000000 -0.005951
v 0.001596 0.000000 -0.005786
v 0.001899 0.000000 -0.005582
v 0.002172 0.000000 -0.005342
v 0.002413 0.000000 -0.005068
v 0.002617 0.000000 -0.004765
v 0.002782 0.000000 -0.004436
v 0.002903 0.000000 -0.004084
v 0.002979 0.000000 -0.003712
v 0.003005 0.000000 -0.003324
v 0.002979 0.000000 -0.002936
v 0.002903 0.000000 -0.002564
v 0.002782 0.000000 -0.002212
v 0.002617 0.000000 -0.001883
v 0.002413 0.000000 -0.001580
v 0.002172 0.000000 -0.001307
v 0.001899 0.000000 -0.001066
v 0.001596 0.000000 -0.000862
v 0.001266 0.000000 -0.000697
v 0.000914 0.000000 -0.000576
v 0.000542 0.000000 -0.000500
v -0.029000 0.000000 -0.020508
v 0.000154 0.000000 0.030000
v 0.029308 0.000000 -0.020508
v 0.000154 0.000000 0.005677
v -0.001246 0.000000 0.005586
v -0.002605 0.000000 0.005322
v -0.003918 0.000000 0.004901
v -0.005180 0.000000 0.004339
v -0.006386 0.000000 0.003652
v -0.007530 0.000000 0.002855
v -0.008606 0.000000 0.001964
v -0.009611 0.000000 0.000995
v -0.010538 0.000000 -0.000037
v -0.011382 0.000000 -0.001116
v -0.012138 0.000000 -0.002226
v -0.012800 0.000000 -0.003352
v -0.012138 0.000000 -0.004478
v -0.011382 0.000000 -0.005589
v -0.010538 0.000000 -0.006668
v -0.009611 0.000000 -0.007700
v -0.008606 0.000000 -0.008669
v -0.007530 0.000000 -0.009560
v -0.006386 0.000000 -0.010357
v -0.005180 0.000000 -0.011044
v -0.003918 0.000000 -0.011606
v -0.002605 0.000000 -0.012026
v -0.001246 0.000000 -0.012290
v 0.000154 0.000000 -0.012382
v 0.001554 0.000000 -0.012290
v 0.002913 0.000000 -0.012026
v 0.004226 0.000000 -0.011606
v 0.005488 0.000000 -0.011044
v 0.006694 0.000000 -0.010357
v 0.007838 0.000000 -0.009560
v 0.008915 0.000000 -0.008669
v 0.009919 0.000000 -0.007700
v 0.010846 0.000000 -0.006668
v 0.011690 0.000000 -0.005589
v 0.012446 0.000000 -0.004478
v 0.013108 0.000000 -0.003352
v 0.012447 0.000000 -0.002226
v 0.011692 0.000000 -0.001116
v 0.010850 0.000000 -0.000037
v 0.009926 0.000000 0.000995
v 0.008923 0.000000 0.001964
v 0.007848 0.000000 0.002855
v 0.006706 0.000000 0.003652
v 0.005501 0.000000 0.004339
v 0.004238 0.000000 0.004901
v 0.002923 0.000000 0.005322
v 0.001560 0.000000 0.005586
vn -0.0000 1.0000 -0.0000
vt 0.664384 0.000000
vt 0.760274 0.000000
vt 0.657534 0.000000
vt 0.767123 0.000000
vt 0.773973 0.000000
vt 0.780822 0.000000
vt 0.787671 0.000000
vt 0.794521 0.000000
vt 0.801370 0.000000
vt 0.808219 0.000000
vt 0.815068 0.000000
vt 0.821918 0.000000
vt 0.828767 0.000000
vt 0.671233 0.000000
vt 0.835616 0.000000
vt 0.842466 0.000000
vt 0.849315 0.000000
vt 0.856164 0.000000
vt 0.863014 0.000000
vt 0.869863 0.000000
vt 0.876712 0.000000
vt 0.883562 0.000000
vt 0.890411 0.000000
vt 0.897260 0.000000
vt 0.904110 0.000000
vt 0.910959 0.000000
vt 0.917808 0.000000
vt 0.924658 0.000000
vt 0.006849 0.000000
vt 0.321918 0.000000
vt 0.000000 0.000000
vt 0.013699 0.000000
vt 0.315068 0.000000
vt 0.020548 0.000000
vt 0.308219 0.000000
vt 0.027397 0.000000
vt 0.301370 0.000000
vt 0.034247 0.000000
vt 0.294521 0.000000
vt 0.041096 0.000000
vt 0.287671 0.000000
vt 0.047945 0.000000
vt 0.280822 0.000000
vt 0.054795 0.000000
vt 0.273973 0.000000
vt 0.061644 0.000000
vt 0.493151 0.000000
vt 0.267123 0.000000
vt 0.486301 0.000000
vt 0.500000 0.000000
vt 0.479452 0.000000
vt 0.506849 0.000000
vt 0.472603 0.000000
vt 0.513699 0.000000
vt 0.465753 0.000000
vt 0.520548 0.000000
vt 0.068493 0.000000
vt 0.260274 0.000000
vt 0.458904 0.000000
vt 0.527397 0.000000
vt 0.452055 0.000000
vt 0.534247 0.000000
vt 0.445205 0.000000
vt 0.541096 0.000000
vt 0.438356 0.000000
vt 0.547945 0.000000
vt 0.075342 0.000000
vt 0.253425 0.000000
vt 0.431507 0.000000
vt 0.554795 0.000000
vt 0.424658 0.000000
vt 0.561644 0.000000
vt 0.082192 0.000000
vt 0.246575 0.000000
vt 0.417808 0.000000
vt 0.568493 0.000000
vt 0.410959 0.000000
vt 0.575342 0.000000
vt 0.753425 0.000000
vt 0.089041 0.000000
vt 0.239726 0.000000
vt 0.931507 0.000000
vt 0.404110 0.000000
vt 0.582192 0.000000
vt 0.397260 0.000000
vt 0.589041 0.000000
vt 0.390411 0.000000
vt 0.595890 0.000000
vt 0.095890 0.000000
vt 0.232877 0.000000
vt 0.938356 0.000000
vt 0.746575 0.000000
vt 0.383562 0.000000
vt 0.602740 0.000000
vt 0.376712 0.000000
vt 0.609589 0.000000
vt 0.102740 0.000000
vt 0.226027 0.000000
vt 0.369863 0.000000
vt 0.616438 0.000000
vt 0.363014 0.000000
vt 0.623288 0.000000
vt 0.945205 0.000000
vt 0.739726 0.000000
vt 0.356164 0.000000
vt 0.630137 0.000000
vt 0.219178 0.000000
vt 0.109589 0.000000
vt 0.349315 0.000000
vt 0.636986 0.000000
vt 0.342466 0.000000
vt 0.643836 0.000000
vt 0.335616 0.000000
vt 0.650685 0.000000
vt 0.328767 0.000000
vt 0.212329 0.000000
vt 0.116438 0.000000
vt 0.952055 0.000000
vt 0.732877 0.000000
vt 0.205479 0.000000
vt 0.123288 0.000000
vt 0.958904 0.000000
vt 0.726027 0.000000
vt 0.198630 0.000000
vt 0.130137 0.000000
vt 0.191781 0.000000
vt 0.136986 0.000000
vt 0.965753 0.000000
vt 0.719178 0.000000
vt 0.184932 0.000000
vt 0.143836 0.000000
vt 0.178082 0.000000
vt 0.150685 0.000000
vt 0.171233 0.000000
vt 0.157534 0.000000
vt 0.972603 0.000000
vt 0.712329 0.000000
vt 0.164384 0.000000
vt 0.979452 0.000000
vt 0.705479 0.000000
vt 0.986301 0.000000
vt 0.698630 0.000000
vt 0.993151 0.000000
vt 0.691781 0.000000
vt 1.000000 0.000000
vt 0.684932 0.000000
vt 0.678082 0.000000
s 0
usemtl SVGMat
f 98/1/1 112/2/1 97/3/1
f 112/2/1 113/4/1 97/3/1
f 113/4/1 114/5/1 97/3/1
f 114/5/1 115/6/1 97/3/1
f 115/6/1 116/7/1 97/3/1
f 116/7/1 117/8/1 97/3/1
f 117/8/1 118/9/1 97/3/1
f 118/9/1 119/10/1 97/3/1
f 119/10/1 120/11/1 97/3/1
f 120/11/1 121/12/1 97/3/1
f 121/12/1 122/13/1 97/3/1
f 122/13/1 99/14/1 97/3/1
f 122/13/1 123/15/1 99/14/1
f 123/15/1 124/16/1 99/14/1
f 124/16/1 125/17/1 99/14/1
f 125/17/1 126/18/1 99/14/1
f 126/18/1 127/19/1 99/14/1
f 127/19/1 128/20/1 99/14/1
f 128/20/1 129/21/1 99/14/1
f 129/21/1 130/22/1 99/14/1
f 130/22/1 131/23/1 99/14/1
f 131/23/1 132/24/1 99/14/1
f 132/24/1 133/25/1 99/14/1
f 133/25/1 134/26/1 99/14/1
f 134/26/1 135/27/1 99/14/1
f 135/27/1 136/28/1 99/14/1
f 136/28/1 98/1/1 99/14/1
f 2/29/1 48/30/1 1/31/1
f 3/32/1 48/30/1 2/29/1
f 3/32/1 47/33/1 48/30/1
f 4/34/1 47/33/1 3/32/1
f 4/34/1 46/35/1 47/33/1
f 5/36/1 46/35/1 4/34/1
f 5/36/1 45/37/1 46/35/1
f 6/38/1 45/37/1 5/36/1
f 6/38/1 44/39/1 45/37/1
f 7/40/1 44/39/1 6/38/1
f 7/40/1 43/41/1 44/39/1
f 8/42/1 43/41/1 7/40/1
f 8/42/1 42/43/1 43/41/1
f 9/44/1 42/43/1 8/42/1
f 9/44/1 41/45/1 42/43/1
f 10/46/1 41/45/1 9/44/1
f 10/46/1 73/47/1 41/45/1
f 73/47/1 40/48/1 41/45/1
f 10/46/1 72/49/1 73/47/1
f 74/50/1 40/48/1 73/47/1
f 10/46/1 71/51/1 72/49/1
f 75/52/1 40/48/1 74/50/1
f 10/46/1 70/53/1 71/51/1
f 76/54/1 40/48/1 75/52/1
f 10/46/1 69/55/1 70/53/1
f 77/56/1 40/48/1 76/54/1
f 11/57/1 69/55/1 10/46/1
f 77/56/1 39/58/1 40/48/1
f 11/57/1 68/59/1 69/55/1
f 78/60/1 39/58/1 77/56/1
f 11/57/1 67/61/1 68/59/1
f 79/62/1 39/58/1 78/60/1
f 11/57/1 66/63/1 67/61/1
f 80/64/1 39/58/1 79/62/1
f 11/57/1 65/65/1 66/63/1
f 81/66/1 39/58/1 80/64/1
f 12/67/1 65/65/1 11/57/1
f 81/66/1 38/68/1 39/58/1
f 12/67/1 64/69/1 65/65/1
f 82/70/1 38/68/1 81/66/1
f 12/67/1 63/71/1 64/69/1
f 83/72/1 38/68/1 82/70/1
f 13/73/1 63/71/1 12/67/1
f 83/72/1 37/74/1 38/68/1
f 13/73/1 62/75/1 63/71/1
f 84/76/1 37/74/1 83/72/1
f 13/73/1 61/77/1 62/75/1
f 85/78/1 37/74/1 84/76/1
f 98/1/1 111/79/1 112/2/1
f 14/80/1 61/77/1 13/73/1
f 85/78/1 36/81/1 37/74/1
f 137/82/1 98/1/1 136/28/1
f 14/80/1 60/83/1 61/77/1
f 86/84/1 36/81/1 85/78/1
f 14/80/1 59/85/1 60/83/1
f 87/86/1 36/81/1 86/84/1
f 14/80/1 58/87/1 59/85/1
f 88/88/1 36/81/1 87/86/1
f 15/89/1 58/87/1 14/80/1
f 88/88/1 35/90/1 36/81/1
f 138/91/1 98/1/1 137/82/1
f 98/1/1 110/92/1 111/79/1
f 15/89/1 57/93/1 58/87/1
f 89/94/1 35/90/1 88/88/1
f 15/89/1 56/95/1 57/93/1
f 90/96/1 35/90/1 89/94/1
f 16/97/1 56/95/1 15/89/1
f 90/96/1 34/98/1 35/90/1
f 16/97/1 55/99/1 56/95/1
f 91/100/1 34/98/1 90/96/1
f 16/97/1 54/101/1 55/99/1
f 92/102/1 34/98/1 91/100/1
f 139/103/1 98/1/1 138/91/1
f 98/1/1 109/104/1 110/92/1
f 16/97/1 53/105/1 54/101/1
f 93/106/1 34/98/1 92/102/1
f 93/106/1 33/107/1 34/98/1
f 17/108/1 53/105/1 16/97/1
f 17/108/1 52/109/1 53/105/1
f 94/110/1 33/107/1 93/106/1
f 17/108/1 51/111/1 52/109/1
f 95/112/1 33/107/1 94/110/1
f 17/108/1 50/113/1 51/111/1
f 96/114/1 33/107/1 95/112/1
f 17/108/1 49/115/1 50/113/1
f 49/115/1 33/107/1 96/114/1
f 17/108/1 33/107/1 49/115/1
f 17/108/1 32/116/1 33/107/1
f 18/117/1 32/116/1 17/108/1
f 140/118/1 98/1/1 139/103/1
f 98/1/1 108/119/1 109/104/1
f 18/117/1 31/120/1 32/116/1
f 19/121/1 31/120/1 18/117/1
f 141/122/1 98/1/1 140/118/1
f 98/1/1 107/123/1 108/119/1
f 19/121/1 30/124/1 31/120/1
f 20/125/1 30/124/1 19/121/1
f 20/125/1 29/126/1 30/124/1
f 21/127/1 29/126/1 20/125/1
f 142/128/1 98/1/1 141/122/1
f 98/1/1 106/129/1 107/123/1
f 21/127/1 28/130/1 29/126/1
f 22/131/1 28/130/1 21/127/1
f 22/131/1 27/132/1 28/130/1
f 23/133/1 27/132/1 22/131/1
f 23/133/1 26/134/1 27/132/1
f 24/135/1 26/134/1 23/133/1
f 143/136/1 98/1/1 142/128/1
f 98/1/1 105/137/1 106/129/1
f 24/135/1 25/138/1 26/134/1
f 144/139/1 98/1/1 143/136/1
f 98/1/1 104/140/1 105/137/1
f 145/141/1 98/1/1 144/139/1
f 98/1/1 103/142/1 104/140/1
f 146/143/1 98/1/1 145/141/1
f 98/1/1 102/144/1 103/142/1
f 147/145/1 98/1/1 146/143/1
f 98/1/1 101/146/1 102/144/1
f 100/147/1 98/1/1 147/145/1
f 98/1/1 100/147/1 101/146/1

View File

@@ -0,0 +1,27 @@
# Blender 4.0.2
# www.blender.org
mtllib settings_right_border.mtl
o Plane.004
v -0.400000 0.000000 1.000000
v 0.500000 0.000000 0.000000
v -0.400000 0.000000 -1.000000
v -0.500000 0.000000 1.000000
v -0.500000 0.000000 0.000000
v -0.500000 0.000000 -1.000000
v 0.100000 0.000000 1.000000
v 1.000000 0.000000 0.000000
v 0.100000 0.000000 -1.000000
v -0.100000 0.000000 1.000000
v 0.800000 0.000000 0.000000
v -0.100000 0.000000 -1.000000
vn -0.0000 1.0000 -0.0000
vt 0.000000 0.000000
s 0
f 3/1/1 5/1/1 2/1/1
f 1/1/1 5/1/1 4/1/1
f 3/1/1 6/1/1 5/1/1
f 1/1/1 2/1/1 5/1/1
f 9/1/1 11/1/1 8/1/1
f 7/1/1 11/1/1 10/1/1
f 9/1/1 12/1/1 11/1/1
f 7/1/1 8/1/1 11/1/1

View File

@@ -169,8 +169,6 @@ impl App {
}
};
let atom = &mut PropertyAtomicGuard::new();
let mut window = SceneNode3::new("window", SceneNodeType3::Window);
let mut prop = Property::new("screen_size", PropertyType::Float32, PropertySubType::Pixel);
@@ -180,13 +178,26 @@ impl App {
let setting_root = Arc::new(SceneNode3::new("setting", SceneNodeType3::SettingRoot));
let settings_tree = db.open_tree("settings").unwrap();
let settings = PluginSettings {
let settings = Arc::new(PluginSettings {
setting_root: setting_root.clone(),
sled_tree: settings_tree,
};
});
settings.add_setting("scale", PropertyValue::Float32(1.));
settings.load_settings();
// Save app settings in sled when they change
for setting_node in settings.setting_root.get_children().iter() {
let setting_sub = setting_node.get_property("value").unwrap().subscribe_modify();
let settings2 = settings.clone();
let setting_task = self.ex.spawn(async move {
while let Ok(_) = setting_sub.receive().await {
settings2.save_settings();
}
});
self.tasks.lock().unwrap().push(setting_task);
}
let window = window.setup(|me| Window::new(me, self.render_api.clone(), setting_root.clone())).await;
self.sg_root.clone().link(window.clone());

File diff suppressed because it is too large Load Diff

View File

@@ -66,6 +66,7 @@ impl Token {
}
}
#[derive(Clone)]
pub struct Compiler {
table: HashMap<String, Token>,
}

View File

@@ -0,0 +1,40 @@
use crate::{mesh::Color, ui::{VectorShape, ShapeVertex}};
pub fn create_circle(color: Color) -> VectorShape {
VectorShape {
verts: vec![
ShapeVertex::from_xy(0.0, -1.0, color),
ShapeVertex::from_xy(-0.19509, -0.980785, color),
ShapeVertex::from_xy(-0.382683, -0.92388, color),
ShapeVertex::from_xy(-0.55557, -0.83147, color),
ShapeVertex::from_xy(-0.707107, -0.707107, color),
ShapeVertex::from_xy(-0.83147, -0.55557, color),
ShapeVertex::from_xy(-0.92388, -0.382683, color),
ShapeVertex::from_xy(-0.980785, -0.19509, color),
ShapeVertex::from_xy(-1.0, 0.0, color),
ShapeVertex::from_xy(-0.980785, 0.19509, color),
ShapeVertex::from_xy(-0.92388, 0.382683, color),
ShapeVertex::from_xy(-0.83147, 0.55557, color),
ShapeVertex::from_xy(-0.707107, 0.707107, color),
ShapeVertex::from_xy(-0.55557, 0.83147, color),
ShapeVertex::from_xy(-0.382683, 0.92388, color),
ShapeVertex::from_xy(-0.19509, 0.980785, color),
ShapeVertex::from_xy(0.0, 1.0, color),
ShapeVertex::from_xy(0.19509, 0.980785, color),
ShapeVertex::from_xy(0.382683, 0.92388, color),
ShapeVertex::from_xy(0.55557, 0.83147, color),
ShapeVertex::from_xy(0.707107, 0.707107, color),
ShapeVertex::from_xy(0.83147, 0.55557, color),
ShapeVertex::from_xy(0.92388, 0.382683, color),
ShapeVertex::from_xy(0.980785, 0.19509, color),
ShapeVertex::from_xy(1.0, 0.0, color),
ShapeVertex::from_xy(0.980785, -0.19509, color),
ShapeVertex::from_xy(0.92388, -0.382683, color),
ShapeVertex::from_xy(0.83147, -0.55557, color),
ShapeVertex::from_xy(0.707107, -0.707107, color),
ShapeVertex::from_xy(0.55557, -0.83147, color),
ShapeVertex::from_xy(0.382683, -0.92388, color),
ShapeVertex::from_xy(0.19509, -0.980785, color),
],
indices: vec![16, 24, 0, 0, 1, 4, 1, 2, 4, 2, 3, 4, 4, 5, 6, 6, 7, 4, 7, 8, 4, 8, 9, 12, 9, 10, 12, 10, 11, 12, 12, 13, 14, 14, 15, 12, 15, 16, 12, 16, 17, 20, 17, 18, 20, 18, 19, 20, 20, 21, 22, 22, 23, 20, 23, 24, 20, 24, 25, 28, 25, 26, 28, 26, 27, 28, 28, 29, 30, 30, 31, 28, 31, 0, 28, 0, 4, 8, 8, 12, 16, 16, 20, 24, 24, 28, 0, 0, 8, 16]
}
}

155
bin/app/src/shape/logo.rs Normal file
View File

@@ -0,0 +1,155 @@
use crate::{mesh::Color, ui::{VectorShape, ShapeVertex}};
pub fn create_logo(color: Color) -> VectorShape {
VectorShape {
verts: vec![
ShapeVertex::from_xy(0.000154, -0.009673, color),
ShapeVertex::from_xy(-0.000705, -0.009615, color),
ShapeVertex::from_xy(-0.001529, -0.009448, color),
ShapeVertex::from_xy(-0.00231, -0.009177, color),
ShapeVertex::from_xy(-0.00304, -0.008812, color),
ShapeVertex::from_xy(-0.003712, -0.008358, color),
ShapeVertex::from_xy(-0.004319, -0.007825, color),
ShapeVertex::from_xy(-0.004853, -0.007218, color),
ShapeVertex::from_xy(-0.005306, -0.006546, color),
ShapeVertex::from_xy(-0.005672, -0.005816, color),
ShapeVertex::from_xy(-0.005942, -0.005035, color),
ShapeVertex::from_xy(-0.00611, -0.004212, color),
ShapeVertex::from_xy(-0.006168, -0.003352, color),
ShapeVertex::from_xy(-0.00611, -0.002493, color),
ShapeVertex::from_xy(-0.005942, -0.001669, color),
ShapeVertex::from_xy(-0.005672, -0.000889, color),
ShapeVertex::from_xy(-0.005306, -0.000159, color),
ShapeVertex::from_xy(-0.004853, 0.000513, color),
ShapeVertex::from_xy(-0.004319, 0.00112, color),
ShapeVertex::from_xy(-0.003712, 0.001654, color),
ShapeVertex::from_xy(-0.00304, 0.002107, color),
ShapeVertex::from_xy(-0.00231, 0.002473, color),
ShapeVertex::from_xy(-0.001529, 0.002743, color),
ShapeVertex::from_xy(-0.000705, 0.002911, color),
ShapeVertex::from_xy(0.000154, 0.002968, color),
ShapeVertex::from_xy(0.001014, 0.002911, color),
ShapeVertex::from_xy(0.001838, 0.002743, color),
ShapeVertex::from_xy(0.002618, 0.002473, color),
ShapeVertex::from_xy(0.003349, 0.002107, color),
ShapeVertex::from_xy(0.004021, 0.001654, color),
ShapeVertex::from_xy(0.004627, 0.00112, color),
ShapeVertex::from_xy(0.005161, 0.000513, color),
ShapeVertex::from_xy(0.005615, -0.000159, color),
ShapeVertex::from_xy(0.00598, -0.000889, color),
ShapeVertex::from_xy(0.006251, -0.001669, color),
ShapeVertex::from_xy(0.006419, -0.002493, color),
ShapeVertex::from_xy(0.006476, -0.003352, color),
ShapeVertex::from_xy(0.006419, -0.004212, color),
ShapeVertex::from_xy(0.006251, -0.005035, color),
ShapeVertex::from_xy(0.00598, -0.005816, color),
ShapeVertex::from_xy(0.005615, -0.006546, color),
ShapeVertex::from_xy(0.005161, -0.007218, color),
ShapeVertex::from_xy(0.004627, -0.007825, color),
ShapeVertex::from_xy(0.004021, -0.008358, color),
ShapeVertex::from_xy(0.003349, -0.008812, color),
ShapeVertex::from_xy(0.002618, -0.009177, color),
ShapeVertex::from_xy(0.001838, -0.009448, color),
ShapeVertex::from_xy(0.001014, -0.009615, color),
ShapeVertex::from_xy(0.000154, -0.000474, color),
ShapeVertex::from_xy(-0.000234, -0.0005, color),
ShapeVertex::from_xy(-0.000606, -0.000576, color),
ShapeVertex::from_xy(-0.000958, -0.000697, color),
ShapeVertex::from_xy(-0.001287, -0.000862, color),
ShapeVertex::from_xy(-0.00159, -0.001066, color),
ShapeVertex::from_xy(-0.001864, -0.001307, color),
ShapeVertex::from_xy(-0.002104, -0.00158, color),
ShapeVertex::from_xy(-0.002309, -0.001883, color),
ShapeVertex::from_xy(-0.002473, -0.002212, color),
ShapeVertex::from_xy(-0.002595, -0.002564, color),
ShapeVertex::from_xy(-0.00267, -0.002936, color),
ShapeVertex::from_xy(-0.002696, -0.003324, color),
ShapeVertex::from_xy(-0.00267, -0.003712, color),
ShapeVertex::from_xy(-0.002595, -0.004084, color),
ShapeVertex::from_xy(-0.002473, -0.004436, color),
ShapeVertex::from_xy(-0.002309, -0.004765, color),
ShapeVertex::from_xy(-0.002104, -0.005068, color),
ShapeVertex::from_xy(-0.001864, -0.005342, color),
ShapeVertex::from_xy(-0.00159, -0.005582, color),
ShapeVertex::from_xy(-0.001287, -0.005786, color),
ShapeVertex::from_xy(-0.000958, -0.005951, color),
ShapeVertex::from_xy(-0.000606, -0.006073, color),
ShapeVertex::from_xy(-0.000234, -0.006148, color),
ShapeVertex::from_xy(0.000154, -0.006174, color),
ShapeVertex::from_xy(0.000542, -0.006148, color),
ShapeVertex::from_xy(0.000914, -0.006073, color),
ShapeVertex::from_xy(0.001266, -0.005951, color),
ShapeVertex::from_xy(0.001596, -0.005786, color),
ShapeVertex::from_xy(0.001899, -0.005582, color),
ShapeVertex::from_xy(0.002172, -0.005342, color),
ShapeVertex::from_xy(0.002413, -0.005068, color),
ShapeVertex::from_xy(0.002617, -0.004765, color),
ShapeVertex::from_xy(0.002782, -0.004436, color),
ShapeVertex::from_xy(0.002903, -0.004084, color),
ShapeVertex::from_xy(0.002979, -0.003712, color),
ShapeVertex::from_xy(0.003005, -0.003324, color),
ShapeVertex::from_xy(0.002979, -0.002936, color),
ShapeVertex::from_xy(0.002903, -0.002564, color),
ShapeVertex::from_xy(0.002782, -0.002212, color),
ShapeVertex::from_xy(0.002617, -0.001883, color),
ShapeVertex::from_xy(0.002413, -0.00158, color),
ShapeVertex::from_xy(0.002172, -0.001307, color),
ShapeVertex::from_xy(0.001899, -0.001066, color),
ShapeVertex::from_xy(0.001596, -0.000862, color),
ShapeVertex::from_xy(0.001266, -0.000697, color),
ShapeVertex::from_xy(0.000914, -0.000576, color),
ShapeVertex::from_xy(0.000542, -0.0005, color),
ShapeVertex::from_xy(-0.029, -0.020508, color),
ShapeVertex::from_xy(0.000154, 0.03, color),
ShapeVertex::from_xy(0.029308, -0.020508, color),
ShapeVertex::from_xy(0.000154, 0.005677, color),
ShapeVertex::from_xy(-0.001246, 0.005586, color),
ShapeVertex::from_xy(-0.002605, 0.005322, color),
ShapeVertex::from_xy(-0.003918, 0.004901, color),
ShapeVertex::from_xy(-0.00518, 0.004339, color),
ShapeVertex::from_xy(-0.006386, 0.003652, color),
ShapeVertex::from_xy(-0.00753, 0.002855, color),
ShapeVertex::from_xy(-0.008606, 0.001964, color),
ShapeVertex::from_xy(-0.009611, 0.000995, color),
ShapeVertex::from_xy(-0.010538, -3.7e-05, color),
ShapeVertex::from_xy(-0.011382, -0.001116, color),
ShapeVertex::from_xy(-0.012138, -0.002226, color),
ShapeVertex::from_xy(-0.0128, -0.003352, color),
ShapeVertex::from_xy(-0.012138, -0.004478, color),
ShapeVertex::from_xy(-0.011382, -0.005589, color),
ShapeVertex::from_xy(-0.010538, -0.006668, color),
ShapeVertex::from_xy(-0.009611, -0.0077, color),
ShapeVertex::from_xy(-0.008606, -0.008669, color),
ShapeVertex::from_xy(-0.00753, -0.00956, color),
ShapeVertex::from_xy(-0.006386, -0.010357, color),
ShapeVertex::from_xy(-0.00518, -0.011044, color),
ShapeVertex::from_xy(-0.003918, -0.011606, color),
ShapeVertex::from_xy(-0.002605, -0.012026, color),
ShapeVertex::from_xy(-0.001246, -0.01229, color),
ShapeVertex::from_xy(0.000154, -0.012382, color),
ShapeVertex::from_xy(0.001554, -0.01229, color),
ShapeVertex::from_xy(0.002913, -0.012026, color),
ShapeVertex::from_xy(0.004226, -0.011606, color),
ShapeVertex::from_xy(0.005488, -0.011044, color),
ShapeVertex::from_xy(0.006694, -0.010357, color),
ShapeVertex::from_xy(0.007838, -0.00956, color),
ShapeVertex::from_xy(0.008915, -0.008669, color),
ShapeVertex::from_xy(0.009919, -0.0077, color),
ShapeVertex::from_xy(0.010846, -0.006668, color),
ShapeVertex::from_xy(0.01169, -0.005589, color),
ShapeVertex::from_xy(0.012446, -0.004478, color),
ShapeVertex::from_xy(0.013108, -0.003352, color),
ShapeVertex::from_xy(0.012447, -0.002226, color),
ShapeVertex::from_xy(0.011692, -0.001116, color),
ShapeVertex::from_xy(0.01085, -3.7e-05, color),
ShapeVertex::from_xy(0.009926, 0.000995, color),
ShapeVertex::from_xy(0.008923, 0.001964, color),
ShapeVertex::from_xy(0.007848, 0.002855, color),
ShapeVertex::from_xy(0.006706, 0.003652, color),
ShapeVertex::from_xy(0.005501, 0.004339, color),
ShapeVertex::from_xy(0.004238, 0.004901, color),
ShapeVertex::from_xy(0.002923, 0.005322, color),
ShapeVertex::from_xy(0.00156, 0.005586, color),
],
indices: vec![97, 111, 96, 111, 112, 96, 112, 113, 96, 113, 114, 96, 114, 115, 96, 115, 116, 96, 116, 117, 96, 117, 118, 96, 118, 119, 96, 119, 120, 96, 120, 121, 96, 121, 98, 96, 121, 122, 98, 122, 123, 98, 123, 124, 98, 124, 125, 98, 125, 126, 98, 126, 127, 98, 127, 128, 98, 128, 129, 98, 129, 130, 98, 130, 131, 98, 131, 132, 98, 132, 133, 98, 133, 134, 98, 134, 135, 98, 135, 97, 98, 1, 47, 0, 2, 47, 1, 2, 46, 47, 3, 46, 2, 3, 45, 46, 4, 45, 3, 4, 44, 45, 5, 44, 4, 5, 43, 44, 6, 43, 5, 6, 42, 43, 7, 42, 6, 7, 41, 42, 8, 41, 7, 8, 40, 41, 9, 40, 8, 9, 72, 40, 72, 39, 40, 9, 71, 72, 73, 39, 72, 9, 70, 71, 74, 39, 73, 9, 69, 70, 75, 39, 74, 9, 68, 69, 76, 39, 75, 10, 68, 9, 76, 38, 39, 10, 67, 68, 77, 38, 76, 10, 66, 67, 78, 38, 77, 10, 65, 66, 79, 38, 78, 10, 64, 65, 80, 38, 79, 11, 64, 10, 80, 37, 38, 11, 63, 64, 81, 37, 80, 11, 62, 63, 82, 37, 81, 12, 62, 11, 82, 36, 37, 12, 61, 62, 83, 36, 82, 12, 60, 61, 84, 36, 83, 97, 110, 111, 13, 60, 12, 84, 35, 36, 136, 97, 135, 13, 59, 60, 85, 35, 84, 13, 58, 59, 86, 35, 85, 13, 57, 58, 87, 35, 86, 14, 57, 13, 87, 34, 35, 137, 97, 136, 97, 109, 110, 14, 56, 57, 88, 34, 87, 14, 55, 56, 89, 34, 88, 15, 55, 14, 89, 33, 34, 15, 54, 55, 90, 33, 89, 15, 53, 54, 91, 33, 90, 138, 97, 137, 97, 108, 109, 15, 52, 53, 92, 33, 91, 92, 32, 33, 16, 52, 15, 16, 51, 52, 93, 32, 92, 16, 50, 51, 94, 32, 93, 16, 49, 50, 95, 32, 94, 16, 48, 49, 48, 32, 95, 16, 32, 48, 16, 31, 32, 17, 31, 16, 139, 97, 138, 97, 107, 108, 17, 30, 31, 18, 30, 17, 140, 97, 139, 97, 106, 107, 18, 29, 30, 19, 29, 18, 19, 28, 29, 20, 28, 19, 141, 97, 140, 97, 105, 106, 20, 27, 28, 21, 27, 20, 21, 26, 27, 22, 26, 21, 22, 25, 26, 23, 25, 22, 142, 97, 141, 97, 104, 105, 23, 24, 25, 143, 97, 142, 97, 103, 104, 144, 97, 143, 97, 102, 103, 145, 97, 144, 97, 101, 102, 146, 97, 145, 97, 100, 101, 99, 97, 146, 97, 99, 100]
}
}

View File

@@ -44,3 +44,9 @@ pub use switch::create_switch;
mod confirm;
pub use confirm::create_confirm;
mod circle;
pub use circle::create_circle;
mod logo;
pub use logo::create_logo;