add e-fprint-gui to e

Summary:
add e-fprint-gui to e

e-fprint-gui is a frontend for fprint (Fingerprint Config)
you can enroll/delete/verfiy fingerprints.

http://www.enlightenment.org/ss/display.php?image=e-6180733de57892.39469053.jpg

Reviewers: devilhorns, raster, bu5hm4n, morlenxus

Subscribers: cedric, zmike

Tags: #enlightenment-git

Differential Revision: https://phab.enlightenment.org/D12305
pull/1/head
Simon Tischer 11 months ago committed by Carsten Haitzler (Rasterman)
parent 1b02c4c6ab
commit 60eb60aa75
  1. 2
      src/bin/tools/fprint/AUTHORS
  2. 11
      src/bin/tools/fprint/data/desktop/enlightenment_fprint.desktop
  3. BIN
      src/bin/tools/fprint/data/desktop/enlightenment_fprint.png
  4. 6
      src/bin/tools/fprint/data/desktop/meson.build
  5. 204
      src/bin/tools/fprint/data/desktop/orig/enlightenment_fprint.svg
  6. 2
      src/bin/tools/fprint/data/meson.build
  7. 855
      src/bin/tools/fprint/data/themes/enlightenment_fprint.edc
  8. BIN
      src/bin/tools/fprint/data/themes/images/1_0-140.png
  9. BIN
      src/bin/tools/fprint/data/themes/images/1_0-280.png
  10. BIN
      src/bin/tools/fprint/data/themes/images/1_0-560.png
  11. BIN
      src/bin/tools/fprint/data/themes/images/1_1-140.png
  12. BIN
      src/bin/tools/fprint/data/themes/images/1_1-280.png
  13. BIN
      src/bin/tools/fprint/data/themes/images/1_1-560.png
  14. BIN
      src/bin/tools/fprint/data/themes/images/1_1_failed-140.png
  15. BIN
      src/bin/tools/fprint/data/themes/images/1_1_failed-280.png
  16. BIN
      src/bin/tools/fprint/data/themes/images/1_1_failed-560.png
  17. BIN
      src/bin/tools/fprint/data/themes/images/1_2-140.png
  18. BIN
      src/bin/tools/fprint/data/themes/images/1_2-280.png
  19. BIN
      src/bin/tools/fprint/data/themes/images/1_2-560.png
  20. BIN
      src/bin/tools/fprint/data/themes/images/1_2_failed-140.png
  21. BIN
      src/bin/tools/fprint/data/themes/images/1_2_failed-280.png
  22. BIN
      src/bin/tools/fprint/data/themes/images/1_2_failed-560.png
  23. BIN
      src/bin/tools/fprint/data/themes/images/1_3-140.png
  24. BIN
      src/bin/tools/fprint/data/themes/images/1_3-280.png
  25. BIN
      src/bin/tools/fprint/data/themes/images/1_3-560.png
  26. BIN
      src/bin/tools/fprint/data/themes/images/1_3_failed-140.png
  27. BIN
      src/bin/tools/fprint/data/themes/images/1_3_failed-280.png
  28. BIN
      src/bin/tools/fprint/data/themes/images/1_3_failed-560.png
  29. BIN
      src/bin/tools/fprint/data/themes/images/1_4-140.png
  30. BIN
      src/bin/tools/fprint/data/themes/images/1_4-280.png
  31. BIN
      src/bin/tools/fprint/data/themes/images/1_4-560.png
  32. BIN
      src/bin/tools/fprint/data/themes/images/1_4_failed-140.png
  33. BIN
      src/bin/tools/fprint/data/themes/images/1_4_failed-280.png
  34. BIN
      src/bin/tools/fprint/data/themes/images/1_4_failed-560.png
  35. BIN
      src/bin/tools/fprint/data/themes/images/1_5-140.png
  36. BIN
      src/bin/tools/fprint/data/themes/images/1_5-280.png
  37. BIN
      src/bin/tools/fprint/data/themes/images/1_5-560.png
  38. BIN
      src/bin/tools/fprint/data/themes/images/1_5_failed-140.png
  39. BIN
      src/bin/tools/fprint/data/themes/images/1_5_failed-280.png
  40. BIN
      src/bin/tools/fprint/data/themes/images/1_5_failed-560.png
  41. BIN
      src/bin/tools/fprint/data/themes/images/fingerprint_icon-040.png
  42. BIN
      src/bin/tools/fprint/data/themes/images/fingerprint_icon-080.png
  43. BIN
      src/bin/tools/fprint/data/themes/images/fingerprint_icon-160.png
  44. BIN
      src/bin/tools/fprint/data/themes/images/hands.png
  45. BIN
      src/bin/tools/fprint/data/themes/images/left_hand.png
  46. 204
      src/bin/tools/fprint/data/themes/images/orig/1_0.svg
  47. 120
      src/bin/tools/fprint/data/themes/images/orig/1_1.svg
  48. 107
      src/bin/tools/fprint/data/themes/images/orig/1_1_failed.svg
  49. 146
      src/bin/tools/fprint/data/themes/images/orig/1_2.svg
  50. 107
      src/bin/tools/fprint/data/themes/images/orig/1_2_failed.svg
  51. 172
      src/bin/tools/fprint/data/themes/images/orig/1_3.svg
  52. 107
      src/bin/tools/fprint/data/themes/images/orig/1_3_failed.svg
  53. 198
      src/bin/tools/fprint/data/themes/images/orig/1_4.svg
  54. 107
      src/bin/tools/fprint/data/themes/images/orig/1_4_failed.svg
  55. 204
      src/bin/tools/fprint/data/themes/images/orig/1_5.svg
  56. 87
      src/bin/tools/fprint/data/themes/images/orig/1_5_failed.svg
  57. 204
      src/bin/tools/fprint/data/themes/images/orig/fingerprint_icon.svg
  58. BIN
      src/bin/tools/fprint/data/themes/images/right_hand.png
  59. 12
      src/bin/tools/fprint/data/themes/meson.build
  60. 112
      src/bin/tools/fprint/meson.build
  61. 644
      src/bin/tools/fprint/src/device.xml
  62. 1312
      src/bin/tools/fprint/src/enlightenment_fprint.c
  63. 47
      src/bin/tools/fprint/src/manager.xml
  64. 27
      src/bin/tools/fprint/src/meson.build
  65. 1
      src/bin/tools/meson.build

