atome 0.5.1.4 → 0.5.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +23 -2
  3. data/lib/atome/atome.rb +40 -18
  4. data/lib/atome/extensions/atome.rb +5 -26
  5. data/lib/atome/extensions/geolocation.rb +0 -1
  6. data/lib/atome/extensions/matrix.rb +171 -0
  7. data/lib/atome/extensions/ping.rb +9 -11
  8. data/lib/atome/genesis/generators/atome.rb +14 -2
  9. data/lib/atome/genesis/generators/communication.rb +1 -1
  10. data/lib/atome/genesis/generators/event.rb +36 -0
  11. data/lib/atome/genesis/generators/identity.rb +28 -2
  12. data/lib/atome/genesis/generators/material.rb +21 -0
  13. data/lib/atome/genesis/generators/spatial.rb +1 -0
  14. data/lib/atome/genesis/generators/utility.rb +20 -2
  15. data/lib/atome/genesis/genesis.rb +2 -2
  16. data/lib/atome/genesis/sparkle.rb +1 -1
  17. data/lib/atome/helpers/callbacks.rb +76 -0
  18. data/lib/atome/helpers/essentials.rb +10 -5
  19. data/lib/atome/helpers/utilities.rb +52 -8
  20. data/lib/atome/kernel/universe.rb +0 -4
  21. data/lib/atome/presets/atome.rb +12 -8
  22. data/lib/atome/renderers/browser/atome.rb +8 -19
  23. data/lib/atome/renderers/browser/browser.rb +15 -210
  24. data/lib/atome/renderers/browser/effect.rb +2 -2
  25. data/lib/atome/renderers/browser/event.rb +49 -11
  26. data/lib/atome/renderers/browser/geometry.rb +2 -2
  27. data/lib/atome/renderers/browser/helpers/animation_helper.rb +69 -0
  28. data/lib/atome/renderers/browser/helpers/browser_helper.rb +17 -0
  29. data/lib/atome/renderers/browser/helpers/color_helper.rb +33 -0
  30. data/lib/atome/renderers/browser/helpers/drag_helper.rb +39 -0
  31. data/lib/atome/renderers/browser/helpers/effect_helper.rb +26 -0
  32. data/lib/atome/renderers/browser/helpers/event_helper.rb +59 -0
  33. data/lib/atome/renderers/browser/helpers/image_helper.rb +27 -0
  34. data/lib/atome/renderers/browser/helpers/shadow_helper.rb +33 -0
  35. data/lib/atome/renderers/browser/helpers/shape_helper.rb +22 -0
  36. data/lib/atome/renderers/browser/helpers/text_helper.rb +26 -0
  37. data/lib/atome/renderers/browser/helpers/video_helper.rb +43 -0
  38. data/lib/atome/renderers/browser/helpers/web_helper.rb +30 -0
  39. data/lib/atome/renderers/browser/identity.rb +10 -3
  40. data/lib/atome/renderers/browser/material.rb +28 -5
  41. data/lib/atome/renderers/browser/spatial.rb +36 -5
  42. data/lib/atome/renderers/browser/utility.rb +21 -12
  43. data/lib/atome/renderers/headless/utility.rb +2 -2
  44. data/lib/atome/renderers/html/atome.rb +5 -5
  45. data/lib/atome/renderers/html/effect.rb +1 -1
  46. data/lib/atome/renderers/html/event.rb +1 -1
  47. data/lib/atome/renderers/html/geometry.rb +2 -2
  48. data/lib/atome/renderers/html/html.rb +1 -1
  49. data/lib/atome/renderers/html/identity.rb +2 -2
  50. data/lib/atome/renderers/html/spatial.rb +5 -5
  51. data/lib/atome/renderers/html/utility.rb +7 -7
  52. data/lib/atome/renderers/server/utility.rb +2 -2
  53. data/lib/atome/version.rb +1 -1
  54. data/lib/atome.rb +6 -4
  55. data/sig/atome.rbs +1 -0
  56. data/sig/atome_js.rbs +1 -0
  57. data/vendor/assets/build/css/style.css +25 -17
  58. data/vendor/assets/build/index.html +12 -3
  59. data/vendor/assets/build/js/atome/atome.js +150 -145
  60. data/vendor/assets/build/js/atome/atome_helpers/atome_animate.js +65 -0
  61. data/vendor/assets/build/js/atome/atome_helpers/atome_drag.js +85 -0
  62. data/vendor/assets/build/js/atome/atome_helpers/atome_file.js +7 -0
  63. data/vendor/assets/build/js/atome/atome_helpers/atome_sort.js +20 -0
  64. data/vendor/assets/build/js/atome/atome_helpers/atome_time.js +10 -0
  65. data/vendor/assets/build/js/atome/atome_helpers/atome_video.js +12 -0
  66. data/vendor/assets/build/js/third_parties/popmotion.min.js +1 -1
  67. data/vendor/assets/build/js/third_parties/sortable.min.js +2 -0
  68. data/vendor/assets/build/js/third_parties/wad.min.js +9 -0
  69. data/vendor/assets/build/medias/audios/Binrpilot.mp3 +0 -0
  70. data/vendor/assets/build/medias/rubies/examples/_2_solve.rb +45 -0
  71. data/vendor/assets/build/medias/rubies/examples/_audio.rb +178 -0
  72. data/vendor/assets/build/medias/rubies/examples/_dataset.rb +82 -0
  73. data/vendor/assets/build/medias/rubies/examples/_markers.rb +57 -0
  74. data/vendor/assets/build/medias/rubies/examples/_os.rb +29 -0
  75. data/vendor/assets/build/medias/rubies/examples/_vie.rb +211 -0
  76. data/vendor/assets/build/medias/rubies/examples/animation.rb +81 -0
  77. data/vendor/assets/build/medias/rubies/examples/at.rb +21 -0
  78. data/vendor/assets/build/medias/rubies/examples/{atome.new.rb → atome_new.rb} +5 -5
  79. data/vendor/assets/build/medias/rubies/examples/bottom.rb +1 -1
  80. data/vendor/assets/build/medias/rubies/examples/center.rb +21 -0
  81. data/vendor/assets/build/medias/rubies/examples/clone.rb +20 -0
  82. data/vendor/assets/build/medias/rubies/examples/color.rb +20 -15
  83. data/vendor/assets/build/medias/rubies/examples/cursor.rb +7 -0
  84. data/vendor/assets/build/medias/rubies/examples/delete.rb +25 -3
  85. data/vendor/assets/build/medias/rubies/examples/drag.rb +39 -0
  86. data/vendor/assets/build/medias/rubies/examples/edit.rb +12 -0
  87. data/vendor/assets/build/medias/rubies/examples/empty_atome.rb +12 -0
  88. data/vendor/assets/build/medias/rubies/examples/hide.rb +7 -0
  89. data/vendor/assets/build/medias/rubies/examples/matrix.rb +58 -0
  90. data/vendor/assets/build/medias/rubies/examples/monitoring.rb +22 -11
  91. data/vendor/assets/build/medias/rubies/examples/mute.rb +22 -0
  92. data/vendor/assets/build/medias/rubies/examples/on.rb +7 -1
  93. data/vendor/assets/build/medias/rubies/examples/{parent.rb → parents.rb} +6 -6
  94. data/vendor/assets/build/medias/rubies/examples/pause.rb +15 -0
  95. data/vendor/assets/build/medias/rubies/examples/play.rb +15 -0
  96. data/vendor/assets/build/medias/rubies/examples/read.rb +7 -4
  97. data/vendor/assets/build/medias/rubies/examples/remove.rb +16 -0
  98. data/vendor/assets/build/medias/rubies/examples/right.rb +1 -1
  99. data/vendor/assets/build/medias/rubies/examples/schedule.rb +2 -2
  100. data/vendor/assets/build/medias/rubies/examples/shadow.rb +8 -1
  101. data/vendor/assets/build/medias/rubies/examples/sort.rb +19 -0
  102. data/vendor/assets/build/medias/rubies/examples/style.rb +4 -0
  103. data/vendor/assets/build/medias/rubies/examples/time.rb +14 -0
  104. data/vendor/assets/build/medias/rubies/examples/touch.rb +50 -7
  105. data/vendor/assets/build/medias/texts/lorem.txt +1 -0
  106. metadata +50 -7
  107. data/lib/atome/processors/utilities.rb +0 -10
  108. data/vendor/assets/build/medias/rubies/examples/_animation.rb +0 -0
  109. data/vendor/assets/build/medias/rubies/examples/_drag.rb +0 -44
