atome 0.1.00009 → 0.4.5.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (354) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -0
  3. data/README.md +74 -6
  4. data/Rakefile +14 -6
  5. data/app_builder_helpers/Rakefile +183 -25
  6. data/documentation/atome.md +14 -0
  7. data/documentation/database.JPG +0 -0
  8. data/documentation/framework/apis.md +14 -0
  9. data/documentation/framework/atome_explained.md +179 -0
  10. data/documentation/framework/box_content.md +53 -0
  11. data/documentation/framework/buld_the_gem.md +52 -0
  12. data/documentation/framework/datas_flows.md +28 -0
  13. data/documentation/framework/enhance_atome.md +79 -0
  14. data/documentation/framework/folder_architecture.md +47 -0
  15. data/documentation/framework/technical/rendering_flow.md +18 -0
  16. data/documentation/framework/technical/technical_description.md +23 -0
  17. data/documentation/framework/what_is_it.md +65 -0
  18. data/documentation/framework/what_it_can_do.md +25 -0
  19. data/documentation/images/1.png +0 -0
  20. data/documentation/images/2.png +0 -0
  21. data/documentation/images/3.png +0 -0
  22. data/documentation/images/atome.svg +12 -0
  23. data/documentation/images/list.png +0 -0
  24. data/documentation/images/logos/cordova.png +0 -0
  25. data/documentation/images/logos/freebsd.png +0 -0
  26. data/documentation/images/logos/opal.png +0 -0
  27. data/documentation/images/logos/puma.png +0 -0
  28. data/documentation/images/logos/roda.svg +1 -0
  29. data/documentation/images/logos/ruby.png +0 -0
  30. data/documentation/images/logos/tauri.png +0 -0
  31. data/documentation/installation/atome_server.md +184 -0
  32. data/documentation/tutorials/first_steps.md +148 -0
  33. data/documentation/tutorials/tutorials.md +15 -0
  34. data/documentation/tutorials/working_with_atome.md +60 -0
  35. data/exe/atome +178 -53
  36. data/lib/atome/atome_native_extensions.rb +5 -0
  37. data/lib/atome/extensions/geolocation.rb +14 -0
  38. data/lib/atome/extensions/helper.rb +123 -0
  39. data/lib/atome/extensions/ping.rb +13 -0
  40. data/lib/atome/extensions/sha.rb +6 -0
  41. data/lib/atome/extensions/utilities.rb +39 -0
  42. data/lib/atome/kernel/atome.rb +98 -0
  43. data/lib/atome/kernel/generators/generator.rb +387 -0
  44. data/lib/atome/kernel/generators/genesis.rb +265 -0
  45. data/lib/atome/kernel/generators/sanitizer.rb +77 -0
  46. data/lib/atome/kernel/generators/shapes.rb +40 -0
  47. data/lib/atome/kernel/properties/essential.rb +43 -0
  48. data/lib/atome/kernel/sparkle.rb +37 -0
  49. data/lib/atome/kernel/universe.rb +29 -0
  50. data/lib/atome/renderers/headless/properties/generator.rb +1 -0
  51. data/lib/atome/renderers/opal/atome_opal_extensions.rb +7 -0
  52. data/lib/atome/renderers/opal/extensions/color.rb +23 -0
  53. data/lib/atome/renderers/opal/extensions/geolocation.rb +14 -0
  54. data/lib/atome/renderers/opal/extensions/ping.rb +18 -0
  55. data/lib/atome/renderers/opal/extensions/sha.rb +12 -0
  56. data/lib/atome/renderers/opal/opal_browser.rb +2 -1
  57. data/lib/atome/renderers/opal/opal_parser.rb +1 -0
  58. data/lib/atome/renderers/opal/properties/generator.rb +1 -0
  59. data/lib/atome/renderers/renderer.rb +12 -0
  60. data/lib/atome/renderers/server/properties/generator.rb +9 -0
  61. data/lib/atome/version.rb +1 -1
  62. data/lib/atome.rb +55 -2
  63. data/vendor/assets/Guardfile +4 -0
  64. data/vendor/assets/Rakefile +3 -0
  65. data/vendor/assets/application/index.rb +4 -0
  66. data/vendor/assets/build/css/style.css +21 -8
  67. data/vendor/assets/build/favicon.ico +0 -0
  68. data/vendor/assets/build/index.html +13 -4
  69. data/vendor/assets/build/js/atome/atome.js +68 -0
  70. data/vendor/assets/build/js/ping.min.js +2 -0
  71. data/vendor/assets/build/js/third_parties/createjs.min.js +19 -0
  72. data/vendor/assets/build/js/third_parties/fabric.min.js +1 -0
  73. data/vendor/assets/build/js/third_parties/sha256.min.js +9 -0
  74. data/vendor/assets/build/js/third_parties/three.min.js +6 -0
  75. data/vendor/assets/build/js/utilities/w3color.js +646 -0
  76. data/vendor/assets/build/medias/audios/audio_missing.wav +0 -0
  77. data/vendor/assets/build/medias/audios/clap.wav +0 -0
  78. data/vendor/assets/build/medias/audios/cowbell.wav +0 -0
  79. data/vendor/assets/build/medias/audios/hihat.wav +0 -0
  80. data/vendor/assets/build/medias/audios/kick.wav +0 -0
  81. data/vendor/assets/build/medias/audios/riff.m4a +0 -0
  82. data/vendor/assets/build/medias/audios/snare.wav +0 -0
  83. data/vendor/assets/build/medias/audios/tom.wav +0 -0
  84. data/vendor/assets/build/medias/fonts/Dancing_Script/DancingScript-VariableFont_wght.ttf +0 -0
  85. data/vendor/assets/build/medias/fonts/Dancing_Script/OFL.txt +93 -0
  86. data/vendor/assets/build/medias/fonts/Dancing_Script/README.txt +66 -0
  87. data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-Bold.ttf +0 -0
  88. data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-Medium.ttf +0 -0
  89. data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-Regular.ttf +0 -0
  90. data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-SemiBold.ttf +0 -0
  91. data/vendor/assets/build/medias/fonts/Mate_SC/MateSC-Regular.ttf +0 -0
  92. data/vendor/assets/build/medias/fonts/Mate_SC/OFL.txt +94 -0
  93. data/vendor/assets/build/medias/fonts/Raleway/OFL.txt +93 -0
  94. data/vendor/assets/build/medias/fonts/Raleway/README.txt +81 -0
  95. data/vendor/assets/build/medias/fonts/Raleway/Raleway-Italic-VariableFont_wght.ttf +0 -0
  96. data/vendor/assets/build/medias/fonts/Raleway/Raleway-VariableFont_wght.ttf +0 -0
  97. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Black.ttf +0 -0
  98. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-BlackItalic.ttf +0 -0
  99. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Bold.ttf +0 -0
  100. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-BoldItalic.ttf +0 -0
  101. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraBold.ttf +0 -0
  102. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraBoldItalic.ttf +0 -0
  103. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraLight.ttf +0 -0
  104. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraLightItalic.ttf +0 -0
  105. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Italic.ttf +0 -0
  106. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Light.ttf +0 -0
  107. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-LightItalic.ttf +0 -0
  108. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Medium.ttf +0 -0
  109. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-MediumItalic.ttf +0 -0
  110. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Regular.ttf +0 -0
  111. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-SemiBold.ttf +0 -0
  112. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-SemiBoldItalic.ttf +0 -0
  113. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Thin.ttf +0 -0
  114. data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ThinItalic.ttf +0 -0
  115. data/vendor/assets/build/medias/fonts/Roboto_Slab/LICENSE.txt +202 -0
  116. data/vendor/assets/build/medias/fonts/Roboto_Slab/README.txt +71 -0
  117. data/vendor/assets/build/medias/fonts/Roboto_Slab/RobotoSlab-VariableFont_wght.ttf +0 -0
  118. data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Black.ttf +0 -0
  119. data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Bold.ttf +0 -0
  120. data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraBold.ttf +0 -0
  121. data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraLight.ttf +0 -0
  122. data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Light.ttf +0 -0
  123. data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Medium.ttf +0 -0
  124. data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Regular.ttf +0 -0
  125. data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-SemiBold.ttf +0 -0
  126. data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Thin.ttf +0 -0
  127. data/vendor/assets/build/medias/fonts/Vollkorn/OFL.txt +93 -0
  128. data/vendor/assets/build/medias/fonts/Vollkorn/README.txt +75 -0
  129. data/vendor/assets/build/medias/fonts/Vollkorn/Vollkorn-Italic-VariableFont_wght.ttf +0 -0
  130. data/vendor/assets/build/medias/fonts/Vollkorn/Vollkorn-VariableFont_wght.ttf +0 -0
  131. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Black.ttf +0 -0
  132. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-BlackItalic.ttf +0 -0
  133. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Bold.ttf +0 -0
  134. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-BoldItalic.ttf +0 -0
  135. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-ExtraBold.ttf +0 -0
  136. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-ExtraBoldItalic.ttf +0 -0
  137. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Italic.ttf +0 -0
  138. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Medium.ttf +0 -0
  139. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-MediumItalic.ttf +0 -0
  140. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Regular.ttf +0 -0
  141. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-SemiBold.ttf +0 -0
  142. data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-SemiBoldItalic.ttf +0 -0
  143. data/vendor/assets/build/medias/images/Icon_Help.png +0 -0
  144. data/vendor/assets/build/medias/images/atome.svg +12 -0
  145. data/vendor/assets/build/medias/images/avion.jpg +0 -0
  146. data/vendor/assets/build/medias/images/ballanim.png +0 -0
  147. data/vendor/assets/build/medias/images/blank.png +0 -0
  148. data/vendor/assets/build/medias/images/boat.png +0 -0
  149. data/vendor/assets/build/medias/images/cache.svg +10 -0
  150. data/vendor/assets/build/medias/images/dices.png +0 -0
  151. data/vendor/assets/build/medias/images/eVe_back.png +0 -0
  152. data/vendor/assets/build/medias/images/elephant.png +0 -0
  153. data/vendor/assets/build/medias/images/eyes.jpg +0 -0
  154. data/vendor/assets/build/medias/images/freebsd.png +0 -0
  155. data/vendor/assets/build/medias/images/grain_texture.png +0 -0
  156. data/vendor/assets/build/medias/images/green_planet.png +0 -0
  157. data/vendor/assets/build/medias/images/image_missing.svg +9 -0
  158. data/vendor/assets/build/medias/images/jeezs.png +0 -0
  159. data/vendor/assets/build/medias/images/keyboard.png +0 -0
  160. data/vendor/assets/build/medias/images/killer.jpg +0 -0
  161. data/vendor/assets/build/medias/images/living_room.png +0 -0
  162. data/vendor/assets/build/medias/images/logo.svg +14 -0
  163. data/vendor/assets/build/medias/images/logos/Facebook.svg +8 -0
  164. data/vendor/assets/build/medias/images/logos/GitHub Black.svg +7 -0
  165. data/vendor/assets/build/medias/images/logos/GitHub-Mark.eps +7696 -0
  166. data/vendor/assets/build/medias/images/logos/GitHub.svg +7 -0
  167. data/vendor/assets/build/medias/images/logos/TikTok.svg +11 -0
  168. data/vendor/assets/build/medias/images/logos/Twitter.svg +35 -0
  169. data/vendor/assets/build/medias/images/logos/YouTube.svg +1 -0
  170. data/vendor/assets/build/medias/images/logos/apple.svg +4 -0
  171. data/vendor/assets/build/medias/images/logos/atome.svg +12 -0
  172. data/vendor/assets/build/medias/images/logos/freebsd.png +0 -0
  173. data/vendor/assets/build/medias/images/logos/instagram.svg +6 -0
  174. data/vendor/assets/build/medias/images/logos/tiktok_back.svg +1 -0
  175. data/vendor/assets/build/medias/images/moto.png +0 -0
  176. data/vendor/assets/build/medias/images/noise.svg +17 -0
  177. data/vendor/assets/build/medias/images/piano.png +0 -0
  178. data/vendor/assets/build/medias/images/poisson.jpg +0 -0
  179. data/vendor/assets/build/medias/images/red_planet.png +0 -0
  180. data/vendor/assets/build/medias/images/sky.jpg +0 -0
  181. data/vendor/assets/build/medias/images/the_mask.svg +8 -0
  182. data/vendor/assets/build/medias/images/tile.png +0 -0
  183. data/vendor/assets/build/medias/images/tile_black.png +0 -0
  184. data/vendor/assets/build/medias/images/tile_white.png +0 -0
  185. data/vendor/assets/build/medias/javascripts/test.js +1 -0
  186. data/vendor/assets/build/medias/rubies/examples/Old_examples/!demos.rb +111 -0
  187. data/vendor/assets/build/medias/rubies/examples/Old_examples/action.rb +12 -0
  188. data/vendor/assets/build/medias/rubies/examples/Old_examples/add.rb +26 -0
  189. data/vendor/assets/build/medias/rubies/examples/Old_examples/alignment.rb +27 -0
  190. data/vendor/assets/build/medias/rubies/examples/Old_examples/animation.rb +92 -0
  191. data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_as_property.rb +20 -0
  192. data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_list.rb +4 -0
  193. data/vendor/assets/build/medias/rubies/examples/Old_examples/atomiser.rb +17 -0
  194. data/vendor/assets/build/medias/rubies/examples/Old_examples/attach_extract.rb +13 -0
  195. data/vendor/assets/build/medias/rubies/examples/Old_examples/authorisation.rb +22 -0
  196. data/vendor/assets/build/medias/rubies/examples/Old_examples/batch.rb +6 -0
  197. data/vendor/assets/build/medias/rubies/examples/Old_examples/blend.rb +15 -0
  198. data/vendor/assets/build/medias/rubies/examples/Old_examples/blur.rb +9 -0
  199. data/vendor/assets/build/medias/rubies/examples/Old_examples/border.rb +9 -0
  200. data/vendor/assets/build/medias/rubies/examples/Old_examples/calendar.rb +5 -0
  201. data/vendor/assets/build/medias/rubies/examples/Old_examples/capture.rb +57 -0
  202. data/vendor/assets/build/medias/rubies/examples/Old_examples/center.rb +21 -0
  203. data/vendor/assets/build/medias/rubies/examples/Old_examples/child.rb +18 -0
  204. data/vendor/assets/build/medias/rubies/examples/Old_examples/clear.rb +21 -0
  205. data/vendor/assets/build/medias/rubies/examples/Old_examples/clip.rb +11 -0
  206. data/vendor/assets/build/medias/rubies/examples/Old_examples/code.rb +7 -0
  207. data/vendor/assets/build/medias/rubies/examples/Old_examples/code_editor.rb +26 -0
  208. data/vendor/assets/build/medias/rubies/examples/Old_examples/collaborate.rb +115 -0
  209. data/vendor/assets/build/medias/rubies/examples/Old_examples/convert_to_px.rb +14 -0
  210. data/vendor/assets/build/medias/rubies/examples/Old_examples/copy_paste.rb +35 -0
  211. data/vendor/assets/build/medias/rubies/examples/Old_examples/current_code.rb +14 -0
  212. data/vendor/assets/build/medias/rubies/examples/Old_examples/cursor.rb +3 -0
  213. data/vendor/assets/build/medias/rubies/examples/Old_examples/data.rb +11 -0
  214. data/vendor/assets/build/medias/rubies/examples/Old_examples/database.rb +29 -0
  215. data/vendor/assets/build/medias/rubies/examples/Old_examples/delete.rb +12 -0
  216. data/vendor/assets/build/medias/rubies/examples/Old_examples/display.rb +19 -0
  217. data/vendor/assets/build/medias/rubies/examples/Old_examples/disposition.rb +10 -0
  218. data/vendor/assets/build/medias/rubies/examples/Old_examples/double_and_long_touch.rb +23 -0
  219. data/vendor/assets/build/medias/rubies/examples/Old_examples/drag.rb +61 -0
  220. data/vendor/assets/build/medias/rubies/examples/Old_examples/drag_and_drop_import.rb +1 -0
  221. data/vendor/assets/build/medias/rubies/examples/Old_examples/drop.rb +23 -0
  222. data/vendor/assets/build/medias/rubies/examples/Old_examples/duplicate.rb +11 -0
  223. data/vendor/assets/build/medias/rubies/examples/Old_examples/edit.rb +6 -0
  224. data/vendor/assets/build/medias/rubies/examples/Old_examples/eval.rb +9 -0
  225. data/vendor/assets/build/medias/rubies/examples/Old_examples/extract_detach.rb +23 -0
  226. data/vendor/assets/build/medias/rubies/examples/Old_examples/fill.rb +10 -0
  227. data/vendor/assets/build/medias/rubies/examples/Old_examples/find.rb +37 -0
  228. data/vendor/assets/build/medias/rubies/examples/Old_examples/fit.rb +44 -0
  229. data/vendor/assets/build/medias/rubies/examples/Old_examples/fullscreen.rb +28 -0
  230. data/vendor/assets/build/medias/rubies/examples/Old_examples/generate.rb +7 -0
  231. data/vendor/assets/build/medias/rubies/examples/Old_examples/gradient.rb +24 -0
  232. data/vendor/assets/build/medias/rubies/examples/Old_examples/group.rb +21 -0
  233. data/vendor/assets/build/medias/rubies/examples/Old_examples/helper.rb +64 -0
  234. data/vendor/assets/build/medias/rubies/examples/Old_examples/history.rb +7 -0
  235. data/vendor/assets/build/medias/rubies/examples/Old_examples/hue.rb +10 -0
  236. data/vendor/assets/build/medias/rubies/examples/Old_examples/input_text.rb +54 -0
  237. data/vendor/assets/build/medias/rubies/examples/Old_examples/insert_attach.rb +13 -0
  238. data/vendor/assets/build/medias/rubies/examples/Old_examples/internationalisation.rb +10 -0
  239. data/vendor/assets/build/medias/rubies/examples/Old_examples/key.rb +19 -0
  240. data/vendor/assets/build/medias/rubies/examples/Old_examples/keyboard_shortcut.rb +69 -0
  241. data/vendor/assets/build/medias/rubies/examples/Old_examples/list_methods.rb +4 -0
  242. data/vendor/assets/build/medias/rubies/examples/Old_examples/list_types.rb +4 -0
  243. data/vendor/assets/build/medias/rubies/examples/Old_examples/listen.rb +47 -0
  244. data/vendor/assets/build/medias/rubies/examples/Old_examples/mail.rb +9 -0
  245. data/vendor/assets/build/medias/rubies/examples/Old_examples/map.rb +6 -0
  246. data/vendor/assets/build/medias/rubies/examples/Old_examples/mask.rb +15 -0
  247. data/vendor/assets/build/medias/rubies/examples/Old_examples/media_recorder.rb +24 -0
  248. data/vendor/assets/build/medias/rubies/examples/Old_examples/media_streaming.rb +41 -0
  249. data/vendor/assets/build/medias/rubies/examples/Old_examples/meteo.rb +41 -0
  250. data/vendor/assets/build/medias/rubies/examples/Old_examples/methods_chaining.rb +8 -0
  251. data/vendor/assets/build/medias/rubies/examples/Old_examples/midi.rb +37 -0
  252. data/vendor/assets/build/medias/rubies/examples/Old_examples/monitoring.rb +47 -0
  253. data/vendor/assets/build/medias/rubies/examples/Old_examples/mulitrendering.rb +7 -0
  254. data/vendor/assets/build/medias/rubies/examples/Old_examples/noise_gradient_texture.rb +26 -0
  255. data/vendor/assets/build/medias/rubies/examples/Old_examples/notification.rb +9 -0
  256. data/vendor/assets/build/medias/rubies/examples/Old_examples/object_in_object.rb +13 -0
  257. data/vendor/assets/build/medias/rubies/examples/Old_examples/on_resize.rb +12 -0
  258. data/vendor/assets/build/medias/rubies/examples/Old_examples/over.rb +15 -0
  259. data/vendor/assets/build/medias/rubies/examples/Old_examples/overflow.rb +22 -0
  260. data/vendor/assets/build/medias/rubies/examples/Old_examples/parameter.rb +14 -0
  261. data/vendor/assets/build/medias/rubies/examples/Old_examples/parent.rb +19 -0
  262. data/vendor/assets/build/medias/rubies/examples/Old_examples/particle.rb +15 -0
  263. data/vendor/assets/build/medias/rubies/examples/Old_examples/pay.rb +7 -0
  264. data/vendor/assets/build/medias/rubies/examples/Old_examples/ping.rb +7 -0
  265. data/vendor/assets/build/medias/rubies/examples/Old_examples/play.rb +24 -0
  266. data/vendor/assets/build/medias/rubies/examples/Old_examples/play_audio.rb +6 -0
  267. data/vendor/assets/build/medias/rubies/examples/Old_examples/position.rb +7 -0
  268. data/vendor/assets/build/medias/rubies/examples/Old_examples/read_file.rb +9 -0
  269. data/vendor/assets/build/medias/rubies/examples/Old_examples/reboot.rb +15 -0
  270. data/vendor/assets/build/medias/rubies/examples/Old_examples/refresh.rb +17 -0
  271. data/vendor/assets/build/medias/rubies/examples/Old_examples/remote_server.rb +31 -0
  272. data/vendor/assets/build/medias/rubies/examples/Old_examples/render.rb +17 -0
  273. data/vendor/assets/build/medias/rubies/examples/Old_examples/repeat.rb +19 -0
  274. data/vendor/assets/build/medias/rubies/examples/Old_examples/require_remote.rb +3 -0
  275. data/vendor/assets/build/medias/rubies/examples/Old_examples/restore_atome.rb +11 -0
  276. data/vendor/assets/build/medias/rubies/examples/Old_examples/resurect.rb +30 -0
  277. data/vendor/assets/build/medias/rubies/examples/Old_examples/ruby_version.rb +1 -0
  278. data/vendor/assets/build/medias/rubies/examples/Old_examples/say.rb +3 -0
  279. data/vendor/assets/build/medias/rubies/examples/Old_examples/scale.rb +41 -0
  280. data/vendor/assets/build/medias/rubies/examples/Old_examples/schedule.rb +39 -0
  281. data/vendor/assets/build/medias/rubies/examples/Old_examples/scroll.rb +9 -0
  282. data/vendor/assets/build/medias/rubies/examples/Old_examples/select.rb +32 -0
  283. data/vendor/assets/build/medias/rubies/examples/Old_examples/selector.rb +6 -0
  284. data/vendor/assets/build/medias/rubies/examples/Old_examples/shadow.rb +30 -0
  285. data/vendor/assets/build/medias/rubies/examples/Old_examples/shape_with_path.rb +7 -0
  286. data/vendor/assets/build/medias/rubies/examples/Old_examples/size.rb +109 -0
  287. data/vendor/assets/build/medias/rubies/examples/Old_examples/smooth.rb +5 -0
  288. data/vendor/assets/build/medias/rubies/examples/Old_examples/speech_renderer.rb +5 -0
  289. data/vendor/assets/build/medias/rubies/examples/Old_examples/synth.rb +6 -0
  290. data/vendor/assets/build/medias/rubies/examples/Old_examples/system.rb +3 -0
  291. data/vendor/assets/build/medias/rubies/examples/Old_examples/tags.rb +18 -0
  292. data/vendor/assets/build/medias/rubies/examples/Old_examples/text.rb +33 -0
  293. data/vendor/assets/build/medias/rubies/examples/Old_examples/text_selection.rb +33 -0
  294. data/vendor/assets/build/medias/rubies/examples/Old_examples/text_to_midi.rb +22 -0
  295. data/vendor/assets/build/medias/rubies/examples/Old_examples/touch.rb +23 -0
  296. data/vendor/assets/build/medias/rubies/examples/Old_examples/touch_stop_propagation.rb +27 -0
  297. data/vendor/assets/build/medias/rubies/examples/Old_examples/treat_object_in_object.rb +26 -0
  298. data/vendor/assets/build/medias/rubies/examples/Old_examples/type_mutations.rb +27 -0
  299. data/vendor/assets/build/medias/rubies/examples/Old_examples/video_callback.rb +46 -0
  300. data/vendor/assets/build/medias/rubies/examples/Old_examples/view_mode.rb +29 -0
  301. data/vendor/assets/build/medias/rubies/examples/Old_examples/virtual_events.rb +17 -0
  302. data/vendor/assets/build/medias/rubies/examples/Old_examples/visual.rb +23 -0
  303. data/vendor/assets/build/medias/rubies/examples/Old_examples/vr_display.rb +5 -0
  304. data/vendor/assets/build/medias/rubies/examples/Old_examples/wait.rb +21 -0
  305. data/vendor/assets/build/medias/rubies/examples/Old_examples/web.rb +10 -0
  306. data/vendor/assets/build/medias/rubies/examples/Old_examples/web_address_bar.rb +14 -0
  307. data/vendor/assets/build/medias/rubies/examples/Old_examples/websocket.rb +16 -0
  308. data/vendor/assets/build/medias/rubies/examples/Old_examples/webstate.rb +10 -0
  309. data/vendor/assets/build/{js/atome/kernel.js → medias/rubies/examples/animation.rb} +0 -0
  310. data/vendor/assets/build/medias/rubies/examples/atome.new.rb +12 -0
  311. data/vendor/assets/build/medias/rubies/examples/auto_height.rb +3 -0
  312. data/vendor/assets/build/medias/rubies/examples/auto_width.rb +2 -0
  313. data/vendor/assets/build/medias/rubies/examples/bottom.rb +1 -0
  314. data/vendor/assets/build/medias/rubies/examples/box.rb +1 -0
  315. data/vendor/assets/build/{js/opal/opal_browser.js → medias/rubies/examples/circle.rb} +0 -0
  316. data/vendor/assets/build/medias/rubies/examples/color.rb +13 -0
  317. data/vendor/assets/build/medias/rubies/examples/create_atome_in_atome.rb +11 -0
  318. data/vendor/assets/build/medias/rubies/examples/drag.rb +5 -0
  319. data/vendor/assets/build/medias/rubies/examples/get_renderer_list.rb +1 -0
  320. data/vendor/assets/build/medias/rubies/examples/grab.rb +3 -0
  321. data/vendor/assets/build/medias/rubies/examples/height.rb +2 -0
  322. data/vendor/assets/build/medias/rubies/examples/image.rb +4 -0
  323. data/vendor/assets/build/medias/rubies/examples/left.rb +2 -0
  324. data/vendor/assets/build/medias/rubies/examples/link.rb +13 -0
  325. data/vendor/assets/build/medias/rubies/examples/parent.rb +12 -0
  326. data/vendor/assets/build/medias/rubies/examples/read.rb +3 -0
  327. data/vendor/assets/build/medias/rubies/examples/repeat.rb +3 -0
  328. data/vendor/assets/build/medias/rubies/examples/right.rb +1 -0
  329. data/vendor/assets/build/medias/rubies/examples/rotate.rb +2 -0
  330. data/vendor/assets/build/medias/rubies/examples/schedule.rb +13 -0
  331. data/vendor/assets/build/medias/rubies/examples/smooth.rb +3 -0
  332. data/vendor/assets/build/medias/rubies/examples/text.rb +5 -0
  333. data/vendor/assets/build/medias/rubies/examples/top.rb +1 -0
  334. data/vendor/assets/build/medias/rubies/examples/touch.rb +6 -0
  335. data/vendor/assets/build/medias/rubies/examples/video.rb +4 -0
  336. data/vendor/assets/build/medias/rubies/examples/wait.rb +3 -0
  337. data/vendor/assets/build/medias/rubies/examples/web.rb +9 -0
  338. data/vendor/assets/build/medias/rubies/examples/width.rb +2 -0
  339. data/vendor/assets/build/medias/rubies/test.rb +1 -0
  340. data/vendor/assets/build/medias/rubies/text_read.rb +1 -0
  341. data/vendor/assets/build/medias/rubies/users/code.rb +6 -0
  342. data/vendor/assets/build/medias/utils/infos/color.rb +29 -0
  343. data/vendor/assets/build/medias/utils/infos/width.rb +25 -0
  344. data/vendor/assets/build/medias/videos/video_missing.mp4 +0 -0
  345. data/vendor/assets/{index.rb → r&d/misc.rb} +54 -1
  346. data/vendor/assets/r&d/ping.rb +3 -0
  347. data/vendor/assets/r&d/storage.rb +9 -0
  348. data/vendor/assets/r&d/view_example.rb +21 -0
  349. data/vendor/assets/server/atome_server.rb +74 -27
  350. data/vendor/assets/server/config.ru +2 -14
  351. metadata +424 -12
  352. data/lib/atome/kernel/atome_genesis.rb +0 -2
  353. data/lib/atome/kernel/properties/geometry.rb +0 -2
  354. data/vendor/assets/build/js/opal/opal_parser.js +0 -0
