atome 0.4.7.0 → 0.5.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (258) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +7 -4
  4. data/Rakefile +22 -13
  5. data/app_builder_helpers/Rakefile +63 -21
  6. data/exe/atome +91 -45
  7. data/lib/atome/atome_meta_engine.rb +132 -0
  8. data/lib/atome/extensions/atome.rb +41 -0
  9. data/lib/atome/{kernel/helpers → extensions}/geolocation.rb +0 -0
  10. data/lib/atome/{kernel/helpers → extensions}/ping.rb +0 -0
  11. data/lib/atome/{kernel/helpers → extensions}/sha.rb +3 -1
  12. data/lib/atome/genesis/generators/atome.rb +13 -0
  13. data/lib/atome/{renderers/headless/properties/generator.rb → genesis/generators/communication.rb} +2 -0
  14. data/lib/atome/genesis/generators/effect.rb +6 -0
  15. data/lib/atome/genesis/generators/event.rb +5 -0
  16. data/lib/atome/genesis/generators/geometry.rb +6 -0
  17. data/lib/atome/genesis/generators/identity.rb +15 -0
  18. data/lib/atome/genesis/generators/material.rb +10 -0
  19. data/lib/atome/genesis/generators/spatial.rb +12 -0
  20. data/lib/atome/genesis/generators/utility.rb +14 -0
  21. data/lib/atome/genesis/genesis.rb +51 -0
  22. data/lib/atome/genesis/sparkle.rb +58 -0
  23. data/lib/atome/helpers/color_helper/color/cmyk.rb +263 -0
  24. data/lib/atome/helpers/color_helper/color/css.rb +7 -0
  25. data/lib/atome/helpers/color_helper/color/grayscale.rb +197 -0
  26. data/lib/atome/helpers/color_helper/color/hsl.rb +240 -0
  27. data/lib/atome/helpers/color_helper/color/palette/adobecolor.rb +260 -0
  28. data/lib/atome/helpers/color_helper/color/palette/gimp.rb +104 -0
  29. data/lib/atome/helpers/color_helper/color/palette/monocontrast.rb +164 -0
  30. data/lib/atome/helpers/color_helper/color/palette.rb +4 -0
  31. data/lib/atome/helpers/color_helper/color/rgb/colors.rb +167 -0
  32. data/lib/atome/helpers/color_helper/color/rgb/contrast.rb +57 -0
  33. data/lib/atome/helpers/color_helper/color/rgb/metallic.rb +28 -0
  34. data/lib/atome/helpers/color_helper/color/rgb.rb +715 -0
  35. data/lib/atome/helpers/color_helper/color/yiq.rb +62 -0
  36. data/lib/atome/helpers/color_helper/color.rb +196 -0
  37. data/lib/atome/helpers/essentials.rb +42 -0
  38. data/lib/atome/helpers/sanitizer.rb +42 -0
  39. data/lib/atome/helpers/utilities.rb +57 -0
  40. data/lib/atome/kernel/essentials.rb +30 -0
  41. data/lib/atome/kernel/universe.rb +75 -26
  42. data/lib/atome/presets/atome.rb +66 -0
  43. data/lib/atome/processors/utilities.rb +10 -0
  44. data/lib/atome/renderers/browser/atome.rb +95 -0
  45. data/lib/atome/renderers/browser/browser.rb +158 -0
  46. data/lib/atome/renderers/browser/effect.rb +23 -0
  47. data/lib/atome/renderers/browser/event.rb +9 -0
  48. data/lib/atome/renderers/browser/geometry.rb +11 -0
  49. data/lib/atome/renderers/browser/identity.rb +20 -0
  50. data/lib/atome/renderers/browser/material.rb +43 -0
  51. data/lib/atome/renderers/{opal → browser}/opal_browser.rb +0 -2
  52. data/lib/atome/renderers/browser/spatial.rb +22 -0
  53. data/lib/atome/renderers/browser/utility.rb +26 -0
  54. data/lib/atome/renderers/html/atome.rb +47 -0
  55. data/lib/atome/renderers/html/effect.rb +19 -0
  56. data/lib/atome/renderers/html/event.rb +9 -0
  57. data/lib/atome/renderers/html/geometry.rb +11 -0
  58. data/lib/atome/renderers/html/html.rb +42 -0
  59. data/lib/atome/renderers/html/identity.rb +14 -0
  60. data/lib/atome/renderers/html/opal_browser.rb +6 -0
  61. data/lib/atome/renderers/html/spatial.rb +28 -0
  62. data/lib/atome/renderers/html/utility.rb +15 -0
  63. data/lib/atome/renderers/opal/atome_opal_extensions.rb +1 -1
  64. data/lib/atome/renderers/opal/extensions/atome.rb +29 -0
  65. data/lib/atome/renderers/opal/opal.rb +4 -0
  66. data/lib/atome/version.rb +1 -2
  67. data/lib/atome.rb +22 -45
  68. data/vendor/assets/application/index.rb +3 -1
  69. data/vendor/assets/application/required_example.rb +1 -0
  70. data/{lib/atome/renderers/headless/headless.rb → vendor/assets/aui.rb} +0 -0
  71. data/vendor/assets/build/css/style.css +51 -0
  72. data/vendor/assets/build/index.html +10 -7
  73. data/vendor/assets/build/js/atome/atome.js +61 -61
  74. data/{lib/atome/renderers/server/server.rb → vendor/assets/build/medias/rubies/examples/_animation.rb} +0 -0
  75. data/vendor/assets/build/medias/rubies/examples/_code.rb +12 -0
  76. data/vendor/assets/build/medias/rubies/examples/_id.rb +14 -0
  77. data/vendor/assets/build/medias/rubies/examples/_link.rb +17 -0
  78. data/vendor/assets/build/medias/rubies/examples/{on.rb → _on.rb} +3 -1
  79. data/vendor/assets/build/medias/rubies/examples/{read.rb → _read.rb} +2 -0
  80. data/vendor/assets/build/medias/rubies/examples/_refresh.rb +9 -0
  81. data/vendor/assets/build/medias/rubies/examples/atome.new.rb +13 -10
  82. data/vendor/assets/build/medias/rubies/examples/auto_height.rb +2 -0
  83. data/vendor/assets/build/medias/rubies/examples/auto_width.rb +2 -0
  84. data/vendor/assets/build/medias/rubies/examples/blur.rb +4 -0
  85. data/vendor/assets/build/medias/rubies/examples/bottom.rb +3 -1
  86. data/vendor/assets/build/medias/rubies/examples/box.rb +15 -8
  87. data/vendor/assets/build/medias/rubies/examples/circle.rb +2 -0
  88. data/vendor/assets/build/medias/rubies/examples/clear.rb +2 -1
  89. data/vendor/assets/build/medias/rubies/examples/color.rb +47 -8
  90. data/vendor/assets/build/medias/rubies/examples/create_atome_in_atome.rb +2 -0
  91. data/vendor/assets/build/medias/rubies/examples/delete.rb +7 -0
  92. data/vendor/assets/build/medias/rubies/examples/drag.rb +1 -0
  93. data/vendor/assets/build/medias/rubies/examples/element.rb +6 -0
  94. data/vendor/assets/build/medias/rubies/examples/get_renderer_list.rb +3 -1
  95. data/vendor/assets/build/medias/rubies/examples/grab.rb +2 -0
  96. data/vendor/assets/build/medias/rubies/examples/height.rb +2 -0
  97. data/vendor/assets/build/medias/rubies/examples/image.rb +6 -2
  98. data/vendor/assets/build/medias/rubies/examples/left.rb +2 -0
  99. data/vendor/assets/build/medias/rubies/examples/monitoring.rb +20 -0
  100. data/vendor/assets/build/medias/rubies/examples/parent.rb +7 -5
  101. data/vendor/assets/build/medias/rubies/examples/repeat.rb +2 -0
  102. data/vendor/assets/build/medias/rubies/examples/right.rb +3 -1
  103. data/vendor/assets/build/medias/rubies/examples/schedule.rb +0 -4
  104. data/vendor/assets/build/medias/rubies/examples/shadow.rb +30 -0
  105. data/vendor/assets/build/medias/rubies/examples/text.rb +21 -7
  106. data/vendor/assets/build/medias/rubies/examples/touch.rb +2 -0
  107. data/vendor/assets/build/medias/rubies/examples/video.rb +2 -2
  108. data/vendor/assets/build/medias/rubies/examples/web.rb +2 -2
  109. data/vendor/assets/server/atome_server.rb +3 -5
  110. metadata +74 -174
  111. data/lib/atome/atome_native_extensions.rb +0 -5
  112. data/lib/atome/extensions/helper.rb +0 -112
  113. data/lib/atome/kernel/atome.rb +0 -99
  114. data/lib/atome/kernel/generators/generator.rb +0 -517
  115. data/lib/atome/kernel/generators/genesis.rb +0 -277
  116. data/lib/atome/kernel/generators/sanitizer.rb +0 -73
  117. data/lib/atome/kernel/generators/shapes.rb +0 -55
  118. data/lib/atome/kernel/helpers/internal_methods.rb +0 -173
  119. data/lib/atome/kernel/helpers/utilities.rb +0 -39
  120. data/lib/atome/kernel/properties/essential.rb +0 -77
  121. data/lib/atome/kernel/sparkle.rb +0 -38
  122. data/lib/atome/renderers/opal/properties/generator.rb +0 -1
  123. data/lib/atome/renderers/renderer.rb +0 -13
  124. data/lib/atome/renderers/server/properties/generator.rb +0 -9
  125. data/vendor/assets/build/js/application.js +0 -0
  126. data/vendor/assets/build/medias/audios/guitar.wav +0 -0
  127. data/vendor/assets/build/medias/images/beach.jpg +0 -0
  128. data/vendor/assets/build/medias/rubies/examples/Old_examples/!demos.rb +0 -111
  129. data/vendor/assets/build/medias/rubies/examples/Old_examples/action.rb +0 -12
  130. data/vendor/assets/build/medias/rubies/examples/Old_examples/add.rb +0 -26
  131. data/vendor/assets/build/medias/rubies/examples/Old_examples/alignment.rb +0 -27
  132. data/vendor/assets/build/medias/rubies/examples/Old_examples/animation.rb +0 -92
  133. data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_as_property.rb +0 -20
  134. data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_list.rb +0 -4
  135. data/vendor/assets/build/medias/rubies/examples/Old_examples/atomiser.rb +0 -17
  136. data/vendor/assets/build/medias/rubies/examples/Old_examples/attach_extract.rb +0 -13
  137. data/vendor/assets/build/medias/rubies/examples/Old_examples/authorisation.rb +0 -22
  138. data/vendor/assets/build/medias/rubies/examples/Old_examples/batch.rb +0 -6
  139. data/vendor/assets/build/medias/rubies/examples/Old_examples/blend.rb +0 -15
  140. data/vendor/assets/build/medias/rubies/examples/Old_examples/blur.rb +0 -9
  141. data/vendor/assets/build/medias/rubies/examples/Old_examples/border.rb +0 -9
  142. data/vendor/assets/build/medias/rubies/examples/Old_examples/calendar.rb +0 -5
  143. data/vendor/assets/build/medias/rubies/examples/Old_examples/capture.rb +0 -57
  144. data/vendor/assets/build/medias/rubies/examples/Old_examples/center.rb +0 -21
  145. data/vendor/assets/build/medias/rubies/examples/Old_examples/child.rb +0 -18
  146. data/vendor/assets/build/medias/rubies/examples/Old_examples/clear.rb +0 -21
  147. data/vendor/assets/build/medias/rubies/examples/Old_examples/clip.rb +0 -11
  148. data/vendor/assets/build/medias/rubies/examples/Old_examples/code.rb +0 -7
  149. data/vendor/assets/build/medias/rubies/examples/Old_examples/code_editor.rb +0 -26
  150. data/vendor/assets/build/medias/rubies/examples/Old_examples/collaborate.rb +0 -115
  151. data/vendor/assets/build/medias/rubies/examples/Old_examples/convert_to_px.rb +0 -14
  152. data/vendor/assets/build/medias/rubies/examples/Old_examples/copy_paste.rb +0 -35
  153. data/vendor/assets/build/medias/rubies/examples/Old_examples/current_code.rb +0 -14
  154. data/vendor/assets/build/medias/rubies/examples/Old_examples/cursor.rb +0 -3
  155. data/vendor/assets/build/medias/rubies/examples/Old_examples/data.rb +0 -11
  156. data/vendor/assets/build/medias/rubies/examples/Old_examples/database.rb +0 -29
  157. data/vendor/assets/build/medias/rubies/examples/Old_examples/delete.rb +0 -12
  158. data/vendor/assets/build/medias/rubies/examples/Old_examples/display.rb +0 -19
  159. data/vendor/assets/build/medias/rubies/examples/Old_examples/disposition.rb +0 -10
  160. data/vendor/assets/build/medias/rubies/examples/Old_examples/double_and_long_touch.rb +0 -23
  161. data/vendor/assets/build/medias/rubies/examples/Old_examples/drag.rb +0 -61
  162. data/vendor/assets/build/medias/rubies/examples/Old_examples/drag_and_drop_import.rb +0 -1
  163. data/vendor/assets/build/medias/rubies/examples/Old_examples/drop.rb +0 -23
  164. data/vendor/assets/build/medias/rubies/examples/Old_examples/duplicate.rb +0 -11
  165. data/vendor/assets/build/medias/rubies/examples/Old_examples/edit.rb +0 -6
  166. data/vendor/assets/build/medias/rubies/examples/Old_examples/eval.rb +0 -9
  167. data/vendor/assets/build/medias/rubies/examples/Old_examples/extract_detach.rb +0 -23
  168. data/vendor/assets/build/medias/rubies/examples/Old_examples/fill.rb +0 -10
  169. data/vendor/assets/build/medias/rubies/examples/Old_examples/find.rb +0 -37
  170. data/vendor/assets/build/medias/rubies/examples/Old_examples/fit.rb +0 -44
  171. data/vendor/assets/build/medias/rubies/examples/Old_examples/fullscreen.rb +0 -28
  172. data/vendor/assets/build/medias/rubies/examples/Old_examples/generate.rb +0 -7
  173. data/vendor/assets/build/medias/rubies/examples/Old_examples/gradient.rb +0 -24
  174. data/vendor/assets/build/medias/rubies/examples/Old_examples/group.rb +0 -21
  175. data/vendor/assets/build/medias/rubies/examples/Old_examples/helper.rb +0 -64
  176. data/vendor/assets/build/medias/rubies/examples/Old_examples/history.rb +0 -7
  177. data/vendor/assets/build/medias/rubies/examples/Old_examples/hue.rb +0 -10
  178. data/vendor/assets/build/medias/rubies/examples/Old_examples/input_text.rb +0 -54
  179. data/vendor/assets/build/medias/rubies/examples/Old_examples/insert_attach.rb +0 -13
  180. data/vendor/assets/build/medias/rubies/examples/Old_examples/internationalisation.rb +0 -10
  181. data/vendor/assets/build/medias/rubies/examples/Old_examples/key.rb +0 -19
  182. data/vendor/assets/build/medias/rubies/examples/Old_examples/keyboard_shortcut.rb +0 -69
  183. data/vendor/assets/build/medias/rubies/examples/Old_examples/list_methods.rb +0 -4
  184. data/vendor/assets/build/medias/rubies/examples/Old_examples/list_types.rb +0 -4
  185. data/vendor/assets/build/medias/rubies/examples/Old_examples/listen.rb +0 -47
  186. data/vendor/assets/build/medias/rubies/examples/Old_examples/mail.rb +0 -9
  187. data/vendor/assets/build/medias/rubies/examples/Old_examples/map.rb +0 -6
  188. data/vendor/assets/build/medias/rubies/examples/Old_examples/mask.rb +0 -15
  189. data/vendor/assets/build/medias/rubies/examples/Old_examples/media_recorder.rb +0 -24
  190. data/vendor/assets/build/medias/rubies/examples/Old_examples/media_streaming.rb +0 -41
  191. data/vendor/assets/build/medias/rubies/examples/Old_examples/meteo.rb +0 -41
  192. data/vendor/assets/build/medias/rubies/examples/Old_examples/methods_chaining.rb +0 -8
  193. data/vendor/assets/build/medias/rubies/examples/Old_examples/midi.rb +0 -37
  194. data/vendor/assets/build/medias/rubies/examples/Old_examples/monitoring.rb +0 -47
  195. data/vendor/assets/build/medias/rubies/examples/Old_examples/mulitrendering.rb +0 -7
  196. data/vendor/assets/build/medias/rubies/examples/Old_examples/noise_gradient_texture.rb +0 -26
  197. data/vendor/assets/build/medias/rubies/examples/Old_examples/notification.rb +0 -9
  198. data/vendor/assets/build/medias/rubies/examples/Old_examples/object_in_object.rb +0 -13
  199. data/vendor/assets/build/medias/rubies/examples/Old_examples/on_resize.rb +0 -12
  200. data/vendor/assets/build/medias/rubies/examples/Old_examples/over.rb +0 -15
  201. data/vendor/assets/build/medias/rubies/examples/Old_examples/overflow.rb +0 -22
  202. data/vendor/assets/build/medias/rubies/examples/Old_examples/parameter.rb +0 -14
  203. data/vendor/assets/build/medias/rubies/examples/Old_examples/parent.rb +0 -19
  204. data/vendor/assets/build/medias/rubies/examples/Old_examples/particle.rb +0 -15
  205. data/vendor/assets/build/medias/rubies/examples/Old_examples/pay.rb +0 -7
  206. data/vendor/assets/build/medias/rubies/examples/Old_examples/ping.rb +0 -7
  207. data/vendor/assets/build/medias/rubies/examples/Old_examples/play.rb +0 -24
  208. data/vendor/assets/build/medias/rubies/examples/Old_examples/play_audio.rb +0 -6
  209. data/vendor/assets/build/medias/rubies/examples/Old_examples/position.rb +0 -7
  210. data/vendor/assets/build/medias/rubies/examples/Old_examples/read_file.rb +0 -9
  211. data/vendor/assets/build/medias/rubies/examples/Old_examples/reboot.rb +0 -15
  212. data/vendor/assets/build/medias/rubies/examples/Old_examples/refresh.rb +0 -17
  213. data/vendor/assets/build/medias/rubies/examples/Old_examples/remote_server.rb +0 -31
  214. data/vendor/assets/build/medias/rubies/examples/Old_examples/render.rb +0 -17
  215. data/vendor/assets/build/medias/rubies/examples/Old_examples/repeat.rb +0 -19
  216. data/vendor/assets/build/medias/rubies/examples/Old_examples/require_remote.rb +0 -3
  217. data/vendor/assets/build/medias/rubies/examples/Old_examples/restore_atome.rb +0 -11
  218. data/vendor/assets/build/medias/rubies/examples/Old_examples/resurect.rb +0 -30
  219. data/vendor/assets/build/medias/rubies/examples/Old_examples/ruby_version.rb +0 -1
  220. data/vendor/assets/build/medias/rubies/examples/Old_examples/say.rb +0 -3
  221. data/vendor/assets/build/medias/rubies/examples/Old_examples/scale.rb +0 -41
  222. data/vendor/assets/build/medias/rubies/examples/Old_examples/schedule.rb +0 -39
  223. data/vendor/assets/build/medias/rubies/examples/Old_examples/scroll.rb +0 -9
  224. data/vendor/assets/build/medias/rubies/examples/Old_examples/select.rb +0 -32
  225. data/vendor/assets/build/medias/rubies/examples/Old_examples/selector.rb +0 -6
  226. data/vendor/assets/build/medias/rubies/examples/Old_examples/shadow.rb +0 -30
  227. data/vendor/assets/build/medias/rubies/examples/Old_examples/shape_with_path.rb +0 -7
  228. data/vendor/assets/build/medias/rubies/examples/Old_examples/size.rb +0 -109
  229. data/vendor/assets/build/medias/rubies/examples/Old_examples/smooth.rb +0 -5
  230. data/vendor/assets/build/medias/rubies/examples/Old_examples/speech_renderer.rb +0 -5
  231. data/vendor/assets/build/medias/rubies/examples/Old_examples/synth.rb +0 -6
  232. data/vendor/assets/build/medias/rubies/examples/Old_examples/system.rb +0 -3
  233. data/vendor/assets/build/medias/rubies/examples/Old_examples/tags.rb +0 -18
  234. data/vendor/assets/build/medias/rubies/examples/Old_examples/text.rb +0 -33
  235. data/vendor/assets/build/medias/rubies/examples/Old_examples/text_selection.rb +0 -33
  236. data/vendor/assets/build/medias/rubies/examples/Old_examples/text_to_midi.rb +0 -22
  237. data/vendor/assets/build/medias/rubies/examples/Old_examples/touch.rb +0 -23
  238. data/vendor/assets/build/medias/rubies/examples/Old_examples/touch_stop_propagation.rb +0 -27
  239. data/vendor/assets/build/medias/rubies/examples/Old_examples/treat_object_in_object.rb +0 -26
  240. data/vendor/assets/build/medias/rubies/examples/Old_examples/type_mutations.rb +0 -27
  241. data/vendor/assets/build/medias/rubies/examples/Old_examples/video_callback.rb +0 -46
  242. data/vendor/assets/build/medias/rubies/examples/Old_examples/view_mode.rb +0 -29
  243. data/vendor/assets/build/medias/rubies/examples/Old_examples/virtual_events.rb +0 -17
  244. data/vendor/assets/build/medias/rubies/examples/Old_examples/visual.rb +0 -23
  245. data/vendor/assets/build/medias/rubies/examples/Old_examples/vr_display.rb +0 -5
  246. data/vendor/assets/build/medias/rubies/examples/Old_examples/wait.rb +0 -21
  247. data/vendor/assets/build/medias/rubies/examples/Old_examples/web.rb +0 -10
  248. data/vendor/assets/build/medias/rubies/examples/Old_examples/web_address_bar.rb +0 -14
  249. data/vendor/assets/build/medias/rubies/examples/Old_examples/websocket.rb +0 -16
  250. data/vendor/assets/build/medias/rubies/examples/Old_examples/webstate.rb +0 -10
  251. data/vendor/assets/build/medias/rubies/examples/animation.rb +0 -0
  252. data/vendor/assets/build/medias/rubies/examples/code.rb +0 -5
  253. data/vendor/assets/build/medias/rubies/examples/link.rb +0 -11
  254. data/vendor/assets/build/medias/videos/avengers.mp4 +0 -0
  255. data/vendor/assets/build/medias/videos/lion_king.mp4 +0 -0
  256. data/vendor/assets/build/medias/videos/madmax.mp4 +0 -0
  257. data/vendor/assets/build/medias/videos/starwars.mov +0 -0
  258. data/vendor/assets/build/medias/videos/superman.mp4 +0 -0
