atome 0.5.7.4.6 → 0.5.7.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5696cf0c628b8e6986d2ddff3b4494bdbfaed55ca0acf2f880f0d420d6738825
4
- data.tar.gz: ec98989c2130c4616ce68ae3820a2b2c13fb174f9155ba0196539a35d13537a0
3
+ metadata.gz: 4307d31fea820f10f0830b00698f327cd08181a864b4440a25a57021fb0ffb7e
4
+ data.tar.gz: 6a66d5336fa6a58eae59571504d92230eb8482bdd44c4821bbf3e79e27a356d2
5
5
  SHA512:
6
- metadata.gz: 0d2530c93180e30d715a73f1e5f0906634826c286c5a377e7e1d4cbf87d1370f4b41a13ea210df29dd8597fa9d3aa3ca0d843ae1921da3a7ebfec098aa59a803
7
- data.tar.gz: 560f821e10b447a07dc82479bef098b2c995f074c0d5eb75372aac6b307b1040fcc042fcf0096c6539be0c79a56d24856f08d2b99ba7ee76db7835f58bc579a0
6
+ metadata.gz: b0a16ea7a7865bc3b13bdc81ce6d57dccf557c25c016446a151eee1203d582e22a246dae317f2531c19cba16fa7c2e3455f64f49ab3966cd526f3ccd2675fff4
7
+ data.tar.gz: c5988d35c2b6af02f6db44e610c0f01ede3d99cd5558db342bbfa186a04cf4669bc0344ad50d187e0208272234c49d2683f0b9ff326082575beeb8177e11490b
@@ -570,8 +570,14 @@ JS
570
570
  end
571
571
  end
572
572
 
573
- def above(item, margin = 6)
573
+ def above(item, margin = 6, ref=grab(:view))
574
+ # FIXME above is broken when using % in margin
575
+ unless margin.is_a?(Numeric)
576
+ item_height= ref.to_px(:height)
577
+ margin= (margin.to_f*item_height)/100
578
+ end
574
579
  pos = item.to_px(:bottom) + item.height + margin
580
+ item.top(:auto)
575
581
  if item.display == :none
576
582
  33
577
583
  else
@@ -579,7 +585,11 @@ JS
579
585
  end
580
586
  end
581
587
 
582
- def below(item, margin = 6)
588
+ def below(item, margin = 6, ref=grab(:view))
589
+ unless margin.is_a?(Numeric)
590
+ item_height= ref.to_px(:height)
591
+ margin= (margin.to_f*item_height)/100
592
+ end
583
593
  pos = item.to_px(:top) + item.to_px(:height) + margin
584
594
  if item.display == :none
585
595
  0
@@ -589,7 +599,11 @@ JS
589
599
 
590
600
  end
591
601
 
592
- def after(item, margin = 6)
602
+ def after(item, margin = 6, ref=grab(:view))
603
+ unless margin.is_a?(Numeric)
604
+ item_width= ref.to_px(:width)
605
+ margin= (margin.to_f*item_width)/100
606
+ end
593
607
  left_f = if item.left.instance_of?(Integer)
594
608
  item.left
595
609
  else
@@ -609,7 +623,11 @@ JS
609
623
  end
610
624
  end
611
625
 
612
- def before(item, margin = 6)
626
+ def before(item, margin = 6, ref=grab(:view))
627
+ unless margin.is_a?(Numeric)
628
+ item_width= ref.to_px(:width)
629
+ margin= (margin.to_f*item_width)/100
630
+ end
613
631
  pos = item.to_px(:right) + item.width + margin
614
632
  if item.display == :none
615
633
  0
@@ -9,9 +9,6 @@ class Atome
9
9
  class << self
10
10
  attr_accessor :initialized
11
11
 
12
- # def descendant_of?(ancestor)
13
- # is_descendant(ancestor, id)
14
- # end
15
12
 
16
13
  def sanitize_data_for_json(data)
17
14
  data.gsub('"', '\\"')
@@ -112,51 +109,87 @@ class Atome
112
109
 
