atome 0.4.7.0 → 0.5.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (262) 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.rb +129 -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 +38 -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 +10 -0
  16. data/lib/atome/genesis/generators/geometry.rb +6 -0
  17. data/lib/atome/genesis/generators/identity.rb +29 -0
  18. data/lib/atome/genesis/generators/material.rb +10 -0
  19. data/lib/atome/genesis/generators/spatial.rb +13 -0
  20. data/lib/atome/genesis/generators/utility.rb +31 -0
  21. data/lib/atome/genesis/genesis.rb +46 -0
  22. data/lib/atome/genesis/sparkle.rb +58 -0
  23. data/lib/atome/helpers/callbacks.rb +12 -0
  24. data/lib/atome/helpers/color_helper/color/cmyk.rb +263 -0
  25. data/lib/atome/helpers/color_helper/color/css.rb +7 -0
  26. data/lib/atome/helpers/color_helper/color/grayscale.rb +197 -0
  27. data/lib/atome/helpers/color_helper/color/hsl.rb +240 -0
  28. data/lib/atome/helpers/color_helper/color/palette/adobecolor.rb +260 -0
  29. data/lib/atome/helpers/color_helper/color/palette/gimp.rb +104 -0
  30. data/lib/atome/helpers/color_helper/color/palette/monocontrast.rb +164 -0
  31. data/lib/atome/helpers/color_helper/color/palette.rb +4 -0
  32. data/lib/atome/helpers/color_helper/color/rgb/colors.rb +167 -0
  33. data/lib/atome/helpers/color_helper/color/rgb/contrast.rb +57 -0
  34. data/lib/atome/helpers/color_helper/color/rgb/metallic.rb +28 -0
  35. data/lib/atome/helpers/color_helper/color/rgb.rb +715 -0
  36. data/lib/atome/helpers/color_helper/color/yiq.rb +62 -0
  37. data/lib/atome/helpers/color_helper/color.rb +196 -0
  38. data/lib/atome/helpers/essentials.rb +42 -0
  39. data/lib/atome/helpers/sanitizer.rb +23 -0
  40. data/lib/atome/helpers/utilities.rb +54 -0
  41. data/lib/atome/kernel/essentials.rb +23 -0
  42. data/lib/atome/kernel/universe.rb +92 -26
  43. data/lib/atome/presets/atome.rb +88 -0
  44. data/lib/atome/processors/utilities.rb +10 -0
  45. data/lib/atome/renderers/browser/atome.rb +108 -0
  46. data/lib/atome/renderers/browser/browser.rb +225 -0
  47. data/lib/atome/renderers/browser/effect.rb +23 -0
  48. data/lib/atome/renderers/browser/event.rb +37 -0
  49. data/lib/atome/renderers/browser/geometry.rb +11 -0
  50. data/lib/atome/renderers/browser/identity.rb +24 -0
  51. data/lib/atome/renderers/browser/material.rb +43 -0
  52. data/lib/atome/renderers/{opal → browser}/opal_browser.rb +0 -2
  53. data/lib/atome/renderers/browser/spatial.rb +23 -0
  54. data/lib/atome/renderers/browser/utility.rb +39 -0
  55. data/lib/atome/renderers/headless/headless.rb +10 -0
  56. data/lib/atome/renderers/headless/utility.rb +6 -0
  57. data/lib/atome/renderers/html/atome.rb +47 -0
  58. data/lib/atome/renderers/html/effect.rb +19 -0
  59. data/lib/atome/renderers/html/event.rb +9 -0
  60. data/lib/atome/renderers/html/geometry.rb +11 -0
  61. data/lib/atome/renderers/html/html.rb +42 -0
  62. data/lib/atome/renderers/html/identity.rb +14 -0
  63. data/lib/atome/renderers/html/opal_browser.rb +6 -0
  64. data/lib/atome/renderers/html/spatial.rb +28 -0
  65. data/lib/atome/renderers/html/utility.rb +17 -0
  66. data/lib/atome/renderers/opal/atome_opal_extensions.rb +1 -1
  67. data/lib/atome/renderers/opal/extensions/atome.rb +29 -0
  68. data/lib/atome/renderers/opal/opal.rb +4 -0
  69. data/lib/atome/renderers/renderer.rb +7 -7
  70. data/lib/atome/renderers/server/server.rb +10 -0
  71. data/lib/atome/renderers/server/utility.rb +6 -0
  72. data/lib/atome/version.rb +1 -2
  73. data/lib/atome.rb +25 -44
  74. data/vendor/assets/application/index.rb +3 -1
  75. data/vendor/assets/application/required_example.rb +1 -0
  76. data/vendor/assets/{build/js/application.js → aui.rb} +0 -0
  77. data/vendor/assets/build/css/style.css +51 -0
  78. data/vendor/assets/build/index.html +7 -8
  79. data/vendor/assets/build/js/atome/atome.js +141 -68
  80. data/vendor/assets/build/medias/rubies/examples/_2_solve.rb +13 -0
  81. data/vendor/assets/build/medias/rubies/examples/{animation.rb → _animation.rb} +0 -0
  82. data/vendor/assets/build/medias/rubies/examples/{drag.rb → _drag.rb} +1 -0
  83. data/vendor/assets/build/medias/rubies/examples/atome.new.rb +13 -10
  84. data/vendor/assets/build/medias/rubies/examples/auto_height.rb +2 -0
  85. data/vendor/assets/build/medias/rubies/examples/auto_width.rb +2 -0
  86. data/vendor/assets/build/medias/rubies/examples/blur.rb +4 -0
  87. data/vendor/assets/build/medias/rubies/examples/bottom.rb +3 -1
  88. data/vendor/assets/build/medias/rubies/examples/box.rb +12 -8
  89. data/vendor/assets/build/medias/rubies/examples/circle.rb +2 -0
  90. data/vendor/assets/build/medias/rubies/examples/clear.rb +2 -1
  91. data/vendor/assets/build/medias/rubies/examples/code.rb +10 -4
  92. data/vendor/assets/build/medias/rubies/examples/color.rb +47 -8
  93. data/vendor/assets/build/medias/rubies/examples/create_atome_in_atome.rb +2 -0
  94. data/vendor/assets/build/medias/rubies/examples/delete.rb +7 -0
  95. data/vendor/assets/build/medias/rubies/examples/element.rb +6 -0
  96. data/vendor/assets/build/medias/rubies/examples/fullscreen.rb +15 -0
  97. data/vendor/assets/build/medias/rubies/examples/get_renderer_list.rb +3 -1
  98. data/vendor/assets/build/medias/rubies/examples/grab.rb +2 -0
  99. data/vendor/assets/build/medias/rubies/examples/height.rb +7 -2
  100. data/vendor/assets/build/medias/rubies/examples/id.rb +14 -0
  101. data/vendor/assets/build/medias/rubies/examples/image.rb +6 -2
  102. data/vendor/assets/build/medias/rubies/examples/left.rb +7 -2
  103. data/vendor/assets/build/medias/rubies/examples/link.rb +12 -3
  104. data/vendor/assets/build/medias/rubies/examples/monitoring.rb +33 -0
  105. data/vendor/assets/build/medias/rubies/examples/on.rb +11 -7
  106. data/vendor/assets/build/medias/rubies/examples/parent.rb +7 -5
  107. data/vendor/assets/build/medias/rubies/examples/read.rb +6 -2
  108. data/vendor/assets/build/medias/rubies/examples/refresh.rb +8 -0
  109. data/vendor/assets/build/medias/rubies/examples/repeat.rb +2 -0
  110. data/vendor/assets/build/medias/rubies/examples/right.rb +3 -1
  111. data/vendor/assets/build/medias/rubies/examples/rotate.rb +2 -0
  112. data/vendor/assets/build/medias/rubies/examples/schedule.rb +8 -11
  113. data/vendor/assets/build/medias/rubies/examples/shadow.rb +30 -0
  114. data/vendor/assets/build/medias/rubies/examples/smooth.rb +2 -0
  115. data/vendor/assets/build/medias/rubies/examples/text.rb +21 -7
  116. data/vendor/assets/build/medias/rubies/examples/top.rb +3 -0
  117. data/vendor/assets/build/medias/rubies/examples/touch.rb +7 -0
  118. data/vendor/assets/build/medias/rubies/examples/video.rb +32 -23
  119. data/vendor/assets/build/medias/rubies/examples/wait.rb +8 -3
  120. data/vendor/assets/build/medias/rubies/examples/web.rb +7 -4
  121. data/vendor/assets/build/medias/rubies/examples/width.rb +6 -2
  122. data/vendor/assets/server/atome_server.rb +3 -5
  123. metadata +76 -164
  124. data/lib/atome/atome_native_extensions.rb +0 -5
  125. data/lib/atome/extensions/helper.rb +0 -112
  126. data/lib/atome/kernel/atome.rb +0 -99
  127. data/lib/atome/kernel/generators/generator.rb +0 -517
  128. data/lib/atome/kernel/generators/genesis.rb +0 -277
  129. data/lib/atome/kernel/generators/sanitizer.rb +0 -73
  130. data/lib/atome/kernel/generators/shapes.rb +0 -55
  131. data/lib/atome/kernel/helpers/internal_methods.rb +0 -173
  132. data/lib/atome/kernel/helpers/utilities.rb +0 -39
  133. data/lib/atome/kernel/properties/essential.rb +0 -77
  134. data/lib/atome/kernel/sparkle.rb +0 -38
  135. data/lib/atome/renderers/opal/properties/generator.rb +0 -1
  136. data/lib/atome/renderers/server/properties/generator.rb +0 -9
  137. data/vendor/assets/build/medias/audios/guitar.wav +0 -0
  138. data/vendor/assets/build/medias/images/beach.jpg +0 -0
  139. data/vendor/assets/build/medias/rubies/examples/Old_examples/!demos.rb +0 -111
  140. data/vendor/assets/build/medias/rubies/examples/Old_examples/action.rb +0 -12
  141. data/vendor/assets/build/medias/rubies/examples/Old_examples/add.rb +0 -26
  142. data/vendor/assets/build/medias/rubies/examples/Old_examples/alignment.rb +0 -27
  143. data/vendor/assets/build/medias/rubies/examples/Old_examples/animation.rb +0 -92
  144. data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_as_property.rb +0 -20
  145. data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_list.rb +0 -4
  146. data/vendor/assets/build/medias/rubies/examples/Old_examples/atomiser.rb +0 -17
  147. data/vendor/assets/build/medias/rubies/examples/Old_examples/attach_extract.rb +0 -13
  148. data/vendor/assets/build/medias/rubies/examples/Old_examples/authorisation.rb +0 -22
  149. data/vendor/assets/build/medias/rubies/examples/Old_examples/batch.rb +0 -6
  150. data/vendor/assets/build/medias/rubies/examples/Old_examples/blend.rb +0 -15
  151. data/vendor/assets/build/medias/rubies/examples/Old_examples/blur.rb +0 -9
  152. data/vendor/assets/build/medias/rubies/examples/Old_examples/border.rb +0 -9
  153. data/vendor/assets/build/medias/rubies/examples/Old_examples/calendar.rb +0 -5
  154. data/vendor/assets/build/medias/rubies/examples/Old_examples/capture.rb +0 -57
  155. data/vendor/assets/build/medias/rubies/examples/Old_examples/center.rb +0 -21
  156. data/vendor/assets/build/medias/rubies/examples/Old_examples/child.rb +0 -18
  157. data/vendor/assets/build/medias/rubies/examples/Old_examples/clear.rb +0 -21
  158. data/vendor/assets/build/medias/rubies/examples/Old_examples/clip.rb +0 -11
  159. data/vendor/assets/build/medias/rubies/examples/Old_examples/code.rb +0 -7
  160. data/vendor/assets/build/medias/rubies/examples/Old_examples/code_editor.rb +0 -26
  161. data/vendor/assets/build/medias/rubies/examples/Old_examples/collaborate.rb +0 -115
  162. data/vendor/assets/build/medias/rubies/examples/Old_examples/convert_to_px.rb +0 -14
  163. data/vendor/assets/build/medias/rubies/examples/Old_examples/copy_paste.rb +0 -35
  164. data/vendor/assets/build/medias/rubies/examples/Old_examples/current_code.rb +0 -14
  165. data/vendor/assets/build/medias/rubies/examples/Old_examples/cursor.rb +0 -3
  166. data/vendor/assets/build/medias/rubies/examples/Old_examples/data.rb +0 -11
  167. data/vendor/assets/build/medias/rubies/examples/Old_examples/database.rb +0 -29
  168. data/vendor/assets/build/medias/rubies/examples/Old_examples/delete.rb +0 -12
  169. data/vendor/assets/build/medias/rubies/examples/Old_examples/display.rb +0 -19
  170. data/vendor/assets/build/medias/rubies/examples/Old_examples/disposition.rb +0 -10
  171. data/vendor/assets/build/medias/rubies/examples/Old_examples/double_and_long_touch.rb +0 -23
  172. data/vendor/assets/build/medias/rubies/examples/Old_examples/drag.rb +0 -61
  173. data/vendor/assets/build/medias/rubies/examples/Old_examples/drag_and_drop_import.rb +0 -1
  174. data/vendor/assets/build/medias/rubies/examples/Old_examples/drop.rb +0 -23
  175. data/vendor/assets/build/medias/rubies/examples/Old_examples/duplicate.rb +0 -11
  176. data/vendor/assets/build/medias/rubies/examples/Old_examples/edit.rb +0 -6
  177. data/vendor/assets/build/medias/rubies/examples/Old_examples/eval.rb +0 -9
  178. data/vendor/assets/build/medias/rubies/examples/Old_examples/extract_detach.rb +0 -23
  179. data/vendor/assets/build/medias/rubies/examples/Old_examples/fill.rb +0 -10
  180. data/vendor/assets/build/medias/rubies/examples/Old_examples/find.rb +0 -37
  181. data/vendor/assets/build/medias/rubies/examples/Old_examples/fit.rb +0 -44
  182. data/vendor/assets/build/medias/rubies/examples/Old_examples/fullscreen.rb +0 -28
  183. data/vendor/assets/build/medias/rubies/examples/Old_examples/generate.rb +0 -7
  184. data/vendor/assets/build/medias/rubies/examples/Old_examples/gradient.rb +0 -24
  185. data/vendor/assets/build/medias/rubies/examples/Old_examples/group.rb +0 -21
  186. data/vendor/assets/build/medias/rubies/examples/Old_examples/helper.rb +0 -64
  187. data/vendor/assets/build/medias/rubies/examples/Old_examples/history.rb +0 -7
  188. data/vendor/assets/build/medias/rubies/examples/Old_examples/hue.rb +0 -10
  189. data/vendor/assets/build/medias/rubies/examples/Old_examples/input_text.rb +0 -54
  190. data/vendor/assets/build/medias/rubies/examples/Old_examples/insert_attach.rb +0 -13
  191. data/vendor/assets/build/medias/rubies/examples/Old_examples/internationalisation.rb +0 -10
  192. data/vendor/assets/build/medias/rubies/examples/Old_examples/key.rb +0 -19
  193. data/vendor/assets/build/medias/rubies/examples/Old_examples/keyboard_shortcut.rb +0 -69
  194. data/vendor/assets/build/medias/rubies/examples/Old_examples/list_methods.rb +0 -4
  195. data/vendor/assets/build/medias/rubies/examples/Old_examples/list_types.rb +0 -4
  196. data/vendor/assets/build/medias/rubies/examples/Old_examples/listen.rb +0 -47
  197. data/vendor/assets/build/medias/rubies/examples/Old_examples/mail.rb +0 -9
  198. data/vendor/assets/build/medias/rubies/examples/Old_examples/map.rb +0 -6
  199. data/vendor/assets/build/medias/rubies/examples/Old_examples/mask.rb +0 -15
  200. data/vendor/assets/build/medias/rubies/examples/Old_examples/media_recorder.rb +0 -24
  201. data/vendor/assets/build/medias/rubies/examples/Old_examples/media_streaming.rb +0 -41
  202. data/vendor/assets/build/medias/rubies/examples/Old_examples/meteo.rb +0 -41
  203. data/vendor/assets/build/medias/rubies/examples/Old_examples/methods_chaining.rb +0 -8
  204. data/vendor/assets/build/medias/rubies/examples/Old_examples/midi.rb +0 -37
  205. data/vendor/assets/build/medias/rubies/examples/Old_examples/monitoring.rb +0 -47
  206. data/vendor/assets/build/medias/rubies/examples/Old_examples/mulitrendering.rb +0 -7
  207. data/vendor/assets/build/medias/rubies/examples/Old_examples/noise_gradient_texture.rb +0 -26
  208. data/vendor/assets/build/medias/rubies/examples/Old_examples/notification.rb +0 -9
  209. data/vendor/assets/build/medias/rubies/examples/Old_examples/object_in_object.rb +0 -13
  210. data/vendor/assets/build/medias/rubies/examples/Old_examples/on_resize.rb +0 -12
  211. data/vendor/assets/build/medias/rubies/examples/Old_examples/over.rb +0 -15
  212. data/vendor/assets/build/medias/rubies/examples/Old_examples/overflow.rb +0 -22
  213. data/vendor/assets/build/medias/rubies/examples/Old_examples/parameter.rb +0 -14
  214. data/vendor/assets/build/medias/rubies/examples/Old_examples/parent.rb +0 -19
  215. data/vendor/assets/build/medias/rubies/examples/Old_examples/particle.rb +0 -15
  216. data/vendor/assets/build/medias/rubies/examples/Old_examples/pay.rb +0 -7
  217. data/vendor/assets/build/medias/rubies/examples/Old_examples/ping.rb +0 -7
  218. data/vendor/assets/build/medias/rubies/examples/Old_examples/play.rb +0 -24
  219. data/vendor/assets/build/medias/rubies/examples/Old_examples/play_audio.rb +0 -6
  220. data/vendor/assets/build/medias/rubies/examples/Old_examples/position.rb +0 -7
  221. data/vendor/assets/build/medias/rubies/examples/Old_examples/read_file.rb +0 -9
  222. data/vendor/assets/build/medias/rubies/examples/Old_examples/reboot.rb +0 -15
  223. data/vendor/assets/build/medias/rubies/examples/Old_examples/refresh.rb +0 -17
  224. data/vendor/assets/build/medias/rubies/examples/Old_examples/remote_server.rb +0 -31
  225. data/vendor/assets/build/medias/rubies/examples/Old_examples/render.rb +0 -17
  226. data/vendor/assets/build/medias/rubies/examples/Old_examples/repeat.rb +0 -19
  227. data/vendor/assets/build/medias/rubies/examples/Old_examples/require_remote.rb +0 -3
  228. data/vendor/assets/build/medias/rubies/examples/Old_examples/restore_atome.rb +0 -11
  229. data/vendor/assets/build/medias/rubies/examples/Old_examples/resurect.rb +0 -30
  230. data/vendor/assets/build/medias/rubies/examples/Old_examples/ruby_version.rb +0 -1
  231. data/vendor/assets/build/medias/rubies/examples/Old_examples/say.rb +0 -3
  232. data/vendor/assets/build/medias/rubies/examples/Old_examples/scale.rb +0 -41
  233. data/vendor/assets/build/medias/rubies/examples/Old_examples/schedule.rb +0 -39
  234. data/vendor/assets/build/medias/rubies/examples/Old_examples/scroll.rb +0 -9
  235. data/vendor/assets/build/medias/rubies/examples/Old_examples/select.rb +0 -32
  236. data/vendor/assets/build/medias/rubies/examples/Old_examples/selector.rb +0 -6
  237. data/vendor/assets/build/medias/rubies/examples/Old_examples/shadow.rb +0 -30
  238. data/vendor/assets/build/medias/rubies/examples/Old_examples/shape_with_path.rb +0 -7
  239. data/vendor/assets/build/medias/rubies/examples/Old_examples/size.rb +0 -109
  240. data/vendor/assets/build/medias/rubies/examples/Old_examples/smooth.rb +0 -5
  241. data/vendor/assets/build/medias/rubies/examples/Old_examples/speech_renderer.rb +0 -5
  242. data/vendor/assets/build/medias/rubies/examples/Old_examples/synth.rb +0 -6
  243. data/vendor/assets/build/medias/rubies/examples/Old_examples/system.rb +0 -3
  244. data/vendor/assets/build/medias/rubies/examples/Old_examples/tags.rb +0 -18
  245. data/vendor/assets/build/medias/rubies/examples/Old_examples/text.rb +0 -33
  246. data/vendor/assets/build/medias/rubies/examples/Old_examples/text_selection.rb +0 -33
  247. data/vendor/assets/build/medias/rubies/examples/Old_examples/text_to_midi.rb +0 -22
  248. data/vendor/assets/build/medias/rubies/examples/Old_examples/touch.rb +0 -23
  249. data/vendor/assets/build/medias/rubies/examples/Old_examples/touch_stop_propagation.rb +0 -27
  250. data/vendor/assets/build/medias/rubies/examples/Old_examples/treat_object_in_object.rb +0 -26
  251. data/vendor/assets/build/medias/rubies/examples/Old_examples/type_mutations.rb +0 -27
  252. data/vendor/assets/build/medias/rubies/examples/Old_examples/video_callback.rb +0 -46
  253. data/vendor/assets/build/medias/rubies/examples/Old_examples/view_mode.rb +0 -29
  254. data/vendor/assets/build/medias/rubies/examples/Old_examples/virtual_events.rb +0 -17
  255. data/vendor/assets/build/medias/rubies/examples/Old_examples/visual.rb +0 -23
  256. data/vendor/assets/build/medias/rubies/examples/Old_examples/vr_display.rb +0 -5
  257. data/vendor/assets/build/medias/rubies/examples/Old_examples/wait.rb +0 -21
  258. data/vendor/assets/build/medias/rubies/examples/Old_examples/web.rb +0 -10
  259. data/vendor/assets/build/medias/rubies/examples/Old_examples/web_address_bar.rb +0 -14
  260. data/vendor/assets/build/medias/rubies/examples/Old_examples/websocket.rb +0 -16
  261. data/vendor/assets/build/medias/rubies/examples/Old_examples/webstate.rb +0 -10
  262. data/vendor/assets/build/medias/videos/lion_king.mp4 +0 -0
