atome 0.5.6.8.7 → 0.5.7.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/documentation/basic.md +7 -8
  3. data/documentation/deep learning/basic_infos.txt +6 -6
  4. data/documentation/installation/atome_server.md +66 -1
  5. data/documentation/installation/buiding_atome.md +307 -0
  6. data/lib/atome/atome.rb +2 -3
  7. data/lib/atome/extensions/atome.rb +38 -12
  8. data/lib/atome/genesis/atomes.rb +1 -1
  9. data/lib/atome/genesis/genesis.rb +11 -11
  10. data/lib/atome/genesis/particles/event.rb +58 -50
  11. data/lib/atome/genesis/particles/identity.rb +3 -0
  12. data/lib/atome/genesis/particles/property.rb +2 -1
  13. data/lib/atome/genesis/particles/utility.rb +19 -12
  14. data/lib/atome/genesis/presets.rb +10 -0
  15. data/lib/atome/genesis/sparkle.rb +11 -9
  16. data/lib/atome/kernel/universe.rb +22 -11
  17. data/lib/atome/presets/atome.rb +20 -17
  18. data/lib/atome/utilities/essentials.rb +5 -5
  19. data/lib/atome/utilities/utilities.rb +168 -15
  20. data/lib/atome/version.rb +1 -1
  21. data/lib/atome.rb +1 -0
  22. data/lib/atome_relative.rb +1 -0
  23. data/lib/molecules/init.rb +22 -42
  24. data/lib/molecules/intuition/_deprecated_inputs.rb +111 -0
  25. data/lib/molecules/intuition/utillities.rb +105 -11
  26. data/lib/renderers/html/event.rb +20 -4
  27. data/lib/renderers/html/html.rb +145 -161
  28. data/lib/renderers/html/identity.rb +10 -2
  29. data/lib/renderers/html/utility.rb +64 -8
  30. data/vendor/assets/application/examples/b64_to_image.rb +9 -0
  31. data/vendor/assets/application/examples/drag.rb +9 -2
  32. data/vendor/assets/application/examples/matrix.rb +77 -114
  33. data/vendor/assets/application/examples/recorder.rb +74 -0
  34. data/vendor/assets/application/examples/site.rb +41 -0
  35. data/vendor/assets/application/examples/sub_atome_manipulation.rb +0 -2
  36. data/vendor/assets/application/examples/svg_img_to_vector.rb +6 -0
  37. data/vendor/assets/application/examples/svg_vectorizer.rb +21 -0
  38. data/vendor/assets/application/examples/table.rb +1 -1
  39. data/vendor/assets/application/examples/test.rb +572 -0
  40. data/vendor/assets/application/examples/tools.rb +650 -304
  41. data/vendor/assets/application/examples/vector.rb +16 -3
  42. data/vendor/assets/server/atome_server.rb +3 -2
  43. data/vendor/assets/server/atome_server_wasm.rb +2 -2
  44. data/vendor/assets/server/eDen.rb +135 -14
  45. data/vendor/assets/src/index.html +1 -1
  46. data/vendor/assets/src/index_opal.html +1 -1
  47. data/vendor/assets/src/index_server.html +1 -1
  48. data/vendor/assets/src/index_server_wasm.html +1 -1
  49. data/vendor/assets/src/index_wasm.html +1 -1
  50. data/vendor/assets/src/js/atome/atome.js +250 -49
  51. data/vendor/assets/src/js/atome/atome_helpers/communication.js +4 -4
  52. data/vendor/assets/src/js/atome/specific/opal.js +19 -3
  53. data/vendor/assets/src/js/atome/specific/wasm.js +18 -3
  54. data/vendor/assets/src/js/molecules/web.js +1 -1
  55. data/vendor/assets/src/medias/images/icons/Lowpass.svg +8 -0
  56. data/vendor/assets/src/medias/images/icons/activate.svg +3 -0
  57. data/vendor/assets/src/medias/images/icons/audio.svg +7 -0
  58. data/vendor/assets/src/medias/images/icons/band_pass.svg +8 -0
  59. data/vendor/assets/src/medias/images/icons/clear.svg +5 -0
  60. data/vendor/assets/src/medias/images/icons/color.svg +5 -0
  61. data/vendor/assets/src/medias/images/icons/copy.svg +8 -0
  62. data/vendor/assets/src/medias/images/icons/create.svg +3 -0
  63. data/vendor/assets/src/medias/images/icons/delete.svg +8 -0
  64. data/vendor/assets/src/medias/images/icons/edit-.svg +4 -0
  65. data/vendor/assets/src/medias/images/icons/edit.svg +4 -0
  66. data/vendor/assets/src/medias/images/icons/edition.svg +4 -0
  67. data/vendor/assets/src/medias/images/icons/equalizer-.svg +5 -0
  68. data/vendor/assets/src/medias/images/icons/equalizer.svg +5 -0
  69. data/vendor/assets/src/medias/images/icons/filter.svg +4 -0
  70. data/vendor/assets/src/medias/images/icons/folder.svg +4 -0
  71. data/vendor/assets/src/medias/images/icons/group.svg +6 -0
  72. data/vendor/assets/src/medias/images/icons/hamburger.svg +8 -0
  73. data/vendor/assets/src/medias/images/icons/high_pass.svg +5 -0
  74. data/vendor/assets/src/medias/images/icons/link.svg +4 -0
  75. data/vendor/assets/src/medias/images/icons/load.svg +4 -0
  76. data/vendor/assets/src/medias/images/icons/low_pass.svg +5 -0
  77. data/vendor/assets/src/medias/images/icons/microphone.svg +7 -0
  78. data/vendor/assets/src/medias/images/icons/midi_in.svg +4 -0
  79. data/vendor/assets/src/medias/images/icons/midi_out.svg +4 -0
  80. data/vendor/assets/src/medias/images/icons/modules.svg +11 -0
  81. data/vendor/assets/src/medias/images/icons/paste.svg +4 -0
  82. data/vendor/assets/src/medias/images/icons/pause.svg +5 -0
  83. data/vendor/assets/src/medias/images/icons/play.svg +7 -0
  84. data/vendor/assets/src/medias/images/icons/record.svg +4 -0
  85. data/vendor/assets/src/medias/images/icons/save.svg +5 -0
  86. data/vendor/assets/src/medias/images/icons/select--.svg +4 -0
  87. data/vendor/assets/src/medias/images/icons/select-.svg +5 -0
  88. data/vendor/assets/src/medias/images/icons/select-all.svg +4 -0
  89. data/vendor/assets/src/medias/images/icons/select.svg +4 -0
  90. data/vendor/assets/src/medias/images/icons/settings.svg +5 -0
  91. data/vendor/assets/src/medias/images/icons/settings0.svg +2 -0
  92. data/vendor/assets/src/medias/images/icons/settings1.svg +17 -0
  93. data/vendor/assets/src/medias/images/icons/settings2.svg +25 -0
  94. data/vendor/assets/src/medias/images/icons/settings_old.svg +6 -0
  95. data/vendor/assets/src/medias/images/icons/shape.svg +7 -0
  96. data/vendor/assets/src/medias/images/icons/speaker.svg +6 -0
  97. data/vendor/assets/src/medias/images/icons/stop.svg +4 -0
  98. data/vendor/assets/src/medias/images/icons/tool.svg +7 -0
  99. data/vendor/assets/src/medias/images/icons/tools.svg +9 -0
  100. data/vendor/assets/src/medias/images/icons/undo2.svg +4 -0
  101. data/vendor/assets/src/medias/images/icons/validate.svg +9 -0
  102. data/vendor/assets/src/medias/images/icons/vie.svg +3 -0
  103. data/vendor/assets/src/medias/images/icons/wave-saw.svg +3 -0
  104. data/vendor/assets/src/medias/images/icons/wave-sine.svg +3 -0
  105. data/vendor/assets/src/medias/images/icons/wave-square-.svg +4 -0
  106. data/vendor/assets/src/medias/images/icons/wave-square.svg +3 -0
  107. data/vendor/assets/src/medias/images/icons/wave-triangle.svg +3 -0
  108. data/vendor/assets/src/medias/images/icons/waveform-.svg +4 -0
  109. data/vendor/assets/src/medias/images/icons/waveform.svg +7 -0
  110. metadata +68 -6
  111. data/lib/molecules/intuition/inputs.rb +0 -111
  112. /data/lib/molecules/{examples → _deprecated_examples}/site.rb +0 -0
  113. /data/lib/molecules/intuition/{toolbox.rb → _deprecated_toolbox.rb} +0 -0
