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,109 @@
1
+
2
+
3
+ # size example
4
+ t1 = text({ content: :change_image, y: 9 })
5
+ t2 = text({ content: :change_parent, y: +t1.height + 9 })
6
+ t3 = text({ content: :fit, y: t2.y + t1.height + 9 })
7
+ t4 = text({ content: :fit_width, y: t3.y + t1.height + 9 })
8
+ t5 = text({ content: :fit_height, y: t4.y + t1.height + 9 })
9
+ t6 = text({ content: :fit_dynamic_scale_the_box_to_test, y: t5.y + t1.height + 9 })
10
+ t7 = text({ content: :overflow, y: t6.y + t1.height + 9 })
11
+ t8 = text({ content: :size_69, y: t7.y + t1.height + 9 })
12
+
13
+ #box 1
14
+ b = box({ x: 333, width: 333, height: 96, drag: true, atome_id: :the_box, color: :green })
15
+ #box 2
16
+ b2 = box({ color: :orange, x: 333, y: 123, width: 96, height: 333, drag: true, atome_id: :the_box2 })
17
+ i = b.image({ content: :sky, drag: true })
18
+
19
+ t1.touch do
20
+ if i.content == :sky
21
+ size_found = i.size
22
+ i.delete(true)
23
+ i = b.image({ content: :moto, drag: true })
24
+ i.size(size_found)
25
+ elsif i.content == :moto
26
+ size_found = i.size
27
+ i.delete(true)
28
+ i = b.image({ content: :ballanim, drag: true })
29
+ i.size(size_found)
30
+ elsif i.content == :ballanim
31
+ size_found = i.size
32
+ i.delete(true)
33
+ i = b.image({ content: :eyes, drag: true })
34
+ i.size(size_found)
35
+ else
36
+ size_found = i.size
37
+ i.delete(true)
38
+ i = b.image({ content: :boat, drag: true })
39
+ i.size(size_found)
40
+ end
41
+ end
42
+
43
+ t2.touch do
44
+ if i.parent.include?(b.atome_id)
45
+ i.parent(b2.atome_id)
46
+ grab(b.atome_id).extract(i.atome_id)
47
+ else
48
+ i.parent(b.atome_id)
49
+ grab(b2.atome_id).extract(i.atome_id)
50
+ end
51
+
52
+ i.x = i.y = 0
53
+ end
54
+
55
+ t3.touch do
56
+ i.size(:fit)
57
+ end
58
+
59
+ t4.touch do
60
+ i.size({ fit: :width })
61
+ end
62
+
63
+ t5.touch do
64
+ i.size({ fit: :height })
65
+ end
66
+
67
+ t6.touch do
68
+ i.size({ dynamic: true })
69
+ b.scale(true)
70
+ b2.scale(true)
71
+ end
72
+
73
+ t7.touch do
74
+ if b.overflow == :visible
75
+ b.overflow(:hidden)
76
+ b2.overflow(:hidden)
77
+ else
78
+ b.overflow (:visible)
79
+ b2.overflow(:visible)
80
+ end
81
+ end
82
+
83
+ t8.touch do
84
+ i.size(69)
85
+ end
86
+ i.size(96)
87
+ t9 = text("test")
88
+ t9.x(123).touch do
89
+ t9.content(i.size)
90
+ end
91
+
92
+ # #fixme : quark should be able to read property, ex: alert i.parent.width # to get width
93
+ #
94
+ the_parent =grab(i.parent.last)
95
+ # alert grab(the_parent)
96
+ the_parent.monitor(true) do
97
+ #fixme : quark should be able to read property, ex: alert i.parent.width # to get width
98
+ parent_atome = i.parent.read[0]
99
+
100
+ if parent_atome.scale
101
+ if i.size && i.size[:dynamic] == true
102
+ i.size = i.size[:fit]
103
+ end
104
+ end
105
+ end
106
+ c = text({ content: "stop dynamic scale", y: 222 })
107
+ c.touch do
108
+ the_parent.monitor({ option: false })
109
+ end
@@ -0,0 +1,5 @@
1
+ # smooth example
2
+
3
+ b=box({color: :orange})
4
+ b.x(250)
5
+ b.smooth([25 ,7])
@@ -0,0 +1,5 @@
1
+ # example speech rendering
2
+
3
+ b=box({ language: :english,engine: :speech})
4
+
5
+ c=circle( language: :french,engine: :speech)
@@ -0,0 +1,6 @@
1
+ # synth
2
+
3
+ c=circle({width: 69, height: 69, y: 66, x: 69})
4
+ c.touch(option: :down) do
5
+ c.audio_dsp("dspcheck")
6
+ end
@@ -0,0 +1,3 @@
1
+ # system
2
+
3
+ system("open", "http://localhost:9292")
@@ -0,0 +1,18 @@
1
+ # tags example
2
+
3
+ t= text"touch me to color all objects that share the tag : my_cool_tag "
4
+ b = box({ size: 66 , y: 33})
5
+ b.tag("my_tag")
6
+ c = circle({ x: 200, y: 33 })
7
+ batch([b,c, t]).tag('my_cool_tag')
8
+ c2=circle({x: 200, y: 96, color: :green, tag: :other_tag})
9
+
10
+ b.add({ tag: :new_tag })
11
+
12
+ t.touch do
13
+ grab(:view).find({ tag: "my_cool_tag" }).color(:yellow)
14
+ grab(:view).find({ tag: "my_cool_tag" }).each do |item|
15
+ end
16
+ t.content("the box have the tags : #{b.tag}, \nthe green circle has the tag :#{c2.tag} ")
17
+ end
18
+
@@ -0,0 +1,33 @@
1
+ # text
2
+
3
+ b = box({ atome_id: :tutu, y: 96, x: 96, width: 333, height: 333 })
4
+ t = text({ content: lorem, color: :red, atome_id: "toto", width: :auto })
5
+ scale = text({ content: :scale, x: 9, y: 9 })
6
+ drag = text({ content: :drag, x: scale.x + 100, y: 9 })
7
+ margin = text({ content: :margin, x: drag.x + 100, y: 9 })
8
+ format = text({ content: :format, x: margin.x + 100, y: 9 })
9
+ edit = text({ content: :edit, x: format.x + 100, y: 9 })
10
+ fit = text({ content: :fit, x: edit.x + 100, y: 9, color: :white })
11
+ scale.touch do
12
+ t.visual(25)
13
+ t.scale(true) do |evt|
14
+ puts evt
15
+ end
16
+ end
17
+ fit.touch do
18
+ t.parent(b.atome_id)
19
+ end
20
+ edit.touch do
21
+ t.edit(true)
22
+ end
23
+ margin.touch do
24
+ t.set(width: :auto, height: :auto, x: 33, xx: 33)
25
+ end
26
+ format.touch do
27
+ b.scale(true) do
28
+
29
+ end
30
+ end
31
+ drag.touch do
32
+ b.drag(true)
33
+ end
@@ -0,0 +1,33 @@
1
+ # text selection example
2
+
3
+ t = text({ content: "type what you want", x: 333 })
4
+ t.visual(33)
5
+
6
+ t.key(:down) do
7
+ w_get = JSUtils.client_width(t.atome_id)
8
+ t.width = :auto
9
+ t.width = if w_get > 300
10
+ 300
11
+ else
12
+ :auto
13
+ end
14
+ end
15
+ t.key(:up) do |evt|
16
+ w_get = JSUtils.client_width(t.atome_id)
17
+ t.width = if w_get < 99
18
+ 99
19
+ elsif w_get > 300
20
+ 300
21
+ else
22
+ :auto
23
+ end
24
+ end
25
+ t.border(({ color: :red, thickness: 3, pattern: :dashed }))
26
+ t.over do
27
+ t.visual({ select: :all })
28
+ end
29
+
30
+ t.touch do
31
+ t.visual({ select: :all })
32
+ end
33
+
@@ -0,0 +1,22 @@
1
+ # text to midi example
2
+
3
+ # require "opal-parser"
4
+ t=text("ok")
5
+
6
+ cc = circle({width: 33, height: 33, y: 69, x: 69, color: :yellow, atome_id: :the_cc})
7
+
8
+ ATOME.repeat 5, 0 do |evt|
9
+ t.content(evt.abs)
10
+ reader("./medias/rubies/text_read.rb") do |datas_get|
11
+ datas=eval(datas_get)
12
+ temperature= datas[:temperature]
13
+ wind= datas[:wind]
14
+ humidity= datas[:humidity]
15
+ t.content( "temperature : #{temperature}, wind : #{wind}, humidity : #{humidity}")
16
+ # cc.transmit({midi: {play: {note: "C3", channel: 15, velocity: 10}}})
17
+ ATOME.wait 2 do
18
+ t.content(:stop)
19
+ # cc.transmit({midi: {stop: {note: "C3", channel: 15, velocity: 100}}})
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ # touch example
2
+
3
+ b = box({ x: 96, y: 6, text: { content: "on mouse down", center: true, color: :black } })
4
+ b.touch({ option: :down }) do
5
+ b.color(:orange)
6
+ b.x = b.x + 10
7
+ end
8
+ t=text({content: "kill touch\non box"})
9
+ t.touch do
10
+ b.touch({remove: :true })
11
+ end
12
+
13
+ c = circle({ x: 33, y: 96, text: { content: "on mouse up", center: true, color: :black } })
14
+ c.touch({ option: :up}) do
15
+ anim({
16
+ start: {x: 0, y: 0, smooth: 0, rotate: 20},
17
+ end: {x: 400, y: 70, smooth: 25, rotate: 180},
18
+ duration: 2000,
19
+ loop: 3,
20
+ curve: :easing,
21
+ target: c.atome_id
22
+ })
23
+ end
@@ -0,0 +1,27 @@
1
+ # touch stop_event example
2
+
3
+ b = box
4
+ c = b.circle({size: 30, center: true})
5
+
6
+ b.touch({ option: :down, stop: true }) do
7
+ if b.width== 333
8
+ b.width(66)
9
+ b.color(:white)
10
+ else
11
+ b.color(:black)
12
+ b.width(333)
13
+ end
14
+ end
15
+
16
+ # stop option stop the propagation of the event
17
+ c.touch(option: :down, stop: true) do
18
+ # b.color(:blue)
19
+
20
+ if b.width== 333
21
+ c.width(66)
22
+ c.color(:orange)
23
+ else
24
+ c.color(:yellow)
25
+ c.width(333)
26
+ end
27
+ end
@@ -0,0 +1,26 @@
1
+ b=box({drag: true,atome_id: :the_box})
2
+ t=b.text({content: :hello, atome_id: :the_text})
3
+ b.text({content: :cool, x: 72, atome_id: :the_text_1})
4
+ b.text({content: :super, y: 66, atome_id: :the_text_2})
5
+ b.text({content: "too much", y: 66, x: 96, atome_id: :the_text_3})
6
+ b.circle({x: 333, atome_id: :the_circle})
7
+ t.center(:all)
8
+ # we can treat all text of b using .each
9
+ b.circle.each do |circles_founc|
10
+ circles_founc.color(:green)
11
+ end
12
+ # or iterate on the object type
13
+ b.text do |atome|
14
+ atome.color(:orange)
15
+ end
16
+
17
+ ATOME.wait 2 do
18
+ # or even directly setting the property
19
+ b.text.color(:cyan)
20
+ # or choose an atome
21
+ b.text[2].color(:red)
22
+ # or a range of atomes
23
+ ATOME.wait 2 do
24
+ b.text[0..1].color(:yellow)
25
+ end
26
+ end
@@ -0,0 +1,27 @@
1
+ # type mutation
2
+
3
+ parent = circle({ overflow: :hidden, width: 300,
4
+ height: 300, color: :orange, drag: true })
5
+ b = parent.circle({ atome_id: :b, content: :boat, drag: true, x: 96, y: 96 })
6
+
7
+ ATOME.wait 1 do
8
+ b.type(:image)
9
+ b.content(:boat)
10
+ ATOME.wait 1 do
11
+ b.content(:moto)
12
+ ATOME.wait 1 do
13
+ b.type(:text)
14
+ ATOME.wait 1 do
15
+ b.color(:black)
16
+ ATOME.wait 1 do
17
+ b.smooth(100)
18
+ b.type(:shape)
19
+ ATOME.wait 1 do
20
+ b.smooth(0)
21
+ b.type(:text)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,46 @@
1
+ # play callback example:
2
+
3
+ v = video({ content: "madmax" })
4
+ t = text({ content: "play position", xx: 96, visual: 15 })
5
+ t2 = text({ content: :"play status", xx: 333, visual: 15 })
6
+
7
+ t2.touch do
8
+ t2.content(v.play[:status])
9
+ end
10
+
11
+ v.touch do
12
+ v.play(true) do |evt|
13
+ t.content(evt)
14
+ end
15
+ t2.content(v.play[:status])
16
+ end
17
+
18
+ c = circle({ x: 333, y: 9 })
19
+ c.text({ content: "pause", center: true, visual: 15 })
20
+
21
+ c.touch do
22
+ v.play(:pause) do |evt|
23
+ t.content(evt)
24
+ end
25
+ t2.content(v.play[:status])
26
+ end
27
+
28
+ d = circle({ x: 333, y: 120, color: :black })
29
+ d.text({ content: "stop", center: true, visual: 15 })
30
+
31
+ d.touch do
32
+ v.play(:stop) do |evt|
33
+ t.content(evt)
34
+ end
35
+ t2.content(v.play[:status])
36
+ end
37
+
38
+ e = circle({ x: 333, y: 222, color: :green })
39
+ e.text({ content: "play from 33", center: true, visual: 15 })
40
+
41
+ e.touch do
42
+ v.play(33) do |evt|
43
+ t.content(evt)
44
+ end
45
+ t2.content(v.play[:status])
46
+ end
@@ -0,0 +1,29 @@
1
+ # view mode example
2
+
3
+ a = image({ content: :moto, atome_id: :the_moto, x: 96, y: 333})
4
+ t1=text({ content: "list mode(childs)", x: 3,y: 3})
5
+ t2=text({ content: "list property", x: 3,y: 33 })
6
+ t3=text({ content: "natural mode" , x: 3,y: 66})
7
+
8
+ t1.touch do
9
+ a.render({
10
+ mode: :list,
11
+ ordered: :x,
12
+ visualize: [:visual,:x, :y, :color, :atome_id]
13
+ })
14
+ end
15
+ t2.touch do
16
+ a.render({
17
+ mode: :list,
18
+ list: :property,
19
+ sort: :alphabetically
20
+ })
21
+ end
22
+ t3.touch do
23
+ a.render(true)
24
+ end
25
+
26
+ a.drag(true)
27
+ a.circle({ color: :green, x: 39, y:33, atome_id: :the_circle })
28
+ a.text({ content: :kool, color: :yellow, x: 0, y:96, atome_id: :the_text})
29
+ a.box({width: 33, height: 69, x: 36, atome_id: :the_box})
@@ -0,0 +1,17 @@
1
+ # virtual_event example
2
+
3
+ c=circle({atome_id: :circle_1, x: 69, y: 99})
4
+
5
+ c.touch do
6
+ if c.color==:red
7
+ c.color(:yellowgreen)
8
+ else
9
+ c.color(:red)
10
+ end
11
+ end
12
+
13
+ t=text({content: "touch me send a virtual touch to the circle", x: 99})
14
+
15
+ t.touch do
16
+ grab(:circle_1 ).virtual_event({ event: :touch ,x: 30, y:30})
17
+ end
@@ -0,0 +1,23 @@
1
+ # visual example
2
+
3
+ t = text({content: "type_some_text,_try_to_press_return_and_touch_the_red_circle", visual: :Impact, x: 150})
4
+ t.touch({option: :down}) do
5
+ grab(:device).edit(false)
6
+ end
7
+
8
+ # fixme we must find a solution allow shortcut and auto sized text
9
+ grab(:device).touch({option: :down}) do
10
+ # grab(:device).edit(true)
11
+ end
12
+ t.width(333)
13
+ t.visual({wrap: " "})
14
+ t.visual({ fit: :width})
15
+ t.edit( true)
16
+ t.border({color: :orange, thickness: 7, pattern: :solid})
17
+ c=circle({size: 33, x: 69})
18
+ c.touch do
19
+ t.visual({fit: :width})
20
+ end
21
+
22
+ # viusal params : visual: {size: 33,path: :arial,alignment: :right,wrap: " " , fit: :height }
23
+ # visual default : { path: :ruboto, size: 33, alignment: :center, wrap: " ", fit: :none }
@@ -0,0 +1,5 @@
1
+ # vr example
2
+ i=image(:beach)
3
+ i.display(:vr)
4
+ i.width(600)
5
+ i.height(900)
@@ -0,0 +1,21 @@
1
+ # wait
2
+
3
+ b=box({x:300})
4
+ t=text("click me to kill the wait process")
5
+ waiter= wait 5 do
6
+ b.set({color: :orange, smooth: 20})
7
+ end
8
+
9
+ t.touch do
10
+ t.clear({wait: waiter})
11
+ end
12
+
13
+
14
+ def notification(message,duration)
15
+ notification=text({content: message, x: 300, y: 69})
16
+ grab(:atome).wait duration do
17
+ notification.delete()
18
+ end
19
+ end
20
+
21
+ notification(:hello, 3)
@@ -0,0 +1,10 @@
1
+ # web_object example
2
+
3
+ my_tube = web({type: :iframe, path: "https://www.youtube.com/embed/usQDazZKWAk" })
4
+ my_tube.y = 150
5
+ my_tube.drag(true)
6
+ my_tube.width = 300
7
+
8
+ web({ type: :image, path: "https://interactive-examples.mdn.mozilla.net/media/cc0-images/grapefruit-slice-332-332.jpg" })
9
+ # web can also be specified without supplying any path ex :
10
+ # web('<image src="https://interactive-examples.mdn.mozilla.net/media/cc0-images/grapefruit-slice-332-332.jpg"/>')my_tube.x = 300
@@ -0,0 +1,14 @@
1
+ # web_address_bar example
2
+
3
+ t = text({ content: "Navigate using the next back arrow in your browser \nto reveal the address bas content", y: 66 })
4
+ address_bar_content = text({ content: "touch to change adress bar content", x: 6, y: 6 })
5
+
6
+ # t.touch do
7
+ address_bar_content.address do |e|
8
+ t.content = "#{e[:location]}\n#{e[:state]}"
9
+ end
10
+ # end
11
+
12
+ address_bar_content.touch do
13
+ address_bar_content.web({ address: :my_page })
14
+ end
@@ -0,0 +1,16 @@
1
+
2
+ t=text( "touch me to set the websocket adress to localhost ('0.0.0.0:9292')")
3
+ t2=text({y: 30, content: "touch me to reset the websocket adress to atome.one" })
4
+
5
+ t.touch do
6
+ # ATOME.websocket
7
+ #second parameter is ssl (true or false)
8
+ #or ATOME.websocket('0.0.0.0:9292', false)
9
+
10
+ ATOME.websocket("localhost:9292", false)
11
+
12
+ end
13
+
14
+ t2.touch do
15
+ ATOME.websocket("ws.atome.one", true)
16
+ end
@@ -0,0 +1,10 @@
1
+ # webstate example
2
+
3
+ t=text(web_state)
4
+
5
+
6
+ b=box({x: 333})
7
+ b.touch do
8
+ ATOME.message({ type: :code, content: "circle({x: 33,y: 33})" })
9
+ t.content(web_state)
10
+ end
@@ -0,0 +1,12 @@
1
+ a=Atome.new(
2
+ shape: { render: [:html], id: :crasher, type: :shape, parent: [:view], left: 99, right: 99, width: 99, height: 99,
3
+ color: { render: [:html], id: :c315, type: :color,
4
+ red: 1, green: 0.15, blue: 0.15, alpha: 0.6 } }
5
+ )
6
+
7
+ # attention to modify an atome using Atome.new you must apply your method to the first atome
8
+ # here the first atome is shape, so if you want to make it draggable drag type:
9
+
10
+ a.shape.drag(true) do |x, y|
11
+ puts "drag position: #{x}"
12
+ end
@@ -0,0 +1,3 @@
1
+ b = box({ height: :auto, width: 99, left: 333 })
2
+ b.top(99)
3
+ b.bottom(99)
@@ -0,0 +1,2 @@
1
+ b = box({ width: :auto, left: 333 })
2
+ b.right(333)
@@ -0,0 +1 @@
1
+ box({ bottom: 12 })
@@ -0,0 +1 @@
1
+ box({ width: 333, left: 333 })
@@ -0,0 +1,13 @@
1
+ c = circle
2
+
3
+ # the easy way
4
+ c.color(:red)
5
+
6
+ # the most performant way :
7
+
8
+ c.color(
9
+ { render: [:html], id: :c319, type: :color,
10
+ red: 1, green: 1, blue: 0.15, alpha: 0.6 }
11
+ )
12
+
13
+ # please note that render , id and type params must place in order
@@ -0,0 +1,11 @@
1
+ b = box({ width: 333, left: 333})
2
+ b.height(33)
3
+ b.left(333)
4
+
5
+ b.smooth([33, 2, 90])
6
+ b.touch(true) do
7
+
8
+ color({ render: [:html], id: "color_#{Universe.atomes.length}", type: :color,
9
+ red: 1, green: 0.33, blue: 0.22, alpha: 1 })
10
+ end
11
+ b.circle({ left: 333 })
@@ -0,0 +1,5 @@
1
+ b=box
2
+ b.drag(true) do |x, y|
3
+ # below here is the callback :
4
+ puts "drag position: #{x}"
5
+ end
@@ -0,0 +1 @@
1
+ puts Utilities.renderer_list
@@ -0,0 +1,3 @@
1
+ box({id: :my_box})
2
+ # allow to get any atome using it's id
3
+ grab(:my_box).color(:yellow)
@@ -0,0 +1,2 @@
1
+ b = box({ left: 333 })
2
+ b.height(33)
@@ -0,0 +1,4 @@
1
+ Atome.new(
2
+ image: { render: [:html], id: :image1, type: :image, parent: [:view], path: "./medias/images/boat.png", left: 99, top: 120, width: 199, height: 199,
3
+ }
4
+ )
@@ -0,0 +1,2 @@
1
+ b = box({ left: 333 })
2
+ b.left(333)
@@ -0,0 +1,13 @@
1
+ Atome.new(
2
+ shape: { render: [:html], id: :crasher, type: :shape, parent: [:view], left: 99, right: 99, width: 99, height: 99,
3
+ color: { render: [:html], id: :c315, type: :color,
4
+ red: 1, green: 0.15, blue: 0.15, alpha: 0.6 } }
5
+ )
6
+ text = Atome.new(
7
+ text: { render: [:html], id: :text1, type: :text, parent: [:view], visual: { size: 33 }, string: "hello!", left: 399, top: 633, width: 199, height: 33,
8
+ }
9
+ )
10
+
11
+ text.text.link(:c315)
12
+ # now we change the color all the obect that share the care modified
13
+ grab(:c315).red(0)