@@ -1,14 +0,0 @@
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
@@ -1,19 +0,0 @@
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
@@ -1,15 +0,0 @@
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)
@@ -1,7 +0,0 @@
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
@@ -1,7 +0,0 @@
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
-
@@ -1,24 +0,0 @@
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
@@ -1,6 +0,0 @@
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
@@ -1,7 +0,0 @@
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)
@@ -1,9 +0,0 @@
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
@@ -1,15 +0,0 @@
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
@@ -1,17 +0,0 @@
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" })
@@ -1,31 +0,0 @@
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
@@ -1,17 +0,0 @@
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
@@ -1,19 +0,0 @@
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
@@ -1,3 +0,0 @@
1
- # require remote example
2
-
3
- coding({ atome_id: :code_editor, content: "require 'my_big_test.rb'" })
@@ -1,11 +0,0 @@
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
-
@@ -1,30 +0,0 @@
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
@@ -1,3 +0,0 @@
1
- # say example
2
-
3
- ATOME.say("salut tout le monde!!")
@@ -1,41 +0,0 @@
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
@@ -1,39 +0,0 @@
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
@@ -1,9 +0,0 @@
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
@@ -1,32 +0,0 @@
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
@@ -1,6 +0,0 @@
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}"
@@ -1,30 +0,0 @@
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
@@ -1,7 +0,0 @@
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
@@ -1,109 +0,0 @@
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
@@ -1,5 +0,0 @@
1
- # smooth example
2
-
3
- b=box({color: :orange})
4
- b.x(250)
5
- b.smooth([25 ,7])
@@ -1,5 +0,0 @@
1
- # example speech rendering
2
-
3
- b=box({ language: :english,engine: :speech})
4
-
5
- c=circle( language: :french,engine: :speech)
@@ -1,6 +0,0 @@
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
@@ -1,3 +0,0 @@
1
- # system
2
-
3
- system("open", "http://localhost:9292")
@@ -1,18 +0,0 @@
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
-
@@ -1,33 +0,0 @@
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