@@ -0,0 +1,47 @@
1
+ # monitoring
2
+ console = Atome.new({ atome_id: :console, parent: :intuition, type: :shape, width: :auto, x: 0, xx: 0, yy: 0, height: 33, color: { alpha: 0.3 } })
3
+ cc = Atome.new({ parent: :console, type: :text, content: :hello, color: :yellowgreen, x: 6, y: 6 })
4
+ console.touch do
5
+ console.delete(true)
6
+ end
7
+
8
+ b = box({ x: 333, y: 50 })
9
+ text({ content: "drag the box", x: 33, y: 3, color: :orange })
10
+ t2 = text({ content: "start monitoring all", x: 33, y: 33 })
11
+ t3 = text({ content: "stop monitoring all", x: 33, y: 66 })
12
+
13
+ t4 = text({ content: "start monitoring the box", x: 33, y: 96 })
14
+ t5 = text({ content: "stop monitoring the box", x: 33, y: 123 })
15
+
16
+ i = 3
17
+ b.touch do
18
+ b.smooth(i)
19
+ i += 3
20
+ end
21
+ b.drag(true)
22
+ c = circle({ x: 333 })
23
+ c.drag(true)
24
+ t2.touch do
25
+ properties = {}
26
+ grab(:view).child.monitor(true) do |evt|
27
+ properties[evt[:property]] = evt[:value]
28
+ cc.content ("#{properties}\n")
29
+ end
30
+
31
+ end
32
+
33
+ t3.touch do
34
+ grab(:view).child.monitor({ option: false })
35
+ end
36
+
37
+ t4.touch do
38
+ properties = {}
39
+ b.monitor(true) do |evt|
40
+ properties[evt[:property]] = evt[:value]
41
+ cc.content ("#{properties}\n")
42
+ end
43
+ end
44
+
45
+ t5.touch do
46
+ b.monitor({ option: false })
47
+ end
@@ -0,0 +1,7 @@
1
+ # example multi rendering
2
+
3
+ renderer([:html,:speech])
4
+
5
+ b=circle()
6
+ b.x(666)
7
+ # renderer(:html)
@@ -0,0 +1,26 @@
1
+ # noise example
2
+ # noise in a circle
3
+ c=circle({ width: 300, color: :green, x: 600 })
4
+ c.shadow({ x: 16, y: 16, blur: 7, color: :black})
5
+ c.noise({ opacity: 0.3 })
6
+
7
+ # b is used for a hack to allow correct shadow when using mask or noise then applying shadow
8
+ b=box({color: :transparent})
9
+ b.shadow({ x: 16, y: 16, blur: 7, color: :black})
10
+
11
+ a=b.image({content: :boat})
12
+ a.noise({ opacity: 0.6 })
13
+ a.color({red: 1, green: 0.3, blue: 0.5, alpha: 0.5})
14
+ # add gradient
15
+ a.color([{red: 0, green: 1, blue: 1, alpha: 0.1}, {red: 1, green: 0, blue: 0, alpha: 0.1}, {red: 0, green: 1, blue: 0, alpha: 0.1}, {angle: 150}, {diffusion: :linear}])
16
+ a.opacity(0.7)
17
+ a.drag(true)
18
+
19
+ # # with shape
20
+ # svg = shape({ path: :apple, drag: true, width: 333, height: 333, atome_id: :the_path})
21
+ # ATOME.wait 2 do
22
+ # `$('#the_path').children().css({fill: 'blue'}).css({stroke: 'yellow'})`
23
+ # svg.noise({ opacity: 1 })
24
+ # end
25
+
26
+
@@ -0,0 +1,9 @@
1
+ # notification example
2
+
3
+ c=circle({x: 6, y:6 })
4
+ notification "element position is :#{c.x}, #{c.y}"
5
+ c.touch do
6
+ c.x=c.x+6
7
+ c.y=c.y+6
8
+ notification "element position is :#{c.x}, #{c.y}"
9
+ end
@@ -0,0 +1,13 @@
1
+ # objects in object
2
+
3
+ c=circle
4
+ b=c.box({x: 200, atome_id: :poil})
5
+ t=b.text({content: :ok})
6
+ t.center(true)
7
+ b.rotate(30)
8
+ c.drag(true) do |evt|
9
+ b.rotate(evt.page_x)
10
+ b.color(:green)
11
+ end
12
+
13
+ box({color: :orange, center: true, text: {content: :hello, color: :yellow, center: true}})
@@ -0,0 +1,12 @@
1
+ # window resize
2
+
3
+ t = text({content: "window size", x: 66})
4
+ ATOME.resize_html do |evt|
5
+ t.content("#{evt[:width]} #{evt[:height]}")
6
+ end
7
+
8
+ stop = text({ content: "touch me to unbind resize event" , y: 63})
9
+
10
+ stop.touch do
11
+ ATOME.resize_html(:false)
12
+ end
@@ -0,0 +1,15 @@
1
+ # over example
2
+
3
+ # over example
4
+ c = circle
5
+ c.x(250)
6
+ c.over(:enter) do
7
+ c.color (:green)
8
+ end
9
+ c.over(:exit) do
10
+ c.color (:blue)
11
+ end
12
+
13
+ c.touch do
14
+ c.over(false)
15
+ end
@@ -0,0 +1,22 @@
1
+ # overflow
2
+
3
+
4
+ b = text({x: 369, y: 30, content: "touch me to change text overflow"})
5
+ container=circle({width:300, height: 300, y: 99, drag: true})
6
+ container.text({content: lorem, x: 66, width: 300})
7
+ i=0
8
+ b.touch do
9
+ case i
10
+ when 0
11
+ container.overflow(:hidden)
12
+ i+=1
13
+ when 1
14
+ container.overflow(:scroll)
15
+ i+=1
16
+ when 2
17
+ container.overflow(:visible)
18
+ i=0
19
+ else
20
+ i
21
+ end
22
+ end
@@ -0,0 +1,14 @@
1
+ # parameter example
2
+
3
+ b=box
4
+ b.parameter({ target: :the_box,
5
+ type: :circular,
6
+ length: 33,
7
+ thickness: 12,
8
+ helper_length: nil,
9
+ helper_thickness: 12
10
+ })
11
+ t=text({ content: " click to box to view params stored in ", visual: 15, x: 99 })
12
+ b. touch do
13
+ t.content(parameter.to_s)
14
+ end
@@ -0,0 +1,19 @@
1
+ # parent example
2
+
3
+ # an atome can have multiple parents. (for now, please note that only the last setted parent is the real father, it ll be change i the future)
4
+ c = circle({atome_id: :c, x: 20})
5
+ c.drag(true)
6
+ e = box({atome_id: :e, x: 160})
7
+ t = text({content: 'some texts', atome_id: :the_father_text, x: 96})
8
+ t.parent([e.atome_id, c.atome_id])
9
+ grab(:view).extract(t.atome_id)
10
+ t.parent do |father|
11
+ father.set({ rotate: 36, y: 66})
12
+ end
13
+ t.parent.blur(2)
14
+ wait 1 do
15
+ grab(:view).attach(:the_father_text)
16
+ t.set(x: 33, y: 33, )
17
+ t.width(:auto)
18
+ end
19
+ #both parent are treated
@@ -0,0 +1,15 @@
1
+ # particle exam≈ple :
2
+
3
+ p=particle({ color: :cyan,
4
+ rotate: 33,
5
+ y: 150,
6
+ width: 333,
7
+ shadow: { color: :black, blur: 3, x: 3, y: 3 },
8
+ content: "particle can be used as placeholder or style repository"
9
+ })
10
+ t =text({x: 99, content: p, atome_id: :verif})
11
+ t.set(p)
12
+ b=box
13
+ b.set(p)
14
+
15
+ circle.y(p.width)
@@ -0,0 +1,7 @@
1
+ # pay example
2
+
3
+ c=circle({width: 300})
4
+ c.text({content: "buy an atome: 10€", center: true })
5
+ c.touch do
6
+ box({atome_id: :my_payment, pay: "https://www.paypal.com/sdk/js?client-id=sb&enable-funding=venmo&currency=EUR",width: 222, height: 220, drag: true, x: 99, y: 120})
7
+ end
@@ -0,0 +1,7 @@
1
+ # ping example
2
+
3
+ def ping_call_back(val)
4
+ text({ content: val, color: :red })
5
+ end
6
+ ATOME.ping("https://apple.com", "ping_call_back('Apple site is unreachable')", "ping_call_back('Apple site is up')")
7
+
@@ -0,0 +1,24 @@
1
+ # play videos
2
+
3
+ button=box({height: 33, x: 9, width: 222, smooth: 33, y: 6})
4
+ button.text({content: "full screen", x: 6 })
5
+
6
+ button2=box({height: 33, x: 9, width: 222, smooth: 33, y: 66})
7
+ button2.text({content: "full page", x: 6 })
8
+
9
+
10
+ v=video({drag: true,atome_id: :the_video, shadow: {blur: 6 , thickness: 1, x: 0, y:0, color: :black}, scale: true, x: 333, y: 150})
11
+ v.touch do
12
+ v.play(true)
13
+ v.size(666)
14
+ end
15
+
16
+ button.touch do
17
+ v.fullscreen(true)
18
+ end
19
+
20
+ button2.touch do
21
+ v.size(grab(:view).convert(:width))
22
+ v.x(0)
23
+ v.y(0)
24
+ end
@@ -0,0 +1,6 @@
1
+ # play audio example
2
+
3
+ a=audio({content: :snare, x: 0, y: 250, atome_id: :snare, color: :pink, width: 333, height: 33,})
4
+ a.touch(option: :down) do
5
+ a.play(true)
6
+ end
@@ -0,0 +1,7 @@
1
+ # position
2
+
3
+ box({x:222, y:222, color: :green})
4
+ text({content: "i'm not fixed!", x:20, y: 222, color: :orange})
5
+ text({content: "drag the red circle out the window this text will remain fixed in the window",width: 150, x: 66,fixed: true})
6
+ c = circle({x: 300, y: 69})
7
+ c.drag(true)
@@ -0,0 +1,9 @@
1
+ # example read file
2
+ # JSUtils.load_opal_parser
3
+
4
+ t=text("Touch me load and exec the ruby code")
5
+ t.touch do
6
+ reader("./medias/rubies/test.rb") do |data|
7
+ compile data
8
+ end
9
+ end
@@ -0,0 +1,15 @@
1
+ # Reboot
2
+
3
+ button=box({height: 33, x: 9, width: 222, smooth: 33, y: 6})
4
+ button.text({content: "Reboot", x: 6 })
5
+
6
+ b=box({x: 99, y: 99})
7
+ b.drag(true)
8
+ b.touch do
9
+ color(:red)
10
+ v=video(:madmax)
11
+ v.play(true)
12
+ end
13
+ button.touch do
14
+ grab(:view).reboot
15
+ end
@@ -0,0 +1,17 @@
1
+ # refresh example
2
+
3
+ c=circle({ atome_id: :circle})
4
+ c.text({content: "click me", atome_id: :text_2, shadow: true })
5
+ color=[:red, :green,:yellowgreen, :purple, :blue, :yellow, :orange, :pink, :black, :white].sample
6
+ time=Time.now
7
+ text({content: time, color: color, x:66, y: 66, atome_id: :text_1, shadow: true})
8
+ c.color(color)
9
+ c.touch do
10
+ refresh("./medias/rubies/examples/refresh.rb")
11
+ end
12
+ # Possible syntax are :
13
+ # refresh #without arguments it refresh the current page
14
+ # refresh("./medias/rubies/examples/animation.rb")
15
+ # refresh({ source: "./medias/rubies/examples/animation.rb" })
16
+ # refresh({ target: :circle })
17
+ # refresh({ target: :circle , source: "./medias/rubies/examples/animation.rb" })
@@ -0,0 +1,31 @@
1
+ # remote server
2
+
3
+ def my_callback(val, opt)
4
+ opt = eval(opt)
5
+ t = text val
6
+ opt.each do |prop, val|
7
+ t.set({ prop => val })
8
+ end
9
+ end
10
+
11
+
12
+ b = box({ x: 300 })
13
+ b.touch do
14
+ # atome is the method target the atome_id if no method given notification is used by default
15
+ # if no target then atome seek for a standard method
16
+ # ATOME.message({type: :command, content: "pwd",target: b.atome_id, atome: :text , options:{color: :yellow, x: 333}})
17
+ ATOME.message({ type: :read, file: "public/medias/rubies/test.rb", target: :my_callback, atome: :text, options: { color: :yellowgreen } })
18
+ ATOME.message({ type: :code, content: "circle({x: 33,y: 33})" })
19
+
20
+ # ATOME.message({type: :command, content: "cd public; ls; setxkbmap fr",target: b.atome_id, atome: :text , options:{color: :yellow, x: 333}})
21
+ # ATOME.message({type: :atome,target: :my_callback,atome: :color, content: "red"})
22
+ # ATOME.message({type: :atome,target: b.atome_id,atome: :smooth, content: 9})
23
+ end
24
+
25
+ # # c.touch do
26
+ # # # todo: addpassword to write and delete methods
27
+ # # # ATOME.message({type: :delete, file: "public/medias/datas/meteo_datas_new.txt", target: :toto, options:{color: :yellowgreen}})
28
+ # # # ATOME.message({type: :write, file: "public/medias/datas/meteo_datas_new.txt",content: :hello, target: :toto, options:{color: :yellowgreen}})
29
+ # # # ATOME.message({type: :list, path: "public/medias/datas/",target: :delete_images, options:{color: :yellowgreen}})
30
+ # # # ATOME.message({type: :read, file: "public/medias/datas/meteo_datas.txt",target: :toto, options:{color: :yellowgreen}})
31
+ # # end
@@ -0,0 +1,17 @@
1
+ # render
2
+
3
+ t=text("touch to circle to remove the circle from rendering")
4
+ c = circle({atome_id: :c, x: 300, y: 66, render: false})
5
+
6
+
7
+ wait 2 do
8
+ c.render(true)
9
+ end
10
+
11
+
12
+ c.touch do
13
+ c.render(false)
14
+ ATOME.wait 2 do
15
+ c.render(true)
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ # repeat
2
+
3
+ b=box({x:300, y: 33})
4
+ t=text({content: "click me to kill the repeat process"})
5
+ countdown=text("")
6
+ countdown.y(66)
7
+ repeater= repeat 0.1, 300 do |evt|
8
+ unless evt
9
+ evt=0
10
+ end
11
+ b.x(evt)
12
+ b.smooth(evt/10)
13
+ b.color({red: -(evt-300)/100/3})
14
+ content=-(evt-300)/100/3
15
+ countdown.content(content)
16
+ end
17
+ t.touch do
18
+ t.clear({repeat: repeater})
19
+ end
@@ -0,0 +1,3 @@
1
+ # require remote example
2
+
3
+ coding({ atome_id: :code_editor, content: "require 'my_big_test.rb'" })
@@ -0,0 +1,11 @@
1
+ #restore atome
2
+
3
+ b=box({atome_id: :my_atome,color: :green, x: 200, y: 100})
4
+ atome_props= b.properties
5
+ ATOME.wait 1 do
6
+ b.delete(true)
7
+ end
8
+ ATOME.wait 2 do
9
+ Atome.new(atome_props)
10
+ end
11
+
@@ -0,0 +1,30 @@
1
+ # resurrect example
2
+
3
+ hh = grab(:view).tool({ name: :home, x: 99, y: 9, color: :black })
4
+ hh.add({ touch: { proc: lambda do
5
+ self.color(:darkred)
6
+ end } })
7
+
8
+ hh.add(:touch) do
9
+ wait 2 do
10
+ self.color(:white)
11
+ hh.delete(true)
12
+ end
13
+
14
+ wait 3 do
15
+ resurrect :home_tool
16
+ end
17
+ end
18
+
19
+
20
+ b = box({color: :green, x: 200, y: 100, atome_id: :the_box, drag: true })
21
+ t = b.text({ content: "click the box or the tool to delete, it'll be resurected!", y: 99, x: 33, atome_id: :the_text })
22
+ b.image({ content: :moto, x: 150, y: 9, size: 66, atome_id: :the_image })
23
+ t.circle({ x: 33, y: -99, size: 66, atome_id: :the_circle })
24
+
25
+ b.touch do
26
+ b.delete(true)
27
+ ATOME.wait 1 do
28
+ resurrect b.atome_id
29
+ end
30
+ end
@@ -0,0 +1,3 @@
1
+ # say example
2
+
3
+ ATOME.say("salut tout le monde!!")
@@ -0,0 +1,41 @@
1
+ #scale example
2
+
3
+ b = box({ size: 96, x: 333 })
4
+ i = b.image({ content: :moto, size: :fit, drag: true })
5
+ t = text({ content: :size })
6
+ t2 = text({ content: "keep ratio", y: 33 })
7
+ t3 = text({ content: "no ratio", y: 66 })
8
+ t4 = text({ content: "scale box too", y: 96 })
9
+ t5 = text({ content: "stop scale", y: 129 })
10
+
11
+
12
+ def stop_scale(obj)
13
+ if obj.scale && obj.scale.to_s != "destroy"
14
+ obj.scale(:destroy)
15
+ end
16
+ end
17
+ t2.touch do
18
+ stop_scale(i)
19
+ i.scale({ ratio: true }) do |width, height|
20
+ t.content("#{width}, #{height}")
21
+ end
22
+ end
23
+ t3.touch do
24
+ stop_scale(i)
25
+ i.scale() do |width, height|
26
+ t.content("#{width}, #{height}")
27
+ end
28
+ end
29
+ t4.touch do
30
+ stop_scale(i)
31
+ i.scale({ add: b.atome_id }) do |width, height|
32
+ t.content("#{width}, #{height}")
33
+ end
34
+ end
35
+ t5.touch do
36
+ stop_scale(i)
37
+ end
38
+
39
+ i.scale do |width, height|
40
+ t.content("#{width}, #{height}")
41
+ end
@@ -0,0 +1,39 @@
1
+ # Schedule example
2
+
3
+ # ATOME.schedule(Time.now+3) do
4
+ # i=image({ content: :boat , drag: :true, x: 99, y:99 })
5
+ # i.touch do
6
+ # i.delete(true)
7
+ # end
8
+ # end
9
+ #
10
+ # ATOME.schedule('2021 05 04 22 41 30') do
11
+ # alert :kool
12
+ # end
13
+ #
14
+ # ATOME.schedule('10') do
15
+ # alert :goodgood
16
+ # end
17
+
18
+ text(" date can be entered in several ways , 2 digit it'll be the next time the seconds match ,
19
+ if 2 digits the minutes and seconds and so on, you can also enter Time.now+3 (not a,string) for schedule in 3 sec ")
20
+ t=text({ content: "3", y: 90 ,x: 150, edit: true})
21
+
22
+ c=circle({ size: 33, x: 66, y: 99})
23
+
24
+ c.touch do
25
+ time=t.content
26
+ time=time.q_read
27
+ if time.instance_of?(Hash)
28
+ time=time[grab(:view).language]
29
+ end
30
+ time=time.to_i
31
+ time_to_run= Time.now+time.to_i
32
+ ATOME.schedule(time_to_run) do
33
+ i=image({ content: :boat , drag: :true, x: 99, y:99 })
34
+ wait 2 do
35
+ i.delete(true)
36
+ end
37
+ end
38
+ t.content("countdown started")
39
+ end
@@ -0,0 +1,9 @@
1
+ # Scroll
2
+
3
+ t = text({content: "drag the circle out the window", x: 66, fixed: true})
4
+ c = circle({x: 96, y: 96})
5
+ c.drag(true)
6
+
7
+ grab(:view).scroll_html do
8
+ t.content("x position : #{c.x}, y position : #{c.y}")
9
+ end
@@ -0,0 +1,32 @@
1
+ # select example
2
+
3
+ start = text({ content: "click me to start selecting", x: 30, y: 69, atome_id: :the_text_0 })
4
+ stop = text({ content: "click me twice to stop selecting", x: 30, y: 96, atome_id: :the_text_1 })
5
+
6
+ box(x: 300, y: 300, drag: true, atome_id: :the_box)
7
+
8
+ text({ content: :hello, y: 300, x: 400, drag: true, atome_id: :the_text_1 })
9
+
10
+ box({ y: 300, x: 500, color: :red, atome_id: :the_circle, smooth: 9, width: 39, height: 39 })
11
+
12
+ circle({ center: true, atome_id: :the_circle_2, color: :black, width: 39, height: 39 })
13
+ treated_item=[]
14
+ start.touch do
15
+ start.content("selection activated").color(:red)
16
+ stop.content("click me twice to stop selecting").color(:black)
17
+ grab(:view).selectable(true) do
18
+ selection.each do |atome_found|
19
+ treated_item << atome_found
20
+ end
21
+ selection.color([:yellowgreen, :green]).drag(true).shadow({ color: :black, thickness: 0, x: 0, y: 0, blur: 6 })
22
+ end
23
+ end
24
+
25
+ stop.touch(option: :up) do
26
+ stop.content("selection desactivated").color(:red)
27
+ start.content("click me to start selecting").color(:black)
28
+ treated_item.each do |item_found|
29
+ item_found.color(:red).drag(:destroy)
30
+ end
31
+ grab(:view).selectable(:destroy)
32
+ end
@@ -0,0 +1,6 @@
1
+ # selector
2
+
3
+ c = circle({atome_id: :c, x: 300,y: 96, color: :cyan})
4
+ c.selector({toto: :titi})
5
+
6
+ text "selectors are : #{c.selector}"
@@ -0,0 +1,30 @@
1
+ # shadow example
2
+
3
+ b = box({ id: :box_test, x: 160, y: 160 })
4
+ b.text({ content: "touch me", color: :black })
5
+
6
+ b.shadow({ x: 5, y: 5, blur: 7, color: :black, thickness: 0, invert: true })
7
+ b.shadow({ add: :true, x: 20, y: 20, color: "rgba(0,0,0,1)", blur: 16, thickness: 0 })
8
+ c = circle({ x: 96, y: 96, drag: true, id: :circle_test })
9
+ c.shadow({ x: -5, y: -5, blur: 16, color: :black, invert: :true, thickness: 0 })
10
+ c.shadow({ x: 0, y: 0, color: "rgba(0,0,0,1)", blur: 16, thickness: 0 })
11
+ b.drag(true)
12
+ # b.insert(c)
13
+ b.color(:orange)
14
+ t = text({ content: :hello,x: 33, y: 33, drag: true })
15
+ t.blur(2)
16
+ t.shadow({ x: 3, y: 3, color: "rgba(0,0,0,1)", blur: 3, thickness: 0 })
17
+ t.shadow({ x: 3, y: 33, color: "rgba(0,0,0,1)", blur: 3, thickness: 0 })
18
+ img = image({ content: :boat, size: 96, x: 196, drag: true })
19
+ img.shadow({ x: 7, y: 3, color: "rgba(0,0,0,0.5)", blur: 7, thickness: 0 })
20
+ img.shadow({ x: -66, y: 3, color: "rgba(0,0,0,0.6)", blur: 17, thickness: 0 })
21
+
22
+ b.touch do
23
+ b.shadow(false)
24
+ end
25
+
26
+ force=text({content: "force box shadow", visual: 33, y:9})
27
+
28
+ force.shadow({ x: 3, y: 3, color: "rgba(0,0,0,1)", blur: 3, thickness: 0, bounding: true })
29
+
30
+ # {bounding: true} : force box shadow false force filter shadow , using invert also force box shadow
@@ -0,0 +1,7 @@
1
+ # shape with path example
2
+
3
+ svg = shape({ path: :apple, drag: true, width: 333, height: 333, atome_id: :the_path})
4
+
5
+ svg.touch do
6
+ `$('#the_path').children().css({fill: 'blue'}).css({stroke: 'yellow'})`
7
+ end