113
110
  @initialized = {}
114
111
 
112
+ def grip(role_wanted)
113
+ gripped_atome = []
114
+
115
+ fasten.each do |child_id|
116
+ child_found = grab(child_id)
117
+ if child_found.role && child_found.role.include?(role_wanted)
118
+ gripped_atome << child_id
119
+ end
120
+ end
121
+ gripped_atome
122
+ end
123
+
115
124
  def recursive(_val)
116
125
  # dummy method
117
126
  end
118
127
 
119
- # def sub_block(sub_params, spacing_found = 3)
120
- # total_width = 0
121
- # sub_params.each_value do |sub_content|
122
- # sub_width = sub_content["width"].to_i
123
- # total_width += sub_width + spacing_found
124
- # end
125
- # left_offset = spacing_found
126
- # sub_params.each do |(sub_id, sub_content)|
127
- # sub_created = box({ id: sub_id, height: '100%'})
128
- # sub_created.set(sub_content)
129
- # sub_width = sub_created.to_px(:width)
130
- # left_offset += sub_width + spacing_found
131
- # sub_created.width(sub_width)
132
- # sub_created.left(left_offset - sub_width - spacing_found)
133
- # sub_created.width(sub_created.to_percent(:width))
134
- # sub_created.left(sub_created.to_percent(:left))
135
- # end
136
- # end
137
128
 
138
- # def sub_block(sub_params, spacing_found = 3)
139
- # num_blocks = sub_params.size
140
- # parent_width = to_px(:width) # Supposons que la largeur du parent est en pixels
141
- # total_spacing = (num_blocks + 1) * spacing_found
142
- # available_width = parent_width - total_spacing
143
- # block_width = available_width / num_blocks
144
- # left_offset = spacing_found
145
- # sub_params.each do |sub_id, sub_content|
146
- # alert sub_content[:width]
147
- # sub_created = box({ id: sub_id, height: '100%', left: left_offset })
148
- # sub_content["width"] = block_width
149
- # sub_created.set(sub_content)
150
- # sub_created.width(block_width)
151
- # left_offset += block_width + spacing_found
152
- # sub_created.width(sub_created.to_percent(:width))
153
- # sub_created.left(sub_created.to_percent(:left))
154
- # end
155
- # end
129
+
130
+ def spacing_found(parent_width, child_width, nb_of_children)
131
+ total_child_width = child_width * nb_of_children
132
+ remaining_width = parent_width - total_child_width
133
+ spacing = remaining_width.to_f / (nb_of_children + 1)
134
+ spacing_percentage = (spacing / parent_width) * 100
135
+ spacing_percentage.round(2)
136
+ end
137
+
138
+ def block(params)
139
+ direction = params.delete(:direction) || :vertical
140
+ spacing = params.delete(:spacing) || 3
141
+ width_found = params.delete(:width) || '100%'
142
+ height_found = params.delete(:height) || '100%'
143
+ bloc_params = params.delete(:data) || {}
144
+
145
+ last_id_found = grip(:block).last
146
+
147
+ if last_id_found
148
+ last_found = grab(last_id_found)
149
+ case direction
150
+ when :vertical
151
+ box({ top: below(last_found, spacing), role: :block, width: width_found }.merge(params).merge(bloc_params))
152
+ when :horizontal
153
+ width_found = to_px(:width)
154
+ block_left = after(last_found, spacing)
155
+ left_in_percent = (block_left / width_found) * 100
156
+ box({ left: "#{left_in_percent}%", role: :block, height: height_found }.merge(params).merge(bloc_params))
157
+ else
158
+ #
159
+ end
160
+ else
161
+ case direction
162
+ when :vertical
163
+ box({ top: spacing, role: :block, width: width_found }.merge(params).merge(bloc_params))
164
+ when :horizontal
165
+ box({ left: spacing, role: :block, height: height_found }.merge(params).merge(bloc_params))
166
+ else
167
+ #
168
+ end
169
+ end
170
+
171
+ end
172
+
173
+ def blocks(params)
174
+ blocks = params.delete(:blocks)
175
+ distribute = params.delete(:distribute)
176
+ if distribute && params[:direction] == :horizontal
177
+ width_found = to_px(:width)
178
+ params[:spacing] = "#{spacing_found(width_found, params[:width], blocks.length)}%"
179
+ elsif distribute
180
+ height_found = to_px(:height)
181
+ params[:spacing] = spacing_found(height_found, params[:height], blocks.length)
182
+ end
183
+ blocks.each do |bloc_id, block_to_create|
184
+ sanitized_bloc_data = params.merge(block_to_create)
185
+ block({ data: sanitized_bloc_data }.merge({ id: bloc_id }).merge(params))
186
+ end
187
+ end
188
+
156
189
 