@@ -0,0 +1,82 @@
1
+ # # frozen_string_literal: true
2
+ #
3
+ #
4
+ #
5
+ # generator = Genesis.generator
6
+ # generator.build_atome(:data_set)
7
+ # generator.build_particle(:assign) do |cell_nb,&proc |
8
+ # # current_cell = grab("#{@matrix_id}_#{cell_nb}")
9
+ # if proc
10
+ # # @matrix_dataset[cell_nb] << proc
11
+ # # current_cell.instance_exec(&proc) if proc.is_a? Proc
12
+ # else
13
+ # # @matrix_dataset[cell_nb]
14
+ # end
15
+ # end
16
+ # class Atome
17
+ # def data_set(params = {}, &bloc)
18
+ # atome_type = :data_set
19
+ # generated_render = params[:renderers] || []
20
+ # generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
21
+ # generated_parents = params[:parents] || [id.value]
22
+ # params = atome_common(atome_type, generated_id, generated_render, generated_parents, params)
23
+ # Atome.new({ atome_type => params }, &bloc)
24
+ # end
25
+ # end
26
+ #
27
+ #
28
+ # # create_atome(:data_set)
29
+ #
30
+ # a = data_set({})
31
+ # puts a
32
+ #
33
+ # a.assign(2) do
34
+ # curent_cell = self
35
+ # curent_cell.image({ path: "./medias/images/moto.png", width: 33, height: 33})
36
+ # curent_cell.active(:inactive)
37
+ # touch(:long) do
38
+ # if curent_cell.active.value ==:inactive
39
+ # curent_cell.color(:yellow)
40
+ # curent_cell.active(:active)
41
+ # else
42
+ # curent_cell.color(:red)
43
+ # curent_cell.active(:inactive)
44
+ # end
45
+ # end
46
+ # end
47
+ #
48
+ #*
49
+ # a.assign(3) do
50
+ # color({ red: 0.6, green: 0.333, blue: 0.6, alpha: 1 })
51
+ # grab(:vie_playground_3).shadow({ blur: 12 })
52
+ # end
53
+ # puts "assign : #{a.assign}"
54
+ #
55
+ box
56
+ circle
57
+ generator = Genesis.generator
58
+
59
+ generator.build_atome(:template)
60
+
61
+ generator.build_sanitizer(:template) do |params|
62
+
63
+ default_params = { renderers: [], id: "template_#{Universe.atomes.length}", type: :template,
64
+ }
65
+ default_params.merge!(params)
66
+ end
67
+
68
+ generator.build_particle(:display) do |params|
69
+ template_needed = params[:template]
70
+ targeted_atomes = params[:list]
71
+ alert template_needed
72
+ alert targeted_atomes
73
+ end
74
+
75
+ template({ id: :child_in_table, code: [], cells: 16, columns: 4, rows: 4 })
76
+ the_view = grab(:view)
77
+ the_view.display(template: :child_in_table, list: [the_view.children.value], left: 33, top: 63, width: 333, height: 333)
78
+
79
+ # alert the_view
80
+
81
+
82
+
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ ##########################
4
+ # markers
5
+ my_video = Atome.new(
6
+ video: { renderers: [:browser], id: :video1, type: :video, parents: [:view],clones: [],
7
+ path: './medias/videos/avengers.mp4', left: 333, top: 33, width: 777
8
+ }
9
+ ) do |params|
10
+ # puts "video callback here #{params}"
11
+ end
12
+
13
+ my_video.touch(true) do
14
+ my_video.play(10) do ||
15
+
16
+ end
17
+ end
18
+
19
+ @mcounter = 0
20
+ my_video.at({ time: 15 }) do |value|
21
+ # my_video.pause(true)
22
+ if @mcounter
23
+ puts "ok : #{@mcounter}"
24
+ else
25
+ @mcounter = 0
26
+ end
27
+
28
+ puts "value is : #{value} : mcounter : #{@mcounter}"
29
+ puts "---- #{my_video.time}-----"
30
+ my_video.play(15+(@mcounter*1))
31
+ # my_video.play() do |val|
32
+ # puts val
33
+ # end
34
+
35
+ @mcounter = @mcounter + 1
36
+ @at_time[:used] = false
37
+ end
38
+
39
+
40
+ # frozen_string_literal: true
41
+
42
+ generator = Genesis.generator
43
+ generator.build_particle(:markers)
44
+
45
+
46
+
47
+ my_lambda = lambda do |val|
48
+ puts "hello : #{val}"
49
+ end
50
+ my_video.markers({m1:{time: 15.87576, code: my_lambda}})
51
+
52
+ my_video.markers({m1:{time: 15.87576, code: my_lambda}}) do |params|
53
+ alert :good
54
+ end
55
+
56
+ my_lambda.call(:jeezs)
57
+ alert my_video.markers
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ # module OS
4
+ # def OS.windows?
5
+ # (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
6
+ # end
7
+ #
8
+ # def OS.mac?
9
+ # (/darwin/ =~ RUBY_PLATFORM) != nil
10
+ # end
11
+ #
12
+ # def OS.unix?
13
+ # !OS.windows?
14
+ # end
15
+ #
16
+ # def OS.linux?
17
+ # OS.unix? and !OS.mac? and !OS.opal?
18
+ # end
19
+ #
20
+ # def OS.jruby?
21
+ # RUBY_ENGINE == 'jruby'
22
+ # end
23
+ #
24
+ # def OS.opal?
25
+ # RUBY_ENGINE == 'opal'
26
+ # end
27
+ # end
28
+ #
29
+ # # alert OS.linux?
@@ -0,0 +1,211 @@
1
+ # frozen_string_literal: true
2
+ a = {
3
+ "modules": [
4
+ {
5
+ "id": "90be7add-12fd-476e-a267-c4ea65cd0bad",
6
+ "name": "Midi in",
7
+ "type_id": "midi",
8
+ "active": "true",
9
+ "input_slots": [
10
+ {
11
+ "id": "948151e4-93c5-428f-a2e9-01f560592a7d",
12
+ "name": "active",
13
+ "unit": "",
14
+ "value": 1
15
+ }
16
+ ],
17
+ "output_slots": [
18
+ {
19
+ "id": "394119f0-886e-4fae-8ae7-d3b187266760",
20
+ "name": "Midi out",
21
+ "unit": ""
22
+ }
23
+ ],
24
+ "position": {
25
+ "x": 0,
26
+ "y": 0,
27
+ "z": 0
28
+ }
29
+ },
30
+ {
31
+ "id": "82a15e17-c93a-4db1-af8a-d79a32c5b590",
32
+ "name": "Sin",
33
+ "type_id": "oscillator",
34
+ "active": "true",
35
+ "input_slots": [
36
+ {
37
+ "id": "f8ba775f-7a30-4728-99df-a6b6edf2666e",
38
+ "name": "active",
39
+ "unit": "",
40
+ "value": 1
41
+ },
42
+ {
43
+ "id": "002a39c1-e0eb-4ef3-9698-b8bc63faf467",
44
+ "name": "freq",
45
+ "unit": "khz",
46
+ "value": 4.40
47
+ }
48
+ ],
49
+ "output_slots": [
50
+ {
51
+ "id": "3d3dd92b-5a61-43bd-b15b-7356224f0fbc",
52
+ "name": "amplitude",
53
+ "unit": "db"
54
+ }
55
+ ],
56
+ "position": {
57
+ "x": 1,
58
+ "y": 0,
59
+ "z": 0
60
+ }
61
+ },
62
+ {
63
+ "id": "6f214581-52ba-484a-a896-1e137305bdd5",
64
+ "name": "mix",
65
+ "type_id": "mixer",
66
+ "active": "true",
67
+ "input_slots": [
68
+ {
69
+ "id": "fbf3a30a-f2a4-49ef-b56c-2830ad5f8917",
70
+ "name": "active",
71
+ "unit": "",
72
+ "value": 1
73
+ },
74
+ {
75
+ "id": "d1948f42-4260-4614-a3b8-2070b50c1e73",
76
+ "name": "input1",
77
+ "unit": "db",
78
+ "value": []
79
+ },
80
+ {
81
+ "id": "82399578-ec95-48f4-a909-d76e27571048",
82
+ "name": "input2",
83
+ "unit": "db",
84
+ "value": []
85
+ }
86
+ ],
87
+ "output_slots": [
88
+ {
89
+ "id": "a1f1cde0-5432-4465-b2a0-d06f759515b0",
90
+ "name": "mixout",
91
+ "unit": "db"
92
+ }
93
+ ],
94
+ "position": {
95
+ "x": 2,
96
+ "y": 0,
97
+ "z": 0
98
+ }
99
+ },
100
+ {
101
+ "id": "bf35dea9-f94e-4b73-9cdc-4c57c20ad996",
102
+ "name": "speak out",
103
+ "type_id": "output",
104
+ "active": "true",
105
+ "input_slots": [
106
+ {
107
+ "id": "fec34afa-a935-4892-949f-bb4ffc312468",
108
+ "name": "active",
109
+ "unit": "",
110
+ "value": 1
111
+ },
112
+ {
113
+ "id": "4b0fc5c3-fc04-4122-905d-aeebc4e06099",
114
+ "name": "input",
115
+ "unit": "db"
116
+ }
117
+ ],
118
+ "output_slots": [],
119
+ "position": {
120
+ "x": 3,
121
+ "y": 0,
122
+ "z": 0
123
+ }
124
+ }
125
+ ],
126
+ "links": [
127
+ {
128
+ "id": "dbde9cd8-462f-4f4a-80c6-cee0b0b9a5eb",
129
+ "sourceComponentId": "90be7add-12fd-476e-a267-c4ea65cd0bad",
130
+ "sourceOutputSlotId": "394119f0-886e-4fae-8ae7-d3b187266760",
131
+ "targetComponentId": "82a15e17-c93a-4db1-af8a-d79a32c5b590",
132
+ "targetInputSlotId": "002a39c1-e0eb-4ef3-9698-b8bc63faf467",
133
+ "active": "true"
134
+ },
135
+ {
136
+ "id": "0bf66202-50fe-4c82-81bd-7c828d1b4edb",
137
+ "sourceComponentId": "82a15e17-c93a-4db1-af8a-d79a32c5b590",
138
+ "sourceOutputSlotId": "3d3dd92b-5a61-43bd-b15b-7356224f0fbc",
139
+ "targetComponentId": "6f214581-52ba-484a-a896-1e137305bdd5",
140
+ "targetInputSlotId": "d1948f42-4260-4614-a3b8-2070b50c1e73",
141
+ "active": "true"
142
+ },
143
+ {
144
+ "id": "929faf01-6320-4273-8557-819f414c9d3a",
145
+ "sourceComponentId": "6f214581-52ba-484a-a896-1e137305bdd5",
146
+ "sourceOutputSlotId": "a1f1cde0-5432-4465-b2a0-d06f759515b0",
147
+ "targetComponentId": "bf35dea9-f94e-4b73-9cdc-4c57c20ad996",
148
+ "targetInputSlotId": "4b0fc5c3-fc04-4122-905d-aeebc4e06099",
149
+ "active": "true"
150
+ }
151
+ ]
152
+ }
153
+
154
+ Atome.new({ color: { renderers: [:browser], id: :orange_col, type: :color, parents: [], children: [],
155
+ left: 33, top: 66, red: 0, green: 0.15, blue: 0.7, alpha: 0.6 } })
156
+
157
+ def get_vie_module(list)
158
+ # puts list[:modules][0].keys
159
+ # puts "---------"
160
+ # module_id = list[:modules][0][:id]
161
+ # module_name = list[:modules][0][:name]
162
+ # module_id = list[:modules][0][:type_id]
163
+ # module_active = list[:modules][0][:active]
164
+ # module_position = list[:modules][0][:position]
165
+ # module_input_slots = list[:modules][0][:input_slots]
166
+ # module_output_slots = list[:modules][0][:output_slots]
167
+
168
+ list[:modules].each do |properties, value|
169
+ module_id = properties[:id]
170
+ module_name = properties[:name]
171
+ module_id = properties[:type_id]
172
+ module_active = properties[:active]
173
+ module_position = properties[:position]
174
+ module_input_slots = properties[:input_slots]
175
+ module_output_slots = properties[:output_slots]
176
+ left_pos = 120 + ((module_position[:x].to_i) * (66 + 33+120))
177
+ top_pos=120 + ((module_position[:y].to_i) * (66 + 33))
178
+ a=Atome.new(
179
+ shape: { type: :shape, renderers: [:browser], id: module_id, parents: [:view],children: [], color: :orange,
180
+ left: left_pos, top: top_pos,
181
+ width: 120, height: 120
182
+
183
+ }
184
+ )
185
+ a.text({ data: module_id, visual: {size: 12 }, color: :black, center: :horizontal, width: 120, height: 120})
186
+ a.touch(true) do
187
+ puts a
188
+ end
189
+
190
+ slider=a.circle({width: 20, height: 20, top: 15, left: 15})
191
+ slider.drag( { move: true, inertia: true, lock: :x, constraint: :parent } ) do |pos|
192
+ "module_id : #{module_id}, #{(pos[:left]-left_pos)/100}"
193
+ msg_value=(pos[:left]-left_pos)/100
194
+ `
195
+ function send_to_controller(module,value){
196
+ console.log(module,value)
197
+ }
198
+ send_to_controller(#{module_id},#{msg_value});
199
+ `
200
+ end
201
+ end
202
+
203
+ list[:links]
204
+
205
+ end
206
+
207
+ hash_test = a.to_json
208
+
209
+ json_test = JSON.parse(hash_test)
210
+
211
+ get_vie_module(json_test)
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ bb = box({ id: :the_ref, width: 369 })
4
+ bb.color(:red)
5
+ box({ id: :my_box, drag: true })
6
+ c = circle({ id: :the_circle, left: 222, drag: { move: true, inertia: true, lock: :start } })
7
+ c.shadow({ renderers: [:browser], id: :shadow2, type: :shadow,
8
+ parents: [:the_circle], children: [],
9
+ left: 3, top: 9, blur: 19,
10
+ red: 0, green: 0, blue: 0, alpha: 1
11
+ })
12
+
13
+ Atome.new(animation: { renderers: [:browser], id: :the_animation1, type: :animation, children: [] })
14
+ aa = animation({
15
+ targets: %i[my_box the_circle],
16
+ begin: {
17
+ left_add: 0,
18
+ top: :self,
19
+ smooth: 0,
20
+ width: 3
21
+ },
22
+ end: {
23
+ left_add: 333,
24
+ top: 299,
25
+ smooth: 33,
26
+ width: :the_ref
27
+ },
28
+ duration: 800,
29
+ mass: 1,
30
+ damping: 1,
31
+ stiffness: 1000,
32
+ velocity: 1,
33
+ repeat: 1,
34
+ ease: 'spring'
35
+ }) do |pa|
36
+ puts "animation say#{pa}"
37
+ end
38
+ aa.stop(true) do |val|
39
+ puts " stop : #{val}"
40
+ end
41
+
42
+ aa.start(true) do |val|
43
+ puts " start : #{val}"
44
+ end
45
+
46
+ bb.touch(true) do
47
+ aa.play(true) do |po|
48
+ puts "play say #{po}"
49
+ end
50
+ end
51
+
52
+ aaa = animation({
53
+ # no target for advanced animations control on callback
54
+ begin: {
55
+ left_add: 0,
56
+ top: :self,
57
+ smooth: 0,
58
+ width: 3
59
+ },
60
+ end: {
61
+ left_add: 333,
62
+ top: :self,
63
+ smooth: 33,
64
+ width: :the_ref
65
+ },
66
+ duration: 1800,
67
+ mass: 1,
68
+ damping: 1,
69
+ stiffness: 1000,
70
+ velocity: 1,
71
+ repeat: 1,
72
+ ease: 'spring'
73
+ }) do |pa|
74
+ puts "get params to do anything say#{pa}"
75
+ end
76
+ wait 7 do
77
+ aaa.play(true) do |po|
78
+ puts "play aaa say #{po}"
79
+ end
80
+ end
81
+
@@ -0,0 +1,21 @@
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
+
11
+ my_video.touch(true) do
12
+ my_video.play(1)
13
+ end
14
+
15
+ my_video.at({ time: 3.6 }) do |value|
16
+ puts "okok"
17
+ end
18
+
19
+ my_video.at({ time: 6.6 }) do |value|
20
+ my_video.pause(true)
21
+ end
@@ -1,15 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  Atome.new(
4
- shape: { type: :shape, renderers: [:browser], id: :the_shape, parents: [:view], children: [],
4
+ shape: { type: :shape, renderers: [:browser], id: :the_shape, parents: [:view], children: [], clones: [],
5
5
  left: 99, right: 99, width: 399, height: 99,
6
- color: { renderers: [:browser], id: :c315, type: :color, parents: [:the_shape],children: [],
6
+ color: { renderers: [:browser], id: :c315, type: :color, parents: [:the_shape], children: [],
7
7
  red: 0.3, green: 1, blue: 0.6, alpha: 1 } }
8
8
  )
9
9
 
10
10
  Atome.new(
11
- shape: { renderers: [:browser], id: :the_shape2, type: :shape, parents: [:view],children: [],
11
+ shape: { renderers: [:browser], id: :the_shape2, type: :shape, parents: [:view], children: [], clones: [],
12
12
  left: 99, right: 99, width: 99, height: 99,
13
- color: { renderers: [:browser], id: :c31, type: :color, parents: [:the_shape2],children: [],
13
+ color: { renderers: [:browser], id: :c31, type: :color, parents: [:the_shape2], children: [],
14
14
  red: 1, green: 0.15, blue: 0.15, alpha: 0.6 } }
15
- )
15
+ )
@@ -1,3 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- box({bottom: 12 })
3
+ box({bottom: 12,top: :auto })
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box({ id: :mybox, width: 666, height: 555, top: 0, left: 0 })
4
+
5
+ c = b.circle()
6
+ t = c.text({ data: :hello, visual: { size: 9 } })
7
+ c.color(:red)
8
+ wait 2 do
9
+ c.center(true)
10
+ t.center(true)
11
+ end
12
+
13
+ wait 4 do
14
+ c.center(:horizontal)
15
+ t.center(:horizontal)
16
+ end
17
+
18
+ wait 6 do
19
+ c.center(:vertical)
20
+ t.center(:vertical)
21
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ b = box({ color: :red, smooth: 6 })
4
+
5
+ b.clones([left: 600, top: 300])
6
+
7
+ wait 1 do
8
+ b.width(500)
9
+ end
10
+
11
+ wait 2 do
12
+ b.height(500)
13
+ end
14
+
15
+ wait 4 do
16
+ b.clones.value.each do |clone_found|
17
+ grab(clone_found[:id]).delete(true)
18
+ end
19
+ end
20
+
@@ -1,19 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- c = circle
4
- # FIXME: bug we creating an object like this c = circle({ red: 1 })
5
3
  # 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)
4
+
5
+ c = circle
6
+
12
7
  wait 1 do
13
8
  # the most performant way :
14
9
  # please note that in this case: render , id and type params must place in order
15
10
  c.color(
16
- { render: [:html], id: :c319, type: :color,
11
+ { renderers: [:browser], id: :c319, type: :color,
17
12
  red: 1, green: 1, blue: 0.15, alpha: 0.6 }
18
13
  )
19
14
  end
@@ -42,11 +37,21 @@ wait 5 do
42
37
  end
43
38
  end
44
39
 
45
- circle({id: :the_circle})
46
40
 
41
+ wait 10 do
42
+ Atome.new({ color: { renderers: [:browser], id: :col1, type: :color, parents: [], children: [],
43
+ left: 33, top: 66, red: 1, green: 0.15, blue: 0.7, alpha: 1 } })
47
44
 
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
45
+ col_2 = Atome.new({ color: { renderers: [:browser], id: :col2, type: :color, parents: [], children: [],
46
+ left: 33, top: 66, red: 0, green: 0.15, blue: 0.7, alpha: 1 } })
47
+
48
+ Atome.new(
49
+ shape: { type: :shape, renderers: [:browser], id: :shaped, parents: [:view], children: [], attached: [:col1],
50
+ left: 199, top: 99,
51
+ width: 66, height: 66
52
+ }
53
+ )
54
+ wait 2 do
55
+ col_2.attach([:shaped])
56
+ end
57
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ :crosshair
4
+ :pointer
5
+ b=box
6
+
7
+ b.cursor(:crosshair)
@@ -1,7 +1,29 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- b = box
3
+ b = box({left: 333})
4
4
 
5
- wait 1 do
5
+ b.circle({top: 66, id: :the_circle})
6
+
7
+ wait 4 do
6
8
  b.delete(true)
7
- end
9
+ end
10
+
11
+ wait 3 do
12
+ b.attached.value.each do |attached_atome_id|
13
+ b.delete({id: attached_atome_id})
14
+ b.shadow({ renderers: [:browser], id: :shadow2, type: :shadow, parents: [], children: [],
15
+ left: 3, top: 9, blur: 3, direction: '',
16
+ red: 0, green: 0, blue: 0, alpha: 1
17
+ })
18
+ end
19
+
20
+ end
21
+
22
+ wait 2 do
23
+ b.delete(:left)
24
+ end
25
+
26
+
27
+ wait 1 do
28
+ b.delete({id: :the_circle})
29
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ a = box({ width: 333, height: 333, id: :the_boxy })
4
+ a.color(:red)
5
+ b = box({ width: 33, height: 33, id: :the_box, drag: true })
6
+ b.parents([a.id.value])
7
+ b.color(:black)
8
+ # b.parents([:the_boxy ])
9
+ b.drag({ move: true }) do |e|
10
+ puts e
11
+ end
12
+
13
+ # b.drag({ move: false}) do |e|
14
+ # puts e
15
+ # end
16
+
17
+
18
+ b.drag({ start: true}) do |e|
19
+ b.color(:yellow)
20
+ end
21
+
22
+ b.drag({ end: true}) do |e|
23
+ b.color(:orange)
24
+ end
25
+
26
+ # b.drag({ inertia: true })
27
+
28
+ # b.drag({ lock: :start })
29
+
30
+ b.drag({ lock: :x })
31
+
32
+ # b.drag({ remove: true })
33
+ # b.drag({ remove: false })
34
+
35
+ # b.drag({ snap: { x: 100, y: 190 } })
36
+
37
+ # b.drag({ constraint: { top: 330, left: 30, bottom: 30, right: 1 } })
38
+ b.drag({ constraint: :parent })
39
+ # b.drag({ constraint: :the_boxy })