/system/doc/design_principles/code_lock.svg

https://github.com/cmullaparthi/otp · SVG · 132 lines · 132 code · 0 blank · 0 comment · 0 complexity · 6b0ab2eaf5477c940e0333bc6cc08be7 MD5 · raw file

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
  3. <svg width="41cm" height="52cm" viewBox="-2 -2 806 1023" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  4. <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="492.782,860 600,860 600,900 "/>
  5. <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="380,900 380,900 380,931.6 "/>
  6. <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="640,560 640,580 640,580 640,600 "/>
  7. <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="492.782,300 640,300 640,340 "/>
  8. <g>
  9. <path style="fill: #d5d5f7" d="M 289.774 260 L 470.226,260 C 492.782,276 500,284 500,300 C 500,316 492.782,324 470.226,340 L 289.774,340 C 267.218,324 260,316 260,300 C 260,284 267.218,276 289.774,260z"/>
  10. <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 289.774 260 L 470.226,260 C 492.782,276 500,284 500,300 C 500,316 492.782,324 470.226,340 L 289.774,340 C 267.218,324 260,316 260,300 C 260,284 267.218,276 289.774,260"/>
  11. <text font-size="27.0933" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="380" y="308.467">
  12. <tspan x="380" y="308.467">locked</tspan>
  13. </text>
  14. </g>
  15. <g>
  16. <path style="fill: #d5d5f7" d="M 289.774 820 L 470.226,820 C 492.782,836 500,844 500,860 C 500,876 492.782,884 470.226,900 L 289.774,900 C 267.218,884 260,876 260,860 C 260,844 267.218,836 289.774,820z"/>
  17. <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" d="M 289.774 820 L 470.226,820 C 492.782,836 500,844 500,860 C 500,876 492.782,884 470.226,900 L 289.774,900 C 267.218,884 260,876 260,860 C 260,844 267.218,836 289.774,820"/>
  18. <text font-size="27.0933" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:700" x="380" y="868.467">
  19. <tspan x="380" y="868.467">open</tspan>
  20. </text>
  21. </g>
  22. <g>
  23. <polygon style="fill: #aad7aa" points="520,340 760,340 736,360 760,380 520,380 "/>
  24. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="520,340 760,340 736,360 760,380 520,380 "/>
  25. <text font-size="20.32" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:italic;font-weight:normal" x="546" y="366.35">
  26. <tspan x="546" y="366.35">{button,Button}</tspan>
  27. </text>
  28. </g>
  29. <g>
  30. <polygon style="fill: #f3cccc" points="640,480 800,520 640,560 480,520 "/>
  31. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="640,480 800,520 640,560 480,520 "/>
  32. <text font-size="20.32" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="643.2" y="527.15">
  33. <tspan x="643.2" y="527.15">Correct Code?</tspan>
  34. </text>
  35. </g>
  36. <g>
  37. <polygon style="fill: #ffff8f" points="0,940 160,940 160,980 0,980 "/>
  38. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="0,940 160,940 160,980 0,980 "/>
  39. <text font-size="20.32" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="80" y="966.35">
  40. <tspan x="80" y="966.35">do_lock()</tspan>
  41. </text>
  42. </g>
  43. <g>
  44. <polygon style="fill: #aad7aa" points="280,931.6 480,931.6 460,960 480,988.4 280,988.4 "/>
  45. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="280,931.6 480,931.6 460,960 480,988.4 280,988.4 "/>
  46. <text font-size="20.32" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:italic;font-weight:normal" x="380" y="966.35">
  47. <tspan x="380" y="966.35">state_timeout</tspan>
  48. </text>
  49. </g>
  50. <g>
  51. <ellipse style="fill: #d5d5f7" cx="380" cy="40" rx="40" ry="40"/>
  52. <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="380" cy="40" rx="40" ry="40"/>
  53. <text font-size="27.0933" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="380" y="48.4667">
  54. <tspan x="380" y="48.4667">init</tspan>
  55. </text>
  56. </g>
  57. <g>
  58. <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380.719" y1="180" x2="380.087" y2="250.264"/>
  59. <polygon style="fill: #000000" points="380.02,257.764 375.11,247.72 380.087,250.264 385.11,247.809 "/>
  60. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="380.02,257.764 375.11,247.72 380.087,250.264 385.11,247.809 "/>
  61. </g>
  62. <g>
  63. <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="640.438" y1="440" x2="640.106" y2="470.265"/>
  64. <polygon style="fill: #000000" points="640.024,477.764 635.134,467.71 640.106,470.265 645.134,467.819 "/>
  65. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="640.024,477.764 635.134,467.71 640.106,470.265 645.134,467.819 "/>
  66. </g>
  67. <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="640,700 640,740 380,740 380,740 "/>
  68. <text font-size="20.32" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="640" y="578.9">
  69. <tspan x="640" y="578.9">Y</tspan>
  70. </text>
  71. <text font-size="20.32" style="fill: #000000;text-anchor:end;font-family:sans-serif;font-style:normal;font-weight:normal" x="480" y="538.9">
  72. <tspan x="480" y="538.9">N</tspan>
  73. </text>
  74. <g>
  75. <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="80,940 80,220 370.623,220 "/>
  76. <polygon style="fill: #000000" points="378.123,220 368.123,225 370.623,220 368.123,215 "/>
  77. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="378.123,220 368.123,225 370.623,220 368.123,215 "/>
  78. </g>
  79. <g>
  80. <polygon style="fill: #aad7aa" points="500,900 700,900 680,920 700,940 500,940 "/>
  81. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="500,900 700,900 680,920 700,940 500,940 "/>
  82. <text font-size="20.32" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:italic;font-weight:normal" x="522" y="926.35">
  83. <tspan x="522" y="926.35">{button,Digit}</tspan>
  84. </text>
  85. </g>
  86. <g>
  87. <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="600,940 600,980 760,980 760,780 389.736,780 "/>
  88. <polygon style="fill: #000000" points="382.236,780 392.236,775 389.736,780 392.236,785 "/>
  89. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="382.236,780 392.236,775 389.736,780 392.236,785 "/>
  90. </g>
  91. <g>
  92. <polygon style="fill: #ffff8f" points="260,120 501.438,120 501.438,180 260,180 "/>
  93. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="260,120 501.438,120 501.438,180 260,180 "/>
  94. <text font-size="20.32" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="286.144" y="143.65">
  95. <tspan x="286.144" y="143.65">do_lock()</tspan>
  96. <tspan x="286.144" y="169.05">Clear Buttons</tspan>
  97. </text>
  98. </g>
  99. <g>
  100. <polygon style="fill: #ffff8f" points="500,600 780,600 780,700 500,700 "/>
  101. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="500,600 780,600 780,700 500,700 "/>
  102. <text font-size="20.32" style="fill: #000000;text-anchor:start;font-family:sans-serif;font-style:normal;font-weight:normal" x="530" y="630.95">
  103. <tspan x="530" y="630.95">do_unlock()</tspan>
  104. <tspan x="530" y="656.35">Clear Buttons</tspan>
  105. <tspan x="530" y="681.75">state_timeout 10 s</tspan>
  106. </text>
  107. </g>
  108. <g>
  109. <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="80" x2="380.544" y2="110.266"/>
  110. <polygon style="fill: #000000" points="380.679,117.764 375.5,107.856 380.544,110.266 385.498,107.676 "/>
  111. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="380.679,117.764 375.5,107.856 380.544,110.266 385.498,107.676 "/>
  112. </g>
  113. <g>
  114. <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="380" y1="740" x2="380" y2="810.264"/>
  115. <polygon style="fill: #000000" points="380,817.764 375,807.764 380,810.264 385,807.764 "/>
  116. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="380,817.764 375,807.764 380,810.264 385,807.764 "/>
  117. </g>
  118. <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="380,988.4 380,1020 80,1020 80,980 "/>
  119. <g>
  120. <polygon style="fill: #ffff8f" points="540,400 740.875,400 740.875,440 540,440 "/>
  121. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="540,400 740.875,400 740.875,440 540,440 "/>
  122. <text font-size="20.32" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="640.438" y="426.35">
  123. <tspan x="640.438" y="426.35">Collect Buttons</tspan>
  124. </text>
  125. </g>
  126. <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="640" y1="380" x2="640.438" y2="400"/>
  127. <g>
  128. <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="480,520 380,520 380,351 "/>
  129. <polygon style="fill: #000000" points="385,351 380,341 375,351 "/>
  130. <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="385,351 380,341 375,351 "/>
  131. </g>
  132. </svg>