157
190
  def sub_block(sub_params, spacing_found = 3)
158
191
  num_blocks = sub_params.size
159
- parent_width = to_px(:width) # Supposons que la largeur du parent est en pixels
192
+ parent_width = to_px(:width)
160
193
  total_ratios = sub_params.values.sum { |sub_content| sub_content[:width] }
161
194
  total_spacing = (num_blocks + 1) * spacing_found
162
195
  available_width = parent_width - total_spacing
@@ -164,7 +197,7 @@ class Atome
164
197
  sub_params.each do |sub_id, sub_content|
165
198
  ratio = sub_content[:width]
166
199
  block_width = (available_width * ratio) / total_ratios
167
- sub_created = box({ id: sub_id, height: '100%', left: left_offset })
200
+ sub_created = box({ id: sub_id, height: '100%', left: left_offset, role: :sub })
168
201
  sub_content["width"] = block_width
169
202
  sub_created.set(sub_content)
170
203
  sub_created.width(block_width)
data/lib/atome/version.rb CHANGED
@@ -3,5 +3,5 @@
3
3
  # return atome version
4
4
 
5
5
  class Atome
6
- VERSION = '0.5.7.4.6'
6
+ VERSION = '0.5.7.4.7'
7
7
  end
@@ -201,7 +201,6 @@ class Atome
201
201
  # in this case (on target touch )we are targeting a system object non alterable so we create an a new atome
202
202
  # Ex: if we are on a system color we create a new color that can be altered
203
203
  tools_scheme[:particles]&.each do |particle_f, value_f|
204
- # if target.type
205
204
  type_to_create = target.type
206
205
  if type_to_create
207
206
  target = atome_touched.send(type_to_create, { particle_f => value_f })
@@ -209,20 +208,15 @@ class Atome
209
208
  target.send(particle_f, value_f)
210
209
  end
211
210
  end
212
- # end
213
-
214
211
  end
215
212
  else
216
213
 
217
214
  # below code trigger when activating the current tool :
218
215
  tools_scheme[:particles]&.each do |particle_f, value_f|
219
-
220
216
  is_descendant_of_intuition = target.descendant_of?(:intuition).to_s
221
217
  atome_descendant_of_intuition = atome_touched.descendant_of?(:intuition).to_s
222
218
  # the condition below is use to exclude the treatment any object in the intuition layer
223
- # puts "1 target is : #{target.id}, atome_touched is : #{atome_touched}"
224
219
  unless is_descendant_of_intuition == 'true' || atome_descendant_of_intuition == 'true'
225
- # puts "2 target is : #{target.id}, atome_touched is : #{atome_touched}"
226
220
  target.send(particle_f, value_f)
227
221
  end
228
222
  end
@@ -415,15 +409,14 @@ class Atome
415
409
  tool.instance_variable_set('@prevent_action', true)
416
410
  if tool.instance_variable_get('@tool_open') == true
417
411
  tool.instance_variable_set('@tool_open', false)
418
- tool_scheme[:particles].each_key do |particle|
419
- grab("tool_particle_#{particle}").delete({ force: true })
420
- end if tool_scheme[:particles]
412
+ tool_scheme[:particles]&.each_key do |particle|
413
+ grab("tool_particle_#{particle}").delete({ force: true })
414
+ end
421
415
  tool.width(size)