@@ -1,86 +1,81 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- @current_matrix = ""
3
+ matrix_zone=box({width: 333, height: 333, drag: true, id: :the_box})
4
4
 
5
- def matrix(id, horizontal_nb, vertical_nb, spacing, size)
6
- view = grab(:view)
7
- @current_matrix = group({ id: id })
8
- @current_matrix.data({ spacing: spacing, size: size })
9
- matrix_cells = []
10
- total_spacing_x = spacing * (horizontal_nb + 1)
11
- total_spacing_y = spacing * (vertical_nb + 1)
12
- size_coefficient = size.end_with?('%') ? (size.to_f / 100) : size.to_f / view.to_px(:width)
5
+ # matrix creation
6
+ main_matrix = matrix_zone.matrix({ id: :vie_0, rows: 8, columns: 8, spacing: 6, size: '100%' })
7
+ main_matrix.smooth(3)
8
+ main_matrix.color(:red)
13
9
 
14
- view_width = view.to_px(:width)
15
- view_height = view.to_px(:height)
16
- if view_width > view_height
17
- available_width = (view_height * size_coefficient) - total_spacing_x
18
- available_height = (view_height * size_coefficient) - total_spacing_y
19
- else
20
- available_width = (view_width * size_coefficient) - total_spacing_x
21
- available_height = (view_width * size_coefficient) - total_spacing_y
22
- end
23
- box_width = available_width / horizontal_nb
24
- box_height = available_height / vertical_nb
25
- background=box({id: "#{id}_background", width: 666, height: 666, color:{alpha: 0}})
10
+ # on resize
11
+ def resize_matrix(current_matrix, new_width, new_height, spacing, size)
12
+ parent_found = current_matrix
13
+ if size.instance_of? String
14
+ size_coefficient = size.end_with?('%') ? (size.to_f / 100) : size.to_f / parent_found.to_px(:width)
15
+ matrix_back = grab(:vie_0_background)
16
+ spacing = spacing * size_coefficient
17
+ total_spacing_x = spacing * (current_matrix.collect.length ** (0.5) + 1)
18
+ total_spacing_y = spacing * (current_matrix.collect.length ** (0.5) + 1)
19
+
20
+ if new_width > new_height
21
+ full_size = new_height * size_coefficient
22
+ available_width = full_size - total_spacing_x
23
+ available_height = full_size - total_spacing_y
24
+ matrix_back.width(full_size)
25
+ matrix_back.height(full_size)
26
+ else
27
+ full_size = new_width * size_coefficient
28
+ available_width = full_size - total_spacing_x
29
+ available_height = full_size - total_spacing_y
30
+ matrix_back.width(full_size)
31
+ matrix_back.height(full_size)
32
+ end
26
33
 