@@ -1,12 +1,15 @@
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
- )
1
+ # frozen_string_literal: true
6
2
 
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:
3
+ Atome.new(
4
+ shape: { type: :shape, renderers: [:browser], id: :the_shape, parents: [:view], children: [],
5
+ left: 99, right: 99, width: 399, height: 99,
6
+ color: { renderers: [:browser], id: :c315, type: :color, parents: [:the_shape],children: [],
7
+ red: 0.3, green: 1, blue: 0.6, alpha: 1 } }
8
+ )
9
9
 
10
- a.shape.drag(true) do |x, y|
11
- puts "drag position: #{x}"
12
- end
10
+ Atome.new(
11
+ shape: { renderers: [:browser], id: :the_shape2, type: :shape, parents: [:view],children: [],
12
+ left: 99, right: 99, width: 99, height: 99,
13
+ color: { renderers: [:browser], id: :c31, type: :color, parents: [:the_shape2],children: [],
14
+ red: 1, green: 0.15, blue: 0.15, alpha: 0.6 } }
15
+ )
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  b = box({ height: :auto, width: 99, left: 333 })
2
4
  b.top(99)
3
5
  b.bottom(99)
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  b = box({ width: :auto, left: 333 })
2
4
  b.right(333)
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box({ id: :the_box, left: 99, top: 99 })
4
+ b.blur(2)
@@ -1 +1,3 @@
1
- box({ bottom: 12 })
1
+ # frozen_string_literal: true
2
+
3
+ box({bottom: 12 })
@@ -1,16 +1,20 @@
1
- box({ id: :my_box, left: 333 }) do |p|
2
- # callback is in the Genesis.atome_creator_option(:text_pre_save_proc)
3
- puts "ok box id is : #{id}"
1
+ # frozen_string_literal: true
2
+
3
+ a = box({ id: :my_box, left: 333 }) do |p|
4
+ puts "the param pass to the box is: #{p}"
4
5
  wait 2 do