@ -0,0 +1,2 @@
Simon "jf_simon" Tischer simon@t-tischer.de
Marcel "bu5hm4n" Hollerbach

@ -0,0 +1,11 @@
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Fingerprint Password Settings
Name[de]=Fingerprint Passwort Einstellungen
Icon=enlightenment_fprint
Exec=enlightenment_fprint
Comment=Tool to set up or modify fingerprint authentication
GenericName=GUI for Fingerprint Authentication
Categories=Settings;DesktopSettings;
StartupWMClass=enlightenment_fprint

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@ -0,0 +1,6 @@
install_data('enlightenment_fprint.desktop',
install_dir: join_paths(dir_data, 'applications')
)
install_data('enlightenment_fprint.png',
install_dir: join_paths(dir_data, 'icons/hicolor/128x128/apps')
)

@ -0,0 +1,204 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
id="svg2"
width="300"
height="300"
viewBox="0 0 300 300"
sodipodi:docname="e-fprint-gui.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
inkscape:export-filename="/home/raster/C/th-efl/th/img/ic/fingerprint-040.png"
inkscape:export-xdpi="48"
inkscape:export-ydpi="48"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6">
<mask
maskUnits="userSpaceOnUse"
id="mask947">
<rect
style="opacity:1;fill:#a0a0a0;fill-opacity:1;stroke-width:3.96122;stroke-linecap:round;stroke-linejoin:round"
id="rect949"
width="60"
height="40"
x="10"
y="5" />
</mask>
</defs>
<sodipodi:namedview
inkscape:document-rotation="0"
pagecolor="#404040"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1377"
id="namedview4"
showgrid="true"
inkscape:zoom="1.0171875"
inkscape:cx="-224.63902"
inkscape:cy="-27.03533"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g10"
showguides="false"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:snap-others="false"
inkscape:snap-nodes="true"
inkscape:pagecheckerboard="0">
<inkscape:grid
type="xygrid"
id="grid837" />
</sodipodi:namedview>
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g10">
<circle
r="137.70493"
cy="149.5"
cx="149.5"
id="path5067"
style="opacity:1;fill:none;fill-opacity:1;stroke:#d6a16a;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 167.74799,163.41944 a 22.950819,22.950819 0 0 1 -29.67145,5.98646 22.950819,22.950819 0 0 1 -9.80104,-28.63865 22.950819,22.950819 0 0 1 27.11768,-13.44856"
sodipodi:arc-type="arc"
sodipodi:open="true"
sodipodi:end="4.9720722"
sodipodi:start="0.65163863"
sodipodi:ry="22.950819"
sodipodi:rx="22.950819"
sodipodi:cy="149.5"
sodipodi:cx="149.5"
sodipodi:type="arc"
id="path5069"
style="opacity:1;fill:none;fill-opacity:1;stroke:#ddc8a4;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="opacity:1;fill:none;fill-opacity:1;stroke:#a0a0a0;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5071"
sodipodi:type="arc"
sodipodi:cx="149.5"
sodipodi:cy="149.5"
sodipodi:rx="45.901638"
sodipodi:ry="45.901638"
sodipodi:start="2.6954195"
sodipodi:end="5.9000004"
sodipodi:open="true"
sodipodi:arc-type="arc"
d="m 108.0919,169.30731 a 45.901638,45.901638 0 0 1 4.10371,-46.5532 45.901638,45.901638 0 0 1 42.77284,-18.82884 45.901638,45.901638 0 0 1 37.10434,28.4132" />
<path
d="M 218.20943,153.9357 A 68.852463,68.852463 0 0 1 168.52477,215.6719 68.852463,68.852463 0 0 1 93.638113,189.75061 68.852463,68.852463 0 0 1 92.751343,110.5096"
sodipodi:arc-type="arc"
sodipodi:open="true"
sodipodi:end="3.7435892"
sodipodi:start="0.064467936"
sodipodi:ry="68.852463"
sodipodi:rx="68.852463"
sodipodi:cy="149.5"
sodipodi:cx="149.5"
sodipodi:type="arc"
id="path5073"
style="opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:open="true"
style="opacity:1;fill:none;fill-opacity:1;stroke:#b88c88;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5075"
sodipodi:type="arc"
sodipodi:cx="149.5"
sodipodi:cy="149.5"
sodipodi:rx="91.803276"
sodipodi:ry="91.803276"
sodipodi:start="1.4555675"
sodipodi:end="4.4180899"
sodipodi:arc-type="arc"
d="M 160.05499,240.69448 A 91.803276,91.803276 0 0 1 59.614585,168.16692 91.803276,91.803276 0 0 1 122.8707,61.643742" />
<path
d="M 174.57024,37.517921 A 114.7541,114.7541 0 0 1 263.79781,159.72324 114.7541,114.7541 0 0 1 154.29906,264.1537 114.7541,114.7541 0 0 1 36.456328,169.23907"
sodipodi:arc-type="arc"
sodipodi:open="true"
sodipodi:end="2.968721"
sodipodi:start="4.9326345"
sodipodi:ry="114.7541"
sodipodi:rx="114.7541"
sodipodi:cy="149.5"
sodipodi:cx="149.5"
sodipodi:type="arc"
id="path5077"
style="opacity:1;fill:none;fill-opacity:1;stroke:#eb9422;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 185.86798,177.5059 a 45.901638,45.901638 0 0 1 -43.60287,17.32198"
sodipodi:arc-type="arc"
sodipodi:open="true"
sodipodi:end="1.7290736"
sodipodi:start="0.65622285"
sodipodi:ry="45.901638"
sodipodi:rx="45.901638"
sodipodi:cy="149.5"
sodipodi:cx="149.5"
sodipodi:type="arc"
id="path5079"
style="opacity:1;fill:none;fill-opacity:1;stroke:#a0a0a0;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5081"
sodipodi:type="arc"
sodipodi:cx="149.5"
sodipodi:cy="149.5"
sodipodi:rx="68.852463"
sodipodi:ry="68.852463"
sodipodi:start="4.9434339"
sodipodi:end="5.6642139"
sodipodi:open="true"
sodipodi:arc-type="arc"
d="m 165.26686,82.477109 a 68.852463,68.852463 0 0 1 40.3118,27.074851" />
<path
d="M 206.44965,77.495984 A 91.803276,91.803276 0 0 1 230.78503,192.16832"
sodipodi:arc-type="arc"
sodipodi:end="0.48338606"
sodipodi:start="5.3815708"
sodipodi:ry="91.803276"
sodipodi:rx="91.803276"
sodipodi:cy="149.5"
sodipodi:cx="149.5"
sodipodi:type="arc"
id="path5083"
style="opacity:1;fill:none;fill-opacity:1;stroke:#b88c88;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:open="true" />
<path
style="opacity:1;fill:none;fill-opacity:1;stroke:#eb9422;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5085"
sodipodi:type="arc"
sodipodi:cx="149.5"
sodipodi:cy="149.5"
sodipodi:rx="114.7541"
sodipodi:ry="114.7541"
sodipodi:start="3.7973554"
sodipodi:end="4.1880314"
sodipodi:open="true"
sodipodi:arc-type="arc"
d="M 58.547846,79.527087 A 114.7541,114.7541 0 0 1 92.047558,50.163603" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.9 KiB