27
- vertical_nb.times do |y|
28
- horizontal_nb.times do |x|
29
- id_generated = "#{id}_#{x}_#{y}"
30
- matrix_cells << id_generated
31
- new_box = background.box({ id: id_generated })
32
- new_box.width(box_width)
33
- new_box.height(box_height)
34
- new_box.left((box_width + spacing) * x + spacing)
35
- new_box.top((box_height + spacing) * y + spacing)
34
+ box_width = available_width / current_matrix.collect.length ** (0.5)
35
+ box_height = available_height / current_matrix.collect.length ** (0.5)
36
+ current_matrix.collect.each_with_index do |box_id, index|
37
+ box = grab(box_id)
38
+ box.width(box_width)
39
+ box.height(box_height)
40
+ box.left((box_width + spacing) * (index % current_matrix.collect.length ** (0.5)) + spacing)
41
+ box.top((box_height + spacing) * (index / current_matrix.collect.length ** (0.5)).floor + spacing)
36
42
  end
43
+ else
44
+ # dunno if we have to resize if size is specified in px
45
+ # size.to_f / parent_found.to_px(:width)
37
46
  end
38
- @current_matrix.collect(matrix_cells)
39
- end
40
-
41
- matrix(:vie_0, 8, 8, 9, '69%')
42
47
 
43
- def resize_matrix(current_matrix, new_width, new_height, spacing, size)
44
- # matrix_group = grab(matrix_id)
45
- total_spacing_x = spacing * (current_matrix.collect.length ** (0.5) + 1)
46
- total_spacing_y = spacing * (current_matrix.collect.length ** (0.5) + 1)
47
- size_coefficient = size.end_with?('%') ? (size.to_f / 100) : size.to_f / new_width
48
+ end
48
49
 