5
- self.left(0)
6
+ left(120)
6
7
  end
7
8
  end
8
9
 
9
- Atome.new(
10
- { shape: { render: [:html], id: :view_test, type: :shape, parent: [:view],
10
+ b = Atome.new(
11
+ { shape: { renderers: [:browser], id: :view_test, type: :shape, parents: [:view],children: [],
11
12
  left: 0, width: 90, top: 0, height: 90, overflow: :auto,
12
- color: { render: [:html], id: :view_test_color, type: :color,
13
+ color: { renderers: [:browser], id: :view_test_color, type: :color, parents: [:view_test],
13
14
  red: 1, green: 0.15, blue: 0.15, alpha: 1 } } }
14
15
  ) do |p|
15
- puts "ok Atome.new(box) id is : #{id}"
16
+ puts "the param pass to the atome is: #{p}"
17
+
16
18
  end
19
+ a.run(:hello)
20
+ b.run(:hi)
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  circle({ width: 333, left: 333 })
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  box(id: :my_box)
3
4
 
4
5
  circle(left: 333)
5
6
 
6
7
  wait 2 do
7
- grab(:view).clear
8
+ grab(:view).clear(true)
8
9
  end
9
10
 
@@ -1,5 +1,11 @@
1
- mycode = <<Struct
2
- circle({color: :red})
3
- Struct
1
+ # frozen_string_literal: true
4
2
 
5
- Atome.new(code: { id: :code1, code: mycode })
3
+ a=Atome.new(code: { type: :code, renderers: [:headless], parents: [], children: [] }) do |params_found|
4
+ puts "the param is #{params_found}"
5
+ end
6
+ a.run(:super)
7
+ c=element do |params_found|
8
+ puts "you want me to print: #{params_found}"
9
+ end
10
+
11
+ c.run('it works')
@@ -1,13 +1,52 @@
1
+ # frozen_string_literal: true
2
+
1
3
  c = circle
4
+ # FIXME: bug we creating an object like this c = circle({ red: 1 })
5
+ # FIXME: bug we using a color twice or more only the first is colored: c = { red: 1 }; a.color(c),b.color(c)
6
+ # Example:
7
+ # c={ red: 1 }
8
+ # a=circle
9
+ # b=box({ left: 300 })
10
+ # a.color(c)
11
+ # b.color(c)
12
+ wait 1 do
13
+ # the most performant way :
14
+ # please note that in this case: render , id and type params must place in order
15
+ c.color(
16
+ { render: [:html], id: :c319, type: :color,
17
+ red: 1, green: 1, blue: 0.15, alpha: 0.6 }
18
+ )
19
+ end
20
+
21
+ wait 2 do
22
+ # now we overload the color
23
+ c.color({ red: 1 })
24
+ end
25
+
26
+ wait 4 do
27
+ # now the easy way
28
+ c.color(:yellow)
29
+ wait 1 do
30
+ c.color({ green: 1, blue: 0.69, alpha: 1 })
31
+ end
32
+ end
33
+
34
+ wait 5 do
35
+ d=c.color(:red)
36
+ wait 1 do
37
+ d.blue(0)
38
+ end
2
39
 
3
- # the easy way
4
- c.color(:red)
40
+ wait 2 do
41
+ d.red(1)
42
+ end
43
+ end
5
44
 
6
- # the most performant way :
45
+ circle({id: :the_circle})
7
46
 
8
- c.color(
9
- { render: [:html], id: :c319, type: :color,
10
- red: 1, green: 1, blue: 0.15, alpha: 0.6 }
11
- )
12
47
 
13
- # please note that render , id and type params must place in order
48
+ wait 2 do
49
+ the_col=Atome.new({ color: { renderers: [:browser], id: :c31, type: :color, parents: [], children: [],
50
+ left: 33, top: 66, red: 0, green: 0.15, blue: 0.7, alpha: 0.6 } })
51
+ the_col.parents([:the_circle])
52
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  b = box({ width: 333, left: 333})
2
4
  b.height(33)
3
5
  b.left(333)
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box
4
+
5
+ wait 1 do
6
+ b.delete(true)
7
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ Atome.new(container: {id: :element14, type: :element ,data: :hello, renderers: []})
4
+
5
+ element(data: :hello_world)
6
+ puts "atomes are: #{Universe.atomes.keys}"
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ my_video = Atome.new(
4
+ video: { renderers: [:browser], id: :video1, type: :video, parents: [:view],
5
+ path: './medias/videos/avengers.mp4', left: 333, top: 33, width: 777
6
+ }
7
+ ) do |params|
8
+ puts "video callback here #{params}"
9
+ end
10
+ my_video.play(true)
11
+
12
+
13
+ my_video.touch(true) do
14
+ my_video.fullscreen
15
+ end
@@ -1 +1,3 @@
1
- puts Utilities.renderer_list
1
+ # frozen_string_literal: true
2
+
3
+ puts Universe.renderer_list
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  box({id: :my_box})
2
4
  # allow to get any atome using it's id
3
5
  grab(:my_box).color(:yellow)
@@ -1,2 +1,7 @@
1
- b = box({ left: 333 })
2
- b.height(33)
1
+ # frozen_string_literal: true
2
+
3
+ b = box({left: 333 })
4
+
5
+ wait 1 do
6
+ b.height(33)
7
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box({ id: :my_box })
4
+ b.color(:orange)
5
+
6
+ b.id(:the_new_id)
7
+
8
+ wait 1 do
9
+ b.color(:blue)
10
+ end
11
+
12
+ wait 2 do
13
+ grab(:the_new_id).color(:cyan)
14
+ end
@@ -1,4 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  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,
4
+ image: { renderers: [:browser], id: :image1, type: :image, parents: [:view], path: "./medias/images/boat.png", left: 99, top: 120, width: 199, height: 199,
3
5
  }
4
- )
6
+ )
7
+
8
+ image({path: "./medias/images/moto.png", left: 33, top: 33})
@@ -1,2 +1,7 @@
1
- b = box({ left: 333 })
2
- b.left(333)
1
+ # frozen_string_literal: true
2
+
3
+ b = box({left: 333 })
4
+
5
+ wait 1 do
6
+ b.left(33)
7
+ end
@@ -1,11 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  text = Atome.new(
2
- text: { render: [:html], id: :text1, type: :text, parent: [:view], visual: { size: 33 }, data: "My text!", left: 300, top: 33, width: 199, height: 33, }
4
+ text: { renderers: [:browser], id: :my_text, type: :text, parents: [:view], children: [], visual: { size: 18 },
5
+ data: 'My first text!', left: 300, top: 33, width: 199, height: 33,
6
+ color: { renderers: [:browser], id: :c31, type: :color, parents: [:my_text], children: [],
7
+ red: 0.6, green: 0.6, blue: 0.6, alpha: 1 }
8
+ }
3
9
  )
4
10
 
11
+ Atome.new({ color: { renderers: [:browser], id: :new_col, type: :color, parents: [], children: [],
12
+ left: 33, top: 66, red: 0, green: 0.15, blue: 0.7, alpha: 0.6 } })
13
+
5
14
  # now we change the color all the object that share the care modified
6
15
  wait 1 do
7
- text.text.link(:c315)
16
+ text.link(:new_col)
8
17
  end
9
18
  wait 2 do
10
- grab(:c315).red(0)
19
+ grab(:new_col).red(1)
11
20
  end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ a = text({data: "open the console!"})
4
+ a.right(44).left(66)
5
+
6
+ b = Atome.new(shape: { type: :shape, id: :my_shape, children: [],parents: [:view], renderers: [:browser],
7
+ left: 0, right: 33
8
+ })
9
+
10
+ c = Atome.new(shape: { type: :shape, id: :my_pix,children: [], parents: [:view], renderers: [:browser],
11
+ left: 50, right: 78
12
+ })
13
+
14
+ a.monitor({ atomes: grab(:view).children.value, particles: [:left] }) do |atome,element, value|
15
+ puts "monitoring: #{atome.id}, #{element}, #{value}"
16
+ end
17
+
18
+ b.left(936)
19
+ b.left(777)
20
+ c.left(888)
21
+
22
+ #test 2
23
+ a = text({data: 'touch me and open the console'})
24
+
25
+ a.touch(true) do
26
+ a.color(:red)
27
+ a.left(333)
28
+ end
29
+
30
+ a.monitor({ atomes: grab(:view).children.value, particles: [:left] }) do |_atome,_element, value|
31
+ puts "the left value was change to : #{value}"
32
+
33
+ end
@@ -1,16 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  my_video = Atome.new(
2
- video: { render: [:html], data: :dummy, id: :video1, type: :video, parent: [:view], path: './medias/videos/avengers.mp4', left: 333, top: 333, width: 199, height: 99,
4
+ video: { renderers: [:browser], id: :video1, type: :video, parents: [:view],
5
+ path: './medias/videos/avengers.mp4', left: 333, top: 33, width: 777
3
6
  }
4
7
  ) do |params|
5
8
  puts "video callback here #{params}"
6
9
  end
7
- my_video.video.play(true)
8
10
 
9
- # TODO int8! : language
11
+ my_video.play(true)
10
12
 
11
- # verif video
13
+ # video example
12
14
  grab(:video1).time(5)
13
- #
14
- grab(:video1).on(:pause) do |event|
15
- alert :stopped
15
+ wait 4 do
16
+ grab(:video1).pause(5)
16
17
  end
18
+ grab(:video1).on(:pause) do |_event|
19
+ puts :stopped
20
+ end
@@ -1,13 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  b=box({id: :c315})
2
4
  circle({id: :circle_12})
3
- grab(:c315).parent([:circle_12])
4
- b.parent([:circle_12])
5
+ grab(:c315).parents([:circle_12])
6
+ b.parents([:circle_12])
5
7
 
6
8
 
7
9
  circle({ id: :circle_123, color: :cyan })
8
10
  box({ id: :box_1, left: 333 })
9
11
  bb=box({top: 99})
10
- grab(:box_1).parent(:circle_123)
11
- grab(:color_circle_123).parent([:box_1])
12
+ grab(:box_1).parents([:circle_123])
13
+ grab(:color_circle_123).parents([:box_1])
12
14
 
13
- bb.parent([:box_1])
15
+ bb.parents([:box_1])
@@ -1,3 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  puts "Attention this method only work with a server due to security restriction "
2
- read('examples/image.rb', :ruby)
3
- read('examples/image.rb', :text)
4
+ a = element
5
+ a.read('rubies/examples/image.rb') do |params|
6
+ text({data: params})
7
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box
4
+ # TODO : repair the security flow below
5
+ b.atome[:left] = 300
6
+ wait 1 do
7
+ b.refresh
8
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  repeat 0.3, 10 do |evt|
2
4
  puts "hello:#{evt}:"
3
5
  end
@@ -1 +1,3 @@
1
- box({ right: 120 })
1
+ # frozen_string_literal: true
2
+
3
+ box({right: 120 })
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  b = box({ width: 333, left: 333 })
2
4
  b.rotate(999)
@@ -1,13 +1,10 @@
1
+ # frozen_string_literal: true
1
2
 
2
- " date can be entered in several ways , 2 digit it'll be the next time the seconds match ,
3
- 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 "
4
-
5
- time_to_run= Time.now+6
3
+ _alarm_format = '2022,11,27,12,06,0'
4
+ time_to_run = Time.now + 2
6
5
  puts 'event schedule'
7
- schedule(time_to_run) do
8
- puts 'event executed'
9
- # i=image({ content: :boat , drag: :true, x: 99, y:99 })
10
- # wait 2 do
11
- # i.delete(true)
12
- # end
13
- end
6
+ a = element
7
+
8
+ a.schedule(time_to_run) do
9
+ alert 'event executed'
10
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box({ id: :the_box, left: 99, top: 99 })
4
+
5
+ s = b.shadow({ renderers: [:browser], id: :shadow2, type: :shadow, parents: [], children: [],
6
+ left: 3, top: 9, blur: 3, direction: :inset,
7
+ red: 0, green: 0, blue: 0, alpha: 1
8
+ })
9
+
10
+
11
+ wait 1 do
12
+ s.parents([:the_box])
13
+ # or
14
+ # b.children([:shadow2])
15
+ wait 1 do
16
+ s.blur(9)
17
+ wait 1 do
18
+ wait 2 do
19
+ s.direction('')
20
+ s.green(0)
21
+ s.left(14)
22
+ wait 1 do
23
+ s.delete(true)
24
+ end
25
+ end
26
+ s.left(44)
27
+ s.green(0.7)
28
+ end
29
+ end
30
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  b = box({ width: 333, left: 333 })
2
4
 
3
5
  b.smooth([33, 2, 90])
@@ -1,18 +1,32 @@
1
- text({ id: :my_text, color: :lightgray }) do |p|
2
- puts "ok text id is : #{id}"
1
+ # frozen_string_literal: true
2
+
3
+ my_text = Atome.new(
4
+ text: { renderers: [:browser], id: :text1, type: :text, parents: [:view], children: [], visual: { size: 33 },
5
+ data: 'My first text!', left: 300, top: 33, width: 199, height: 33,
6
+ color: { renderers: [:browser], id: :c31, type: :color, parents: [:text1], children: [],
7
+ red: 0.6, green: 0.6, blue: 0.6, alpha: 1 }
8
+ }
9
+ )
10
+
11
+ wait 1.2 do
12
+ my_text.data(:kool)
3
13
  end
4
14
 
5
- text = Atome.new(
6
- text: { render: [:html], id: :text1, type: :text, parent: [:view], visual: { size: 33 }, data: "My text!", left: 300, top: 33, width: 199, height: 33, }
15
+ text({ id: :the_text, left: 0 })
16
+
17
+ text2 = Atome.new(
18
+ text: { renderers: [:browser], id: :text2, type: :text, parents: [:view], children: [], visual: { size: 33 },
19
+ data: 'My second text!', left: 300, top: 33, width: 199, height: 33 }
7
20
  ) do |p|
8
21
  puts "ok Atome.new(text) id is : #{id}"
9
22
  end
10
23
  wait 1.2 do
11
- text.text.data(:kool)
24
+ text2.text.data(:ok)
12
25
  end
13
26
 
14
- b = box({ drag: true, left: 66, top: 66 })
15
- my_text = b.text({ data: "drag the bloc behind me", width: 333 })
27
+ b = box({ left: 66, top: 66 })
28
+ my_text = b.text({ data: 'drag the bloc behind me', width: 333, left: 55 })
16
29
  wait 2 do
17
30
  my_text.color(:red)
18
31
  end
32
+
@@ -1 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ box({top: 120 })
1
4
 
@@ -1,6 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  b = box({ width: 333, left: 666})
2
4
 
3
5
  b.touch(true) do
4
6
  color({ render: [:html], id: "color_#{Universe.atomes.length}", type: :color,
5
7
  red: 1, green: 0.33, blue: 0.22, alpha: 1 })
8
+ end
9
+
10
+ text.touch(true) do
11
+ color(:yellow)
12
+ box
6
13
  end
@@ -1,42 +1,49 @@
1
+ # frozen_string_literal: true
2
+
1
3
  my_video = Atome.new(
2
- video: { render: [:html], id: :video1, type: :video, parent: [:view], path: './medias/videos/superman.mp4', left: 333, top: 333, width: 199, height: 99,
4
+ video: { renderers: [:browser], id: :video1, type: :video, parents: [:view], path: './medias/videos/superman.mp4',
5
+ left: 333, top: 112, width: 199, height: 99
3
6
  }
4
7
  ) do |params|
8
+ # puts "video callback time is #{params}, id is : #{id}"
5
9
  puts "video callback time is #{params}, id is : #{id}"
6
10
  end
7
- my_video.video.top(33)
8
- my_video.video.left(33)
11
+ wait 2 do
12
+ my_video.left(33)
13
+ my_video.width(444)
14
+ my_video.height(444)
15
+
16
+ end
9
17
 
10
- my_video.video.touch(true) do
11
- my_video.video.play(true) do |currentTime|
18
+ my_video.touch(true) do
19
+ my_video.play(true) do |currentTime|
12
20
  puts "play callback time is : #{currentTime}"
13
21
  end
14
22
  end
15
-
23
+ #############
16
24
  my_video2 = Atome.new(
17
- video: { render: [:html], id: :video9, type: :video, parent: [:view], path: './medias/videos/madmax.mp4', left: 666, top: 333, width: 199, height: 99,
18
- }
19
- #FIXME : positioning doesnt work
20
-
21
- ) do |params|
25
+ video: { renderers: [:browser], id: :video9, type: :video, parents: [:view], path: './medias/videos/madmax.mp4',
26
+ left: 666, top: 333, width: 199, height: 99,
27
+ }) do |params|
22
28
  puts "2- video callback time is #{params}, id is : #{id}"
23
29
  end
24
- my_video2.video.top(33)
25
- my_video2.video.left(333)
30
+ my_video2.top(33)
31
+ my_video2.left(333)
26
32
 
27
- my_video2.video.touch(true) do
28
- my_video2.video.play(true) do |currentTime|
33
+ my_video2.touch(true) do
34
+ my_video2.play(true) do |currentTime|
29
35
  puts "2 - play callback time is : #{currentTime}, id is : #{id}"
30
36
  end
31
37
  end
32
38
 
33
-
39
+ #############
34
40
  my_video3 = video({ path: './medias/videos/avengers.mp4', id: :video16 }) do |params|
35
41
  puts "3 - video callback here #{params}, id is : #{id}"
36
42
  end
37
-
38
- grab(:video16).on(:pause) do |event|
39
- alert ":supercool, id is : #{id}"
43
+ my_video3.width = my_video3.height = 333
44
+ my_video3.left(555)
45
+ grab(:video16).on(:pause) do |_event|
46
+ puts "id is : #{id}"
40
47
  end
41
48
  my_video3.touch(true) do
42
49
  grab(:video16).time(15)
@@ -44,9 +51,11 @@ my_video3.touch(true) do
44
51
  puts "3- play callback time is : #{currentTime}, id is : #{id}"
45
52
  end
46
53
  wait 3 do
47
- grab(:video16).pause(true) do |p|
48
- alert "paused, id is : #{id}"
54
+ puts "time is :#{my_video3.time}"
55
+ end
56
+ wait 6 do
57
+ grab(:video16).pause(true) do |time|
58
+ puts "paused at #{time} id is : #{id}"
49
59
  end
50
60
  end
51
- end
52
-
61
+ end
@@ -1,3 +1,8 @@
1
- wait 2 do
2
- puts "the wait is over"
3
- end
1
+ # frozen_string_literal: true
2
+
3
+ wait 1 do
4
+ box
5
+ wait 1 do
6
+ circle
7
+ end
8
+ end