@ -0,0 +1,2 @@
subdir('desktop')
subdir('themes')

@ -0,0 +1,855 @@
images {
image: "hands.png" COMP;
image: "left_hand.png" COMP;
image: "right_hand.png" COMP;
image: "fingerprint_icon-160.png" COMP;
set { name: "fingerprint_icon";
image { image: "fingerprint_icon-160.png" COMP; size: 81 81 16000 16000; }
image { image: "fingerprint_icon-080.png" COMP; size: 41 41 80 80; }
image { image: "fingerprint_icon-040.png" COMP; size: 0 0 40 40; }
}
#define IM140(_name) \
set { name: _name; \
image { image: _name"-560.png" COMP; size: 281 281 16000 16000; } \
image { image: _name"-280.png" COMP; size: 141 141 280 280; } \
image { image: _name"-140.png" COMP; size: 0 0 140 140; } \
}
IM140("1_0")
IM140("1_1")
IM140("1_1_failed")
IM140("1_2")
IM140("1_2_failed")
IM140("1_3")
IM140("1_3_failed")
IM140("1_4")
IM140("1_4_failed")
IM140("1_5")
IM140("1_5_failed")
}
collections {
base_scale: 1.0;
group { "hands";
parts {
// LEFT HAND
image { "hands";
scale: 1;
desc { "default";
min: 650 400;
max: 650 400;
image.normal: "hands.png";
color_class: ":fg";
}
}
image { "left-little-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "hands";
rel1.relative: (35/609) (125/375);
rel2.relative: (35/609) (125/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_left-little-finger";
desc { "default";
rel.to: "left-little-finger";
}
}
image { "left-ring-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "hands";
rel1.relative: (92/609) (82/375);
rel2.relative: (92/609) (82/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_left-ring-finger";
desc { "default";
rel.to: "left-ring-finger";
}
}
image { "left-middle-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "hands";
rel1.relative: (150/609) (51/375);
rel2.relative: (150/609) (51/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_left-middle-finger";
desc { "default";
rel.to: "left-middle-finger";
}
}
image { "left-index-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "hands";
rel1.relative: (208/609) (75/375);
rel2.relative: (208/609) (75/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_left-index-finger";
desc { "default";
rel.to: "left-index-finger";
}
}
image { "left-thumb";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "hands";
rel1.relative: (265/609) (209/375);
rel2.relative: (265/609) (209/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_left-thumb";
desc { "default";
rel.to: "left-thumb";
}
}
// RIGHT HAND
image { "right-little-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "hands";
rel1.relative: (341/609) (209/375);
rel2.relative: (341/609) (209/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_right-little-finger";
desc { "default";
rel.to: "right-little-finger";
}
}
image { "right-ring-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "hands";
rel1.relative: (399/609) (75/375);
rel2.relative: (399/609) (75/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_right-ring-finger";
desc { "default";
rel.to: "right-ring-finger";
}
}
image { "right-middle-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "hands";
rel1.relative: (458/609) (51/375);
rel2.relative: (458/609) (51/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_right-middle-finger";
desc { "default";
rel.to: "right-middle-finger";
}
}
image { "right-index-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "hands";
rel1.relative: (515/609) (82/375);
rel2.relative: (515/609) (82/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_right-index-finger";
desc { "default";
rel.to: "right-index-finger";
}
}
image { "right-thumb";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "hands";
rel1.relative: (572/609) (125/375);
rel2.relative: (572/609) (125/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_right-thumb";
desc { "default";
rel.to: "right-thumb";
}
}
}
programs {
program { signal: "enrolled_finger"; source: "*";
script {
set_state(get_part_id(src), "enrolled", 0.0);
}
}
program { signal: "reset_finger"; source: "reset_finger";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.2;
target: "left-little-finger";
target: "left-ring-finger";
target: "left-middle-finger";
target: "left-index-finger";
target: "left-thumb";
target: "right-little-finger";
target: "right-ring-finger";
target: "right-middle-finger";
target: "right-index-finger";
target: "right-thumb";
}
}
}
group { "right_hand";
parts {
image { "right_hand";
scale: 1;
desc { "default";
min: 650 400;
max: 650 400;
image.normal: "right_hand.png";
color_class: ":fg";
}
}
image { "right-little-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "right_hand";
rel1.relative: (422/609) (125/375);
rel2.relative: (422/609) (125/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_right-little-finger";
desc { "default";
rel.to: "right-little-finger";
}
}
image { "right-ring-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "right_hand";
rel1.relative: (365/609) (82/375);
rel2.relative: (365/609) (82/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_right-ring-finger";
desc { "default";
rel.to: "right-ring-finger";
}
}
image { "right-middle-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "right_hand";
rel1.relative: (307/609) (51/375);
rel2.relative: (307/609) (51/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_right-middle-finger";
desc { "default";
rel.to: "right-middle-finger";
}
}
image { "right-index-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "right_hand";
rel1.relative: (250/609) (75/375);
rel2.relative: (250/609) (75/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_right-index-finger";
desc { "default";
rel.to: "right-index-finger";
}
}
image { "right-thumb";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "right_hand";
rel1.relative: (192/609) (209/375);
rel2.relative: (192/609) (209/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_right-thumb";
desc { "default";
rel.to: "right-thumb";
}
}
// LIST SWALLOW
swallow {"swallow_hand_switch";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
rel1.to_y: "right_hand";
rel1.relative: 0.6 0.0;
}
}
}
programs {
program { signal: "enrolled_finger"; source: "*";
script {
set_state(get_part_id(src), "enrolled", 0.0);
}
}
program { signal: "reset_finger"; source: "reset_finger";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.2;
target: "right-little-finger";
target: "right-ring-finger";
target: "right-middle-finger";
target: "right-index-finger";
target: "right-thumb";
}
}
}
group { "left_hand";
parts {
image { "left_hand";
scale: 1;
desc { "default";
min: 650 400;
max: 650 400;
image.normal: "left_hand.png";
color_class: ":fg";
}
}
image { "left-little-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "left_hand";
rel1.relative: (186/609) (125/375);
rel2.relative: (186/609) (125/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_left-little-finger";
desc { "default";
rel.to: "left-little-finger";
}
}
image { "left-ring-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "left_hand";
rel1.relative: (243/609) (82/375);
rel2.relative: (243/609) (82/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_left-ring-finger";
desc { "default";
rel.to: "left-ring-finger";
}
}
image { "left-middle-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "left_hand";
rel1.relative: (300/609) (51/375);
rel2.relative: (300/609) (51/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_left-middle-finger";
desc { "default";
rel.to: "left-middle-finger";
}
}
image { "left-index-finger";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "left_hand";
rel1.relative: (358/609) (75/375);
rel2.relative: (358/609) (75/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_left-index-finger";
desc { "default";
rel.to: "left-index-finger";
}
}
image { "left-thumb";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
image.normal: "fingerprint_icon";
rel.to: "left_hand";
rel1.relative: (416/609) (209/375);
rel2.relative: (416/609) (209/375);
color_class: ":bg-light";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_left-thumb";
desc { "default";
rel.to: "left-thumb";
}
}
// LIST SWALLOW
swallow {"swallow_hand_switch";
scale: 1;
desc { "default";
min: 40 40;
max: 40 40;
rel1.to_y: "left_hand";
rel1.relative: 0.6 0.0;
}
}
}
programs {
program { signal: "enrolled_finger"; source: "*";
script {
set_state(get_part_id(src), "enrolled", 0.0);
}
}
program { signal: "reset_finger"; source: "reset_finger";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.2;
target: "left-little-finger";
target: "left-ring-finger";
target: "left-middle-finger";
target: "left-index-finger";
target: "left-thumb";
}
}
}
group { "finger";
parts {
swallow {"swallow_select-finger-left";
scale: 1;
desc { "default";
align: 0 0.5;
min: 140 140;
max: 140 140;
}
}
image { "fingerprint_icon";
scale: 1;
desc { "default";
align: 0.0 0.0;
min: 200 200;
max: 200 200;
image.normal: "1_0";
rel1.to_x: "swallow_select-finger-left";
rel1.relative: 1.0 0.0;
color_class: ":fg";
}
desc { "enrolled";
inherit: "default";
color_class: ":success";
}
}
swallow {"swallow_select-finger";
scale: 1;
desc { "default";
align: 0.0 0.0;
min: 200 200;
max: 200 200;
rel1.to_x: "swallow_select-finger-left";
rel1.relative: 1.0 0.0;
}
}
swallow {"swallow_select-finger-right";
scale: 1;
desc { "default";
align: 1.0 0.5;
min: 140 140;
max: 140 140;
rel1.to_x: "fingerprint_icon";
rel1.relative: 1.0 0.0;
}
}
}
programs {
program { signal: "enrolled_finger"; source: "enrolled_finger";
script {
set_state(get_part_id("fingerprint_icon"), "enrolled", 0.0);
}
}
program { signal: "not_enrolled_finger"; source: "not_enrolled_finger";
script {
set_state(get_part_id("fingerprint_icon"), "default", 0.0);
}
}
}
}
group { "enroll";
parts {
image { "0";
scale: 1;
desc { "default";
min: 140 140;
max: 140 140;
image.normal: "1_0";
color_class: ":fg";
}
desc { "failed";
inherit: "default";
color_class: ":success";
}
}
image { "1";
scale: 1;
desc { "default";
min: 140 140;
max: 140 140;
visible: 0;
image.normal: "1_1";
color_class: ":fg";
}
desc { "success";
inherit: "default";
visible: 1;
color_class: ":success";
}
desc { "failed";
inherit: "default";
visible: 1;
image.normal: "1_1_failed";
color_class: ":selected-alt";
}
}
image { "2";
scale: 1;
desc { "default";
min: 140 140;
max: 140 140;
visible: 0;
image.normal: "1_2";
color_class: ":fg";
}
desc { "success";
inherit: "default";
visible: 1;
color_class: ":success";
}
desc { "failed";
inherit: "default";
visible: 1;
image.normal: "1_2_failed";
color_class: ":selected-alt";
}
}
image { "3";
scale: 1;
desc { "default";
min: 140 140;
max: 140 140;
visible: 0;
image.normal: "1_3";
color_class: ":fg";
}
desc { "success";
inherit: "default";
visible: 1;
color_class: ":success";
}
desc { "failed";
inherit: "default";
visible: 1;
image.normal: "1_3_failed";
color_class: ":selected-alt";
}
}
image { "4";
scale: 1;
desc { "default";
min: 140 140;
max: 140 140;
visible: 0;
image.normal: "1_4";
color_class: ":fg";
}
desc { "success";
inherit: "default";
visible: 1;
color_class: ":success";
}
desc { "failed";
inherit: "default";
visible: 1;
image.normal: "1_4_failed";
color_class: ":selected-alt";
}
}
image { "5";
scale: 1;
desc { "default";
min: 140 140;
max: 140 140;
visible: 0;
image.normal: "1_5";
color_class: ":fg";
}
desc { "success";
inherit: "default";
visible: 1;
color_class: ":success";
}
desc { "failed";
inherit: "default";
visible: 1;
image.normal: "1_5_failed";
color_class: ":selected-alt";
}
}
}
programs {
program { signal: "success"; source: "*";
script {
set_state(get_part_id(src), "success", 0.0);
}
}
program { signal: "failed"; source: "*";
script {
set_state(get_part_id(src), "failed", 0.0);
}
}
program { signal: "enrolled__failed"; source: "enrolled__failed";
action: STATE_SET "failed" 0.0;
transition: LINEAR 0.2;
target: "0";
}
program { signal: "enrolled__failed"; source: "enrolled__failed";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.2;
target: "1";
target: "2";
target: "3";
target: "4";
target: "5";
}
}
}
group { "verify";
parts {
image { "0";
scale: 1;
desc { "default";
min: 140 140;
max: 140 140;
image.normal: "1_0";
color_class: ":fg";
}
desc { "success";
inherit: "default";
color_class: ":success";
}
desc { "failed";
inherit: "default";
color_class: ":selected-alt";
}
}
}
programs {
program { signal: "success"; source: "success";
action: STATE_SET "success" 0.0;
transition: LINEAR 0.2;
target: "0";
after: "reset1";
}
program { name: "reset1";
action: STATE_SET "default" 0.0;
transition: ACCEL 4.0;
target: "0";
}
program { signal: "failed"; source: "failed";
transition: LINEAR 0.2;
action: STATE_SET "failed" 0.0;
target: "0";
after: "reset";
}
program { name: "reset";
action: STATE_SET "default" 0.0;
transition: ACCEL 2.0;
target: "0";
}
}
}
group { "icon";
parts {
image { "0";
scale: 1;
desc { "default";
image.normal: "1_0";
color_class: ":success";
}
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

@ -0,0 +1,204 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
id="svg2"
width="300"
height="300"
viewBox="0 0 300 300"
sodipodi:docname="1_0.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
inkscape:export-filename="/home/raster/C/th-efl/th/img/ic/fingerprint-040.png"
inkscape:export-xdpi="48"
inkscape:export-ydpi="48"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6">
<mask
maskUnits="userSpaceOnUse"
id="mask947">
<rect
style="opacity:1;fill:#a0a0a0;fill-opacity:1;stroke-width:3.96122;stroke-linecap:round;stroke-linejoin:round"
id="rect949"
width="60"
height="40"
x="10"
y="5" />
</mask>
</defs>
<sodipodi:namedview
inkscape:document-rotation="0"
pagecolor="#404040"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1377"
id="namedview4"
showgrid="true"
inkscape:zoom="1.0171875"
inkscape:cx="-88.970814"
inkscape:cy="-27.03533"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g10"
showguides="false"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:snap-others="false"
inkscape:snap-nodes="true"
inkscape:pagecheckerboard="0">
<inkscape:grid
type="xygrid"
id="grid837" />
</sodipodi:namedview>
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g10">
<circle
r="137.70493"
cy="149.5"
cx="149.5"
id="path5067"
style="opacity:1;fill:none;fill-opacity:1;stroke:#fefefe;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 167.74799,163.41944 a 22.950819,22.950819 0 0 1 -29.67145,5.98646 22.950819,22.950819 0 0 1 -9.80104,-28.63865 22.950819,22.950819 0 0 1 27.11768,-13.44856"
sodipodi:arc-type="arc"
sodipodi:open="true"
sodipodi:end="4.9720722"
sodipodi:start="0.65163863"
sodipodi:ry="22.950819"
sodipodi:rx="22.950819"
sodipodi:cy="149.5"
sodipodi:cx="149.5"
sodipodi:type="arc"
id="path5069"
style="opacity:1;fill:none;fill-opacity:1;stroke:#fefefe;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="opacity:1;fill:none;fill-opacity:1;stroke:#fefefe;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5071"
sodipodi:type="arc"
sodipodi:cx="149.5"
sodipodi:cy="149.5"
sodipodi:rx="45.901638"
sodipodi:ry="45.901638"
sodipodi:start="2.6954195"
sodipodi:end="5.9000004"
sodipodi:open="true"
sodipodi:arc-type="arc"
d="m 108.0919,169.30731 a 45.901638,45.901638 0 0 1 4.10371,-46.5532 45.901638,45.901638 0 0 1 42.77284,-18.82884 45.901638,45.901638 0 0 1 37.10434,28.4132" />
<path
d="M 218.20943,153.9357 A 68.852463,68.852463 0 0 1 168.52477,215.6719 68.852463,68.852463 0 0 1 93.638113,189.75061 68.852463,68.852463 0 0 1 92.751343,110.5096"
sodipodi:arc-type="arc"
sodipodi:open="true"
sodipodi:end="3.7435892"
sodipodi:start="0.064467936"
sodipodi:ry="68.852463"
sodipodi:rx="68.852463"
sodipodi:cy="149.5"
sodipodi:cx="149.5"
sodipodi:type="arc"
id="path5073"
style="opacity:1;fill:none;fill-opacity:1;stroke:#fefefe;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:open="true"
style="opacity:1;fill:none;fill-opacity:1;stroke:#fefefe;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5075"
sodipodi:type="arc"
sodipodi:cx="149.5"
sodipodi:cy="149.5"
sodipodi:rx="91.803276"
sodipodi:ry="91.803276"
sodipodi:start="1.4555675"
sodipodi:end="4.4180899"
sodipodi:arc-type="arc"
d="M 160.05499,240.69448 A 91.803276,91.803276 0 0 1 59.614585,168.16692 91.803276,91.803276 0 0 1 122.8707,61.643742" />
<path
d="M 174.57024,37.517921 A 114.7541,114.7541 0 0 1 263.79781,159.72324 114.7541,114.7541 0 0 1 154.29906,264.1537 114.7541,114.7541 0 0 1 36.456328,169.23907"
sodipodi:arc-type="arc"
sodipodi:open="true"
sodipodi:end="2.968721"
sodipodi:start="4.9326345"
sodipodi:ry="114.7541"
sodipodi:rx="114.7541"
sodipodi:cy="149.5"
sodipodi:cx="149.5"
sodipodi:type="arc"
id="path5077"
style="opacity:1;fill:none;fill-opacity:1;stroke:#fefefe;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
d="m 185.86798,177.5059 a 45.901638,45.901638 0 0 1 -43.60287,17.32198"
sodipodi:arc-type="arc"
sodipodi:open="true"
sodipodi:end="1.7290736"
sodipodi:start="0.65622285"
sodipodi:ry="45.901638"
sodipodi:rx="45.901638"
sodipodi:cy="149.5"
sodipodi:cx="149.5"
sodipodi:type="arc"
id="path5079"
style="opacity:1;fill:none;fill-opacity:1;stroke:#fefefe;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="opacity:1;fill:none;fill-opacity:1;stroke:#fefefe;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5081"
sodipodi:type="arc"
sodipodi:cx="149.5"
sodipodi:cy="149.5"
sodipodi:rx="68.852463"
sodipodi:ry="68.852463"
sodipodi:start="4.9434339"
sodipodi:end="5.6642139"
sodipodi:open="true"
sodipodi:arc-type="arc"
d="m 165.26686,82.477109 a 68.852463,68.852463 0 0 1 40.3118,27.074851" />
<path
d="M 206.44965,77.495984 A 91.803276,91.803276 0 0 1 230.78503,192.16832"
sodipodi:arc-type="arc"
sodipodi:end="0.48338606"
sodipodi:start="5.3815708"
sodipodi:ry="91.803276"
sodipodi:rx="91.803276"
sodipodi:cy="149.5"
sodipodi:cx="149.5"
sodipodi:type="arc"
id="path5083"
style="opacity:1;fill:none;fill-opacity:1;stroke:#fefefe;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:open="true" />
<path
style="opacity:1;fill:none;fill-opacity:1;stroke:#fefefe;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5085"
sodipodi:type="arc"
sodipodi:cx="149.5"
sodipodi:cy="149.5"
sodipodi:rx="114.7541"
sodipodi:ry="114.7541"
sodipodi:start="3.7973554"
sodipodi:end="4.1880314"
sodipodi:open="true"
sodipodi:arc-type="arc"
d="M 58.547846,79.527087 A 114.7541,114.7541 0 0 1 92.047558,50.163603" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.9 KiB

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
id="svg2"
width="300"
height="300"
viewBox="0 0 300 300"
sodipodi:docname="1_1.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
inkscape:export-filename="/home/raster/C/th-efl/th/img/ic/fingerprint-040.png"
inkscape:export-xdpi="48"
inkscape:export-ydpi="48"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"