49
- if new_width > new_height
50
- available_width = (new_height * size_coefficient) - total_spacing_x
51
- available_height = (new_height * size_coefficient) - total_spacing_y
52
- else
53
- available_width = (new_width * size_coefficient) - total_spacing_x
54
- available_height = (new_width * size_coefficient) - total_spacing_y
50
+ grab(:view).on(:resize) do
51
+ matrix_parent = grab(:view)
52
+ new_width = matrix_parent.width
53
+ new_height = matrix_parent.height
54
+ unless new_width.instance_of?(Numeric)
55
+ new_width = matrix_parent.to_px(:width)
55
56
  end
56
-
57
- box_width = available_width / current_matrix.collect.length ** (0.5)
58
- box_height = available_height / current_matrix.collect.length ** (0.5)
59
- current_matrix.collect.each_with_index do |box_id, index|
60
- box = grab(box_id)
61
- box.width(box_width)
62
- box.height(box_height)
63
- box.left((box_width + spacing) * (index % current_matrix.collect.length ** (0.5)) + spacing)
64
- box.top((box_height + spacing) * (index / current_matrix.collect.length ** (0.5)).floor + spacing)
57
+ unless new_height.instance_of?(Numeric)
58
+ new_height = matrix_parent.to_px(:height)
65
59
  end
60
+ new_size = if new_height > new_width
61
+ new_width
62
+ else
63
+ new_height
64
+ end
65
+ ratio = new_size / grab(:vie_0_background).width.to_f
66
+ main_matrix.data[:spacing] = main_matrix.data[:spacing] * ratio
67
+ matrix_spacing = main_matrix.data[:spacing]
68
+ matrix_size = main_matrix.data[:size]
69
+ resize_matrix(main_matrix, new_width, new_height, matrix_spacing, matrix_size)
66
70
  end
67
71
 
68
- grab(:view).on(:resize) do |event|
69
- new_event = Native(event)
70
- new_width = new_event[:width].to_f
71
- new_height = new_event[:height].to_f
72
- matrix_spacing = @current_matrix.data[:spacing]
73
- matrix_size = @current_matrix.data[:size]
74
- resize_matrix(@current_matrix, new_width, new_height, matrix_spacing, matrix_size)
75
- end
76
- # alert grab(:vie_0).data
77
- # wait 2 do
72
+ matrix_to_treat=main_matrix
78
73
 