422
416
  else
423
417
  tool.instance_variable_set('@tool_open', true)
424
418
 
425
419
  tool_scheme[:particles]&.each_with_index do |(particle_name, _value_), ind|
426
-
427
420
  particle = tool.box({ id: "tool_particle_#{particle_name}", tag: { system: true }, depth: 1, smooth: smooth,
428
421
  apply: %i[inactive_tool_col tool_box_border tool_shade],
429
422
  width: size, height: size, left: ind * (size + margin) + size })
@@ -454,7 +447,6 @@ class Atome
454
447
  particle_label.top(:auto)
455
448
  particle_label.bottom(0)
456
449
  particle.touch(true) do
457
- # puts "1 ======> opening !!!#{particle_name}"
458
450
  tool.instance_variable_set('@prevent_action', true)
459
451
  slider_id = "particle_slider_#{particle_name}"
460
452
  if particle.instance_variable_get('@active')
@@ -482,22 +474,22 @@ class Atome
482
474
  # Slider actions below:
483
475
  if grab(slider_id).instance_variable_get('@initialised')
484
476
  Atome.selection.each do |atome_id_to_treat|
477
+
478
+
485
479
  tool_scheme[:particles][particle_name] = value.to_f / 100
486
480
  atome_found = grab(atome_id_to_treat)
487
481
  target = grab(atome_found.color.last)
488
- if tool.active
489
- target.send(particle_name, value.to_f / 100)
490
- end
491
- label_value.data(value.to_f / 100)
482
+ target.send(particle_name, value.to_f / 100) if tool.active
483
+
492
484
  end
493
485
 
486
+ label_value.data(value.to_f / 100)
487
+ tool_scheme[:particles][particle_name]=value.to_f / 100
494
488
  end
495
489
  end
496
490
 
497
491
  Atome.selection.each do |atome_id_to_treat|
498
492
  atome_found = grab(atome_id_to_treat)
499
- # puts 'here slider treat either the target atome types or current atome'
500
- # puts "need to created a list instead of choosing the last atome found of it's kind"
501
493
  target = if tool_scheme[:target]
502
494
  grab(atome_found.send(tool_scheme[:target]).last)
503
495
  else
@@ -521,22 +513,9 @@ class Atome
521
513
  tool.touch(:double) do
522
514
  tool_to_deactivate = Universe.active_tools.dup
523
515
  tool_to_deactivate.each do |atome_id_found|
524
-
525
516
  atome_found = grab(atome_id_found)
526
- puts "deactivate #{atome_id_found}"
527
517
  atome_found.deactivate_tool
528
- # if atome_found.activated
529
- # # atome_found.deactivate_tool
530
- # end
531
- # puts "#{atome_found}, #{atome_found.class}"
532
518
  end
533
- # Universe.tools.each do |tool_id_found, _tool_content|
534
- # # tool_found=grab(tool_id_found)
535
- # puts tool_id_found
536
- # # if tool_found.activated
537
- # # tool.deactivate_tool
538
- # # end
539
- # end
540
519
  tool.activate_tool
541
520
  end
542
521
  tool.touch(true) do
@@ -532,11 +532,11 @@ new(molecule: :application) do |params, &bloc|
532
532
  end
533
533
  main_app.define_singleton_method(:extract) do |bloc_to_extract|
534
534
 
535
- bloc_to_extract.each do |page_id, block_id|
536
- grab(block_id).delete({ recursive: true })
537
- @blocks[page_id].delete(block_id)
538
- grab(page_id).reorder_blocs
539
- end
535
+ bloc_to_extract.each do |page_id, block_id|
536
+ grab(block_id).delete({ recursive: true })
537
+ @blocks[page_id].delete(block_id)
538
+ grab(page_id).reorder_blocs
539
+ end
540
540
 
541
541
  end
542
542
 
@@ -7,16 +7,19 @@ b3=box({top: below(b2, margin)})
7
7
  b4=box({top: below(b3, margin)})