79
- @current_matrix.color(:blue)
80
- @current_matrix.smooth(6)
81
- @current_matrix.shadow({
74
+ #######################################################@
75
+ matrix_to_treat.color(:blue)
76
+ matrix_to_treat.smooth(6)
77
+ matrix_to_treat.shadow({
82
78
  id: :s1,
83
- # affect: [:the_circle],
84
79
  left: 3, top: 3, blur: 6,
85
80
  invert: false,
86
81
  red: 0, green: 0, blue: 0, alpha: 0.6
@@ -89,67 +84,35 @@ end
89
84
  col_1 = color(:yellow)
90
85
  col_2 = color({ red: 1, id: :red_col })
91
86
 
92
-
93
- # @current_matrix.paint({ gradient: [col_1.id, col_2.id], direction: :left })
94
- @current_matrix.paint({ gradient: [col_1.id, col_2.id], direction: :top })
95
-
87
+ wait 3 do
88
+ matrix_to_treat.paint({ gradient: [col_1.id, col_2.id], direction: :top })
89
+ end
96
90
 
97
91
  ###################
98
92
 
99
-
100
93
  test_cell = grab(:vie_0_2_3)
101
94
  wait 1 do
102
95
  test_cell.color(:red)
96
+ test_cell.text('touch')
97
+ grab(:vie_0_background).color(:red)
103
98
  end
104
99
 
105
100
 
106
- module Molecule
107
-
108
- def states(val = nil)
109
- if val
110
- else
111
- end
112
-
113
- end
114
-
115
-
116
- def alternate(*states)
117
- # if states
118
- #
119
- # else
120
- # @alternate
121
- # end
122
- alert states
123
- end
124
- end
125
101
  c= circle({left: 399})
126
102
  test_cell.touch(true) do
127
103
  test_cell.alternate({ width: 33, color: :red }, { width: 66, color: :orange })
128
- # puts "=> #{Universe.atomes.length}"
129
- # puts test_cell.color
130
- # if test_cell.data==true
131
- # test_cell.data(false)
132
- # col_1 = color(:black)
133
-
134
- @current_matrix.paint({ gradient: [col_1.id, col_1.id], direction: :top })
135
- other_col=test_cell.color(:white)
136
- c.paint({ gradient: [col_1, col_2], direction: :left })
137
- test_cell.paint({ gradient: [col_1, other_col], direction: :left })
138
- # test_cell
139
- # grab(:red_col).delete(true)
140
- # test_cell.color(:green)
141
- # else
142
- # test_cell.data(true)
143
- # test_cell.color(:blue)
144
- # end
145
-
104
+ matrix_to_treat.paint({ gradient: [col_1.id, col_1.id], direction: :top })
105
+ other_col=test_cell.color(:green)
106
+ c.paint({ gradient: [col_1.id, col_2.id], direction: :left })
107
+ test_cell.paint({ gradient: [col_1.id, other_col.id], direction: :left })
146
108
  end
109
+
147
110
  wait 1 do
148
- @current_matrix.width(33)
111
+ matrix_to_treat.width(33)
149
112
  end
150
- @current_matrix.drag(true)
151
- # alert @current_matrix.id
113
+ matrix_to_treat.drag(true)
114
+ # alert matrix_to_treat.id
152
115
  wait 2 do
153
- grab(:vie_0_background).left(666)
116
+ grab(:vie_0_background).left(250)
154
117
  grab(:vie_0_background).drag(true)
155
118
  end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ # native recording (server mode only) :
4
+ text({ data: 'native operation only work in server mode ', top: 60 })
5
+ a = circle({ color: :red, left: 30, top: 90 })
6
+ a.text('native Audio')
7
+ record_callback = 'unset'
8
+ a.touch(true) do
9
+ A.record({ media: :audio, duration: 5, mode: :native, name: :my_audio_rec, type: :wav, path: '../src', data: { note: :c, velocity: 12, robin: 3, author: :vie, tags: [:voice, :noise, :attack] } }) do |result|
10
+ puts result
11
+ record_callback = result
12
+ end
13
+
14
+ end
15
+
16
+ aa = circle({ color: :red, left: 120, top: 90 })
17
+ aa.text('native video')
18
+ aa.touch(true) do
19
+ A.record({ media: :video, duration: 5, mode: :native, name: :my_video_rec, type: :mp4, path: '../src/', data: { type: :thriller, } }) do |result|
20
+ puts result
21
+ record_callback = result
22
+ end
23
+ end
24
+
25
+ aaa = circle({ color: :red, left: 256, top: 90 })
26
+ aaa.text('native stop')
27
+ aaa.touch(true) do
28
+ pid = record_callback['pid']
29
+ A.record({ stop: true, pid: pid }) do |msg|
30
+ puts "msg received for native stop : #{msg}"
31
+ end
32
+ end
33
+
34
+ # web recording:
35
+ box_to_rec_into = box({ id: :the_big_box })
36
+ c = circle({ color: :red, left: 30 })
37
+ c.text(:audio)
38
+ c.touch(true) do
39
+ box_to_rec_into.record({ media: :audio, duration: 7, mode: :web, name: :web_audio_rec, type: :wav, path: '../src', data: { note: :c, velocity: 12, robin: 3, author: :vie, tags: [:voice, :noise, :attack] } }) do |result|
40
+ # puts "recording audio : #{result}"
41
+ end
42
+ end
43
+
44
+ cc = circle({ color: :red, left: 120, id: :the_circle })
45
+ cc.text(:video)
46
+ cc.touch(true) do
47
+ box_to_rec_into.record({ media: :video, duration: 30, mode: :web, name: :web_video_rec, type: :mp4, path: '../src/', data: { type: :thriller } }) do |result|
48
+ # puts "recording video : #{result}"
49
+ end
50
+
51
+ end
52
+
53
+ ccc = circle({ color: :red, left: 256 })
54
+ ccc.text(:stop)
55
+ ccc.touch(true) do
56
+ box_to_rec_into.record({ stop: true }) do |msg|
57
+ puts "msg received for web stop : #{msg}"
58
+ end
59
+ end
60
+
61
+ cc2 = circle({ color: :red, left: 512, id: :the_circle_prev })
62
+ cc2.text(:preview)
63
+ cc2.touch(true) do
64
+ A.preview({ media: :video, mode: :web, id: :my_preview })
65
+ end
66
+
67
+
68
+ cc3 = circle({ color: :red, left: 600, id: :the_circle_stop_prev })
69
+ cc3.text('kill preview')
70
+ cc3.touch(true) do
71
+ A.preview({ media: :video, mode: :web, id: :my_preview, stop: true })
72
+ end
73
+
74
+
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ # new(application: {name: :compose })
4
+ # new(application: :compose ) do |params|
5
+ # alert params
6
+ # end
7
+ s=application({ name: :home })
8
+
9
+ # alert s.class
10
+ # alert "a.class : #{a.class}"
11
+ s.page(:hello)
12
+ # grab(:toto).color(:cyan)
13
+ #
14
+ # def layout
15
+ # compose_back=box
16
+ #
17
+ # compose_back.color({ alpha: 0 })
18
+ # media_reader=compose_back.box({left: 99, width: 250, height: 250, top: 99})
19
+ # viewer_1=compose_back.box({left: 360, width: 250, height: 250, top: 99})
20
+ # viewer_2=compose_back.box({left: 690, width: 250, height: 250, top: 99})
21
+ # timeline=compose_back.box({left: 99, width: 250, height: 250, top: 399})
22
+ # login=compose_back.text(:log)
23
+ # login.touch(true) do
24
+ # compose_back.delete(true)
25
+ # # grab(:view).clear(true)
26
+ # form
27
+ # end
28
+ #
29
+ # end
30
+ #
31
+ # def form
32
+ # form1=box
33
+ # form1.text(:login)
34
+ #
35
+ # form1.touch(true) do
36
+ # form1.delete(true)
37
+ # layout
38
+ # end
39
+ #
40
+ # end
41
+ # form
@@ -5,8 +5,6 @@ b=box({id: :the_box})
5
5
  b.text({id: :the_text, left: 90, top: 30, data: :ok})
6
6
  b.text({id: :the_text2, left: 190, top: 30, data: :hello})
7
7
 
8
-
9
-
10
8
  wait 1 do
11
9
  b.text.each_with_index do |el, _index|
12
10
  grab(el).left(30)
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ grab(:black_matter).image({ path: 'medias/images/icons/color.svg', id: :atomic_logo, width: 33, left: 333 })
4
+ vector({ width: 333, height: 333, id: :my_placeholder })
5
+ A.fetch_svg({ source: :atomic_logo, target: :my_placeholder })
6
+ grab(:atomic_logo).delete(true)
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ svg_content = <<-SVG
5
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024" xml:space="preserve" id="colorCanvas">
6
+ <!-- Generated by jeezs - http://www.atome.one
7
+ <path d="M150 0 L75 200 L225 200 Z" stroke="red" stroke-width="37" fill="white" />
8
+ <circle id="colorCanvas-oval" stroke="none" fill="rgb(255, 0, 0)" cx="274" cy="306" r="198" />
9
+ <circle id="colorCanvas-oval2" stroke="none" fill="rgb(0, 142, 255)" cx="767" cy="306" r="198" />
10
+ <circle id="colorCanvas-oval3" stroke="none" fill="rgb(50, 255, 0)" cx="499" cy="702" r="198" />
11
+ <ellipse id="colorCanvas-ellipse" stroke="black" stroke-width="5" fill="yellow" cx="512.5" cy="256" rx="150" ry="100" />
12
+ <rect id="colorCanvas-rect" stroke="green" stroke-width="5" fill="blue" x="100" y="500.7" width="300" height="150" />
13
+ <line id="colorCanvas-line" stroke="purple" stroke-width="110" x1="50" y1="800" x2="300.6" y2="950" />
14
+ <polygon id="colorCanvas-polygon" stroke="orange" stroke-width="7.2" fill="none" points="800,400 700,600 900,600" />
15
+ </svg>
16
+ SVG
17
+
18
+ v = vector({width: 333, height: 333})
19
+ atome_content = A.vectorizer(svg_content)
20
+ puts atome_content
21
+ v.data(atome_content)
@@ -6,7 +6,7 @@ c.box({ left: 0, width: 22, height: 22, top: 65 })
6
6
  c.touch(true) do
7
7
  alert :okk
8
8
  end
9
- m = matrix({ renderers: [:html], attach: :view, id: :my_test_box, type: :matrix, apply: [:shape_color],
9
+ m = table({ renderers: [:html], attach: :view, id: :my_test_box, type: :table, apply: [:shape_color],
10
10
  left: 333, top: 0, width: 900, smooth: 15, height: 900, overflow: :scroll, option: { header: true },
11
11
  component: {
12
12
  border: { thickness: 5, color: :blue, pattern: :dotted },