8
8
  box({top: below(b4, margin)})
9
9
  i=0
10
- while i< 10 do
11
- b2=box({top: below(b, margin)})
12
- i+=1
13
- end
14
10
 
15
- b = circle(left: 66)
16
- margin = 12
11
+
12
+ b = circle(left: 333, top: 333)
13
+ margin = "2%"
14
+ # margin = 120
17
15
  i = 0
18
16
 
19
17
  while i < 10 do
20
- b = circle({top: below(b, margin), left: 66})
18
+ #below first params is the object after which we place the objet, the second the margin
19
+ # here in percent and the third is the reference object used for the percent
20
+ # b = circle({top: below(b, margin, grab(:view)), left: b.left})
21
+ # b = circle({top: :auto,bottom: above(b, margin, grab(:view)), left: b.left})
22
+ b = circle({top: b.top,left: after(b, margin, grab(:view))})
23
+ # b = circle({left: :auto,right: before(b, margin, grab(:view))})
21
24
  i += 1
22
25
  end
@@ -51,12 +51,13 @@ a.page({ id: :page3,
51
51
  menu_f=a.menu
52
52
  menus_found= menu_f.fasten # replace fasten for entries
53
53
  puts a.pages
54
- puts " pages => #{a.pages}"
55
- puts " menus_found => #{menus_found}"
54
+ puts "pages => #{a.pages}"
55
+ puts "menus_found => #{menus_found}"
56
56
 
57
57
  bloc_to_add= {height: 156, color: :green}
58
58
  bloc_to_add2= {height: 99, color: :blue}
59
59
  bloc_to_add3= {height: 333, color: :orange, subs:{contact: {width: 1, color: :black}, project: {width: 1}, calendar: {width: 0.5, color: :green}}}
60
+
60
61
  a.insert({page3: {block1: bloc_to_add , block2: bloc_to_add2, block3: bloc_to_add3}})
61
62
 
62
63
 
@@ -72,3 +73,4 @@ a.show(:page3)
72
73
  # end
73
74
 
74
75
 
76
+ alert(grab(:project).inspect)
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+
5
+ a = application({
6
+ id: :arp,
7
+ margin: 3,
8
+ })
9
+
10
+ page1_code = lambda do
11
+ b = box({ id: :ty, left: 90, top: 90, color: :black })
12
+ b.touch(true) do
13
+ b.color(:red)
14
+ end
15
+ end
16
+
17
+ page1 = {
18
+ run: page1_code,
19
+ menu: false,
20
+ id: :page1,
21
+ color: { red: 0.5, green: 0.5, blue: 0.5 },
22
+ name: :accueil,
23
+ # footer: { color: :green, height: 22 },
24
+ header: { color: { red: 0.3, green: 0.3, blue: 0.3 }, height: 90, shadow: { blur: 12, left: 0, top: 0 } },
25
+
26
+ }
27
+
28
+ a.page(page1)
29
+ c = a.show(:page1)
30
+ c.color(:orange)
31
+ header = grab(:arp_content_header)
32
+ header.color(:orange)
33
+ # header.height(66)
34
+ # header.subs({ "contact" => { "width" => "33%" }, "project" => { "width" => "33%" }, "calendar" => { "width" => "33%" } })
35
+
36
+ bloc_to_add = { height: 33, color: :cyan }
37
+ bloc_to_add2 = { height: 99, color: :blue }
38
+ bloc_to_add3 = { height: 133, color: :red }
39
+ bloc_to_add4 = { height: 33, color: :gray }
40
+ ###########@
41
+ grab(:page1).blocks({ direction: :vertical, color: :blue, height: 55, spacing: 6,
42
+ blocks: { block1: bloc_to_add, block2: bloc_to_add2, block3: bloc_to_add3 } })
43
+
44
+ grab(:block1).blocks({ direction: :horizontal, color: :orange, spacing: 66, width: 120, top: 0,
45
+ blocks: { block12: bloc_to_add4, block22: bloc_to_add2, block32: bloc_to_add3 }, distribute: true })
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ b=box
4
+ b.circle({role: :header, left: 55, id: :first_one})
5
+ b.text({role: [:action], data: "hello", top: 90})
6
+ b.box({role: :header, left: 155, id: :second_one})
7
+
8
+
9
+ puts"header grip : #{ b.grip(:header)}"
10
+ puts "last header grip #{b.grip(:header).last}"
@@ -35,18 +35,18 @@ end
35
35
  new({ tool: :combined }) do |params|
36
36
 
37
37
  active_code = lambda {
38
- puts :alteration_tool_code_activated
38
+ # puts :alteration_tool_code_activated
39
39
  }
40
40
 
41
41
  inactive_code = lambda { |param|
42
- puts :alteration_tool_code_inactivated1
42
+ # puts :alteration_tool_code_inactivated1
43
43
  }
44
44
  pre_code = lambda { |params|
45
- puts "pre_creation_code,atome_touched: #{:params}"
45
+ # puts "pre_creation_code,atome_touched: #{:params}"
46
46
 
47
47
  }
48
48
  post_code = lambda { |params|
49
- puts "post_creation_code,atome_touched: #{:params}"
49
+ # puts "post_creation_code,atome_touched: #{:params}"
50
50
 
51
51
  }
52
52
 
@@ -73,18 +73,18 @@ end
73
73
  new({ tool: :rotate }) do |params|
74
74
 
75
75
  active_code = lambda {
76
- puts :alteration_tool_code_activated
76
+ # puts :alteration_tool_code_activated
77
77
  }
78
78
 
79
79
  inactive_code = lambda { |param|
80
- puts :alteration_tool_code_inactivated2
80
+ # puts :alteration_tool_code_inactivated2
81
81
  }
82
82
  pre_code = lambda { |params|
83
- puts "pre_creation_code,atome_touched: #{:params}"
83
+ # puts "pre_creation_code,atome_touched: #{:params}"
84
84
 
85
85
  }
86
86
  post_code = lambda { |params|
87
- puts "post_creation_code,atome_touched: #{:params}"
87
+ # puts "post_creation_code,atome_touched: #{:params}"
88
88
 
89
89
  }
90
90
 
@@ -111,20 +111,20 @@ end
111
111
  new({ tool: :box }) do |params|
112
112
 
113
113
  active_code = lambda {
114
- puts :creation_tool_code_activated
114
+ # puts :creation_tool_code_activated
115
115
  }
116
116
 
117
117
  inactive_code = lambda { |atomes_treated|
118
- puts :creation_tool_code_inactivated
118
+ # puts :creation_tool_code_inactivated
119
119
 
120
120
  }
121
121
  pre_creation_code = lambda { |params|
122
- puts "pre_creation_code : atome_touched : #{:params} "
122
+ # puts "pre_creation_code : atome_touched : #{:params} "
123
123
 
124
124
  }
125
125
 
126
126
  post_creation_code = lambda { |params|
127
- puts "post_creation_code,atome_touched: #{:params}"
127
+ # puts "post_creation_code,atome_touched: #{:params}"
128
128
  }
129
129
 
130
130
  { creation: { box: { color: :blue, width: 66, height: 66 } },
@@ -214,7 +214,7 @@ new({ tool: :drag }) do
214
214
  }
215
215
  move_code = lambda {
216
216
  drag(true) do
217
- puts left
217
+ puts "left is : #{left}"
218
218
  end
219
219
  }
220
220
 
@@ -250,7 +250,7 @@ end
250
250
 
251
251
  new({ tool: :color }) do
252
252
  active_code = lambda {
253
- puts 'color activated1'
253
+ # puts 'color activated1'
254
254
  }
255
255
  color_code = lambda {
256
256
  # color(:green)
@@ -272,7 +272,7 @@ end
272
272
 
273
273
  new({ tool: :crash_test }) do
274
274
  active_code = lambda {
275
- puts 'color activated1'
275
+ alert grab(Universe.current_user).selection.collect
276
276
  }
277
277
  color_code = lambda {
278
278
  # color(:green)
@@ -283,14 +283,14 @@ new({ tool: :crash_test }) do
283
283
  end
284
284
  }
285
285
 
286
- {
287
- alteration: { width: 22},
286
+ {activation: active_code,
287
+ # alteration: { alert: :good}
288
288
  }
289
289
  end
290
290
 
291
291
  # Universe.tools_root= {tools: [:blur, :box, :test, :toolbox1],toolbox: { orientation: :ew, left:90 , bottom: 9, spacing: 9} }
292
292
  Universe.tools_root = {id: :root_tools, tools: [:select,:crash_test, :box, :drag, :touch,:color, :move, :toolbox1, :rotate], toolbox: { orientation: :ew, left: 9, bottom: 9, spacing: 9 } }
293
- puts "above we added an id because each tool may be in many toolbox and have an uniq ID"
293
+ # puts "above we added an id because each tool may be in many toolbox and have an uniq ID"
294
294
  Atome.init_intuition
295
295
 
296
296
  b = box({ id: :the_test_box, selected: false, color: :blue })
@@ -310,8 +310,8 @@ b.touch(true) do
310
310
  end
311
311
 
312
312
  end
313
- text({left: 333, data: :hello})
314
- circle({left: 333,top: 333})
313
+ text({left: 333, data: :hello, id: :t1})
314
+ circle({left: 333,top: 333, id: :c2})
315
315
 
316
316
  # wait 2 do
317
317
  # b= grab('color_tool_icon')
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="53" height="53" xml:space="preserve" id="canvas1">
4
+ <!-- Generated by PaintCode - http://www.paintcodeapp.com -->
5
+ <path id="canvas1-canvasNewCanvascanvas1bezier" stroke="rgb(200, 200, 200)" stroke-width="6" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" fill="none" d="M 13,26 L 40,26" />
6
+ <path id="canvas1-canvasNewCanvascanvas1bezier3" stroke="rgb(200, 200, 200)" stroke-width="6" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" fill="none" d="M 26,40 L 26,13" />
7
+ <circle id="canvas1-oval" stroke="rgb(206, 206, 206)" stroke-width="6" stroke-miterlimit="10" fill="none" cx="26.5" cy="26.5" r="23.5" />
8
+ </svg>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atome
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7.4.6
4
+ version: 0.5.7.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Eric Godard
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-21 00:00:00.000000000 Z
11
+ date: 2024-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eventmachine
@@ -546,6 +546,7 @@ files:
546
546
  - vendor/assets/application/examples/b64_to_image.rb
547
547
  - vendor/assets/application/examples/basic_understanding.rb
548
548
  - vendor/assets/application/examples/behavior.rb
549
+ - vendor/assets/application/examples/blocks.rb
549
550
  - vendor/assets/application/examples/blur.rb
550
551
  - vendor/assets/application/examples/border.rb
551
552
  - vendor/assets/application/examples/browse.rb
@@ -588,6 +589,7 @@ files:
588
589
  - vendor/assets/application/examples/getter.rb
589
590
  - vendor/assets/application/examples/grab.rb
590
591
  - vendor/assets/application/examples/gradient.rb
592
+ - vendor/assets/application/examples/grip.rb
591
593
  - vendor/assets/application/examples/group.rb
592
594
  - vendor/assets/application/examples/help.rb
593
595
  - vendor/assets/application/examples/hierarchy.rb
@@ -779,6 +781,7 @@ files:
779
781
  - vendor/assets/src/medias/images/green_planet.png
780
782
  - vendor/assets/src/medias/images/icons/Lowpass.svg
781
783
  - vendor/assets/src/medias/images/icons/activate.svg
784
+ - vendor/assets/src/medias/images/icons/add.svg
782
785
  - vendor/assets/src/medias/images/icons/audio.svg
783
786
  - vendor/assets/src/medias/images/icons/band_pass.svg
784
787
  - vendor/assets/src/medias/images/icons/clear.svg