atome 0.5.2.8 → 0.5.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +7 -1
- data/app_builder_helpers/Rakefile +2 -2
- data/exe/atome +1 -1
- data/lib/atome/atome.rb +28 -26
- data/lib/atome/extensions/atome.rb +4 -0
- data/lib/atome/extensions/matrix.rb +349 -122
- data/lib/atome/genesis/generators/atome.rb +5 -1
- data/lib/atome/genesis/generators/identity.rb +43 -13
- data/lib/atome/genesis/generators/material.rb +20 -5
- data/lib/atome/genesis/generators/time.rb +1 -1
- data/lib/atome/genesis/generators/utility.rb +26 -2
- data/lib/atome/genesis/genesis.rb +12 -4
- data/lib/atome/genesis/sparkle.rb +35 -3
- data/lib/atome/helpers/essentials.rb +24 -15
- data/lib/atome/helpers/utilities.rb +42 -3
- data/lib/atome/kernel/batch.rb +48 -0
- data/lib/atome/presets/atome.rb +22 -6
- data/lib/atome/renderers/browser/atome.rb +1 -3
- data/lib/atome/renderers/browser/browser.rb +14 -1
- data/lib/atome/renderers/browser/geometry.rb +10 -2
- data/lib/atome/renderers/browser/helpers/video_helper.rb +1 -1
- data/lib/atome/renderers/browser/helpers/web_helper.rb +1 -5
- data/lib/atome/renderers/browser/identity.rb +7 -11
- data/lib/atome/renderers/browser/material.rb +10 -0
- data/lib/atome/renderers/html/atome.rb +2 -0
- data/lib/atome/renderers/renderer.rb +3 -2
- data/lib/atome/version.rb +1 -1
- data/lib/atome.rb +2 -1
- data/sig/atome.rbs +14 -0
- data/vendor/assets/Rakefile +1 -1
- data/vendor/assets/src/css/style.css +6 -6
- data/vendor/assets/src/medias/rubies/examples/_2_solve.rb +41 -27
- data/vendor/assets/src/medias/rubies/examples/_attach.rb +12 -0
- data/vendor/assets/src/medias/rubies/examples/_audio.rb +81 -28
- data/vendor/assets/src/medias/rubies/examples/_dataset.rb +191 -111
- data/vendor/assets/src/medias/rubies/examples/clone.rb +4 -4
- data/vendor/assets/src/medias/rubies/examples/delete.rb +2 -2
- data/vendor/assets/src/medias/rubies/examples/drag.rb +2 -1
- data/vendor/assets/src/medias/rubies/examples/table.rb +479 -0
- data/vendor/assets/src/medias/rubies/examples/to_px.rb +10 -0
- metadata +7 -4
- data/vendor/assets/src/medias/rubies/examples/attach.rb +0 -12
@@ -11,6 +11,25 @@ end
|
|
11
11
|
generator.build_particle(:broadcast)
|
12
12
|
generator.build_particle(:additional)
|
13
13
|
generator.build_particle(:data)
|
14
|
+
# generator.build_particle(:delete) do |params|
|
15
|
+
# if params == true
|
16
|
+
# # the machine delete the current atome
|
17
|
+
# Universe.delete(@atome[:id])
|
18
|
+
# elsif params[:id]
|
19
|
+
# # the machine try to an atome by it's ID and delete it
|
20
|
+
# grab(params[:id]).delete(true)
|
21
|
+
# elsif instance_of? Hash
|
22
|
+
# # the machine try to find the sub particle id and remove it eg a.delete(monitor: :my_monitor) remove the monitor
|
23
|
+
# # with id my_monitor
|
24
|
+
# params.each do |param, value|
|
25
|
+
# atome[param][value] = nil
|
26
|
+
# end
|
27
|
+
# else
|
28
|
+
# # the machine try to reset the current particle(params), eg a.delete(:left) => left: 0
|
29
|
+
# send(params,0)
|
30
|
+
# end
|
31
|
+
# end
|
32
|
+
|
14
33
|
generator.build_particle(:delete) do |params|
|
15
34
|
if params == true
|
16
35
|
# the machine delete the current atome
|
@@ -18,17 +37,18 @@ generator.build_particle(:delete) do |params|
|
|
18
37
|
elsif params[:id]
|
19
38
|
# the machine try to an atome by it's ID and delete it
|
20
39
|
grab(params[:id]).delete(true)
|
21
|
-
elsif instance_of? Hash
|
40
|
+
elsif params.instance_of? Hash
|
22
41
|
# the machine try to find the sub particle id and remove it eg a.delete(monitor: :my_monitor) remove the monitor
|
23
42
|
# with id my_monitor
|
24
43
|
params.each do |param, value|
|
25
44
|
atome[param][value] = nil
|
26
45
|
end
|
27
46
|
else
|
28
|
-
# the machine try to reset the current particle(params), eg a.delete(:left) => left: 0
|
47
|
+
# # the machine try to reset the current particle(params), eg a.delete(:left) => left: 0
|
29
48
|
send(params,0)
|
30
49
|
end
|
31
50
|
end
|
51
|
+
|
32
52
|
generator.build_particle(:clear)
|
33
53
|
generator.build_particle(:path)
|
34
54
|
generator.build_particle(:schedule) do |date, proc|
|
@@ -47,3 +67,7 @@ end
|
|
47
67
|
|
48
68
|
generator.build_particle(:cursor)
|
49
69
|
|
70
|
+
generator.build_particle(:preset)
|
71
|
+
|
72
|
+
generator.build_particle(:relations, { type: :hash })
|
73
|
+
|
@@ -11,14 +11,22 @@ end
|
|
11
11
|
|
12
12
|
# Genesis method here
|
13
13
|
class Atome
|
14
|
-
def build_particle(particle_name,
|
14
|
+
def build_particle(particle_name,options={},&particle_proc)
|
15
|
+
type = options[:type]
|
16
|
+
type = :string if options[:type].nil?
|
17
|
+
store = options[:store]
|
18
|
+
store = true if options[:store].nil?
|
19
|
+
render = options[:render]
|
20
|
+
render = true if options[:render].nil?
|
21
|
+
|
15
22
|
# we add the new method to the particle's collection of methods
|
16
23
|
Universe.add_to_particle_list(particle_name, type)
|
17
|
-
auto_render_generator(particle_name)
|
18
|
-
new_particle(particle_name, &particle_proc)
|
19
|
-
additional_particle_methods(particle_name,
|
24
|
+
auto_render_generator(particle_name) if render # automatise the creation of an empty render method for current particle
|
25
|
+
new_particle(particle_name,store,render , &particle_proc)
|
26
|
+
additional_particle_methods(particle_name, store,render ,&particle_proc) # create alternative methods such as create 'method='
|
20
27
|
end
|
21
28
|
|
29
|
+
|
22
30
|
def build_atome(atome_name, &atome_proc)
|
23
31
|
# we add the new method to the atome's collection of methods
|
24
32
|
Universe.add_to_atome_list(atome_name)
|
@@ -35,11 +35,43 @@ Atome.new(
|
|
35
35
|
parents: [:eDen], children: [] } }
|
36
36
|
)
|
37
37
|
|
38
|
+
# color creation
|
39
|
+
Atome.new(
|
40
|
+
{ color: { renderers: default_render, id: :view_color, type: :color,
|
41
|
+
red: 0.15, green: 0.15, blue: 0.15, alpha: 1 } }
|
42
|
+
)
|
43
|
+
|
44
|
+
Atome.new(
|
45
|
+
{ color: { renderers: default_render, id: :shape_color, type: :color,
|
46
|
+
red: 0.4, green: 0.4, blue: 0.4, alpha: 1 } }
|
47
|
+
)
|
48
|
+
|
49
|
+
Atome.new(
|
50
|
+
{ color: { renderers: default_render, id: :box_color, type: :color,
|
51
|
+
red: 0.5, green: 0.5, blue: 0.5, alpha: 1 } }
|
52
|
+
)
|
53
|
+
|
54
|
+
Atome.new(
|
55
|
+
{ color: { renderers: default_render, id: :text_color, type: :color,
|
56
|
+
red: 0.3, green: 0.3, blue: 0.3, alpha: 1 } }
|
57
|
+
)
|
58
|
+
|
59
|
+
Atome.new(
|
60
|
+
{ color: { renderers: default_render, id: :circle_color, type: :color,
|
61
|
+
red: 0.6, green: 0.6, blue: 0.6, alpha: 1 } }
|
62
|
+
)
|
63
|
+
|
64
|
+
Atome.new(
|
65
|
+
{ color: { renderers: default_render, id: :matrix_color, type: :color,
|
66
|
+
left: 0, top: 0, red: 0.7, green: 0.7, blue: 0.7, alpha: 1, diffusion: :linear } }
|
67
|
+
)
|
68
|
+
|
69
|
+
# view creation
|
38
70
|
Atome.new(
|
39
71
|
{ shape: { renderers: default_render, id: :view, type: :shape, parents: [:user_view], children: [],
|
40
|
-
left: 0, right: 0, top: 0, bottom: 0, overflow: :auto
|
41
|
-
|
42
|
-
|
72
|
+
attached: [:view_color], left: 0, right: 0, top: 0, bottom: 0, width: :auto, height: :auto, overflow: :auto
|
73
|
+
}
|
74
|
+
}
|
43
75
|
)
|
44
76
|
|
45
77
|
# init basic object for atome environment
|
@@ -4,22 +4,31 @@
|
|
4
4
|
module Essentials
|
5
5
|
@default_params = {
|
6
6
|
render_engines: [:browser],
|
7
|
-
animation: { type: :animation },
|
8
|
-
element: { type: :element, renderers: [] },
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
7
|
+
animation: { type: :animation, children: [] },
|
8
|
+
element: { type: :element, renderers: [], children: [] },
|
9
|
+
matrix: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99,
|
10
|
+
attached: [:matrix_color], children: [],
|
11
|
+
# color: { left: 0, top: 0, red: 0.1, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
|
12
|
+
left: 100, top: 100, clones: [], preset: :matrix },
|
13
|
+
box: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99,
|
14
|
+
attached: [:box_color], children: [],
|
15
|
+
# color: { left: 0, top: 0, red: 1, green: 0.3, blue: 0.3, alpha: 1, diffusion: :linear },
|
16
|
+
left: 100, top: 100, clones: [], preset: :box },
|
17
|
+
circle: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99, smooth: '100%',
|
18
|
+
# color: { left: 0, top: 0, red: 0.3, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
|
19
|
+
attached: [:circle_color], children: [],
|
20
|
+
left: 100, top: 100, clones: [], preset: :circle },
|
21
|
+
shape: { renderers: [], id: '', type: :shape, parents: [], width: 99, height: 99,
|
22
|
+
attached: [:view_color], children: [],
|
23
|
+
# color: { left: 0, top: 0, red: 0.6, green: 0.9, blue: 0.9, alpha: 1, diffusion: :linear },
|
24
|
+
left: 100, top: 100, clones: [] },
|
25
|
+
text: { renderers: [], id: '', type: :text, parents: [:view], visual: { size: 25 },
|
26
|
+
attached: [:text_color], children: [],
|
27
|
+
# color: { left: 0, top: 0, red: 0.3, green: 0.3, blue: 0.3, alpha: 1, diffusion: :linear },
|
28
|
+
data: 'this is a text sample', width: 199, height: 33, clones: [] },
|
21
29
|
drm: { type: :drm },
|
22
|
-
shadow: {}
|
30
|
+
shadow: {},
|
31
|
+
color: {}
|
23
32
|
}
|
24
33
|
|
25
34
|
def self.default_params
|
@@ -28,11 +28,12 @@ class Atome
|
|
28
28
|
"historize : #{property} #{value}"
|
29
29
|
end
|
30
30
|
|
31
|
-
def broadcasting(
|
31
|
+
def broadcasting(element)
|
32
|
+
params=instance_variable_get("@#{element}")
|
32
33
|
@broadcast.each_value do |particle_monitored|
|
33
|
-
if particle_monitored[:particles].include?(
|
34
|
+
if particle_monitored[:particles].include?(element)
|
34
35
|
code_found=particle_monitored[:code]
|
35
|
-
instance_exec(self,
|
36
|
+
instance_exec(self, element, params, &code_found) if code_found.is_a?(Proc)
|
36
37
|
end
|
37
38
|
end
|
38
39
|
end
|
@@ -100,4 +101,42 @@ class Atome
|
|
100
101
|
def refresh
|
101
102
|
collapse
|
102
103
|
end
|
104
|
+
|
105
|
+
def collector(params = {}, &bloc)
|
106
|
+
atome_type = :collector
|
107
|
+
generated_render = params[:renderers] || []
|
108
|
+
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
109
|
+
generated_parents = params[:parents] || [id.value]
|
110
|
+
generated_children = params[:children] || []
|
111
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
112
|
+
Batch.new({ atome_type => params }, &bloc)
|
113
|
+
end
|
114
|
+
|
115
|
+
def each(&proc)
|
116
|
+
value.each do |val|
|
117
|
+
instance_exec(val, &proc) if proc.is_a?(Proc)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
def [](range)
|
122
|
+
if value[range].class == Atome
|
123
|
+
return value[range]
|
124
|
+
elsif value[range].class == Array
|
125
|
+
collector_object = Object.collector({})
|
126
|
+
collected_atomes = []
|
127
|
+
value[range].each do |atome_found|
|
128
|
+
collected_atomes << atome_found
|
129
|
+
end
|
130
|
+
collector_object.data(collected_atomes)
|
131
|
+
|
132
|
+
return collector_object
|
133
|
+
end
|
134
|
+
|
135
|
+
end
|
136
|
+
|
137
|
+
def set(params)
|
138
|
+
params.each do |particle, value|
|
139
|
+
send(particle, value)
|
140
|
+
end
|
141
|
+
end
|
103
142
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Batch
|
4
|
+
|
5
|
+
def each(&proc)
|
6
|
+
value.each do |val|
|
7
|
+
instance_exec(val, &proc) if proc.is_a?(Proc)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def id(val = nil)
|
12
|
+
if val
|
13
|
+
@id = val
|
14
|
+
else
|
15
|
+
@id
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def initialize(params)
|
20
|
+
@id = params[:id] || "batch_#{Universe.atomes.length}"
|
21
|
+
Universe.add_to_atomes(@id, self)
|
22
|
+
end
|
23
|
+
|
24
|
+
def dispatch (method, *args, &block)
|
25
|
+
@data.each do |atome_found|
|
26
|
+
atome_found.send(method, *args, &block)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# TODO: automatise collector methods creation when creato,g a new atome type
|
31
|
+
def color(args, &block)
|
32
|
+
|
33
|
+
dispatch(:color, args, &block)
|
34
|
+
end
|
35
|
+
|
36
|
+
def shadow(args, &block)
|
37
|
+
dispatch(:color, args, &block)
|
38
|
+
end
|
39
|
+
|
40
|
+
def method_missing(method, *args, &block)
|
41
|
+
dispatch(method, args, &block)
|
42
|
+
end
|
43
|
+
|
44
|
+
def data(collection)
|
45
|
+
@data = collection
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
data/lib/atome/presets/atome.rb
CHANGED
@@ -7,22 +7,34 @@
|
|
7
7
|
|
8
8
|
# shaper creation
|
9
9
|
class Atome
|
10
|
-
def atome_common(atome_type, generated_id, generated_render, generated_parents, params)
|
10
|
+
def atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
11
11
|
temp_default = Essentials.default_params[atome_type] || {}
|
12
12
|
temp_default[:id] = generated_id
|
13
13
|
temp_default[:parents] = generated_parents
|
14
14
|
temp_default[:clones] = []
|
15
15
|
temp_default[:renderers] = generated_render
|
16
|
+
temp_default[:children] = generated_children.concat(temp_default[:children])
|
16
17
|
temp_default.merge(params)
|
17
18
|
end
|
18
19
|
|
20
|
+
|
19
21
|
def box(params = {}, &bloc)
|
20
22
|
default_renderer = Essentials.default_params[:render_engines]
|
21
23
|
atome_type = :box
|
22
24
|
generated_render = params[:renderers] || default_renderer
|
23
25
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
24
26
|
generated_parents = params[:parents] || [id.value]
|
25
|
-
|
27
|
+
generated_children = params[:children] || []
|
28
|
+
|
29
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
30
|
+
|
31
|
+
# params2 = { renderers: [:browser], id: generated_id, type: :shape, parents: [generated_parents], children: [],
|
32
|
+
# width: 99, height: 99,
|
33
|
+
# color: { renderers: [:browser], id: "#{params[:id]}_color", type: :color, attach: [params[:id]],
|
34
|
+
# red: 0.15, green: 0.30, blue: 0.6, alpha: 1 },
|
35
|
+
# left: 100, top: 100, clones: [], preset: :box
|
36
|
+
# }
|
37
|
+
# params[:children]=[]
|
26
38
|
Atome.new({ atome_type => params }, &bloc)
|
27
39
|
end
|
28
40
|
|
@@ -32,7 +44,8 @@ class Atome
|
|
32
44
|
generated_render = params[:renderers] || default_renderer
|
33
45
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
34
46
|
generated_parents = params[:parents] || [id.value]
|
35
|
-
|
47
|
+
generated_children = params[:children] || []
|
48
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
36
49
|
Atome.new({ atome_type => params }, &bloc)
|
37
50
|
end
|
38
51
|
|
@@ -54,7 +67,8 @@ class Atome
|
|
54
67
|
generated_render = params[:renderers] || default_renderer
|
55
68
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
56
69
|
generated_parents = params[:parents] || [id.value]
|
57
|
-
|
70
|
+
generated_children = params[:children] || []
|
71
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
58
72
|
Atome.new({ atome_type => params }, &bloc)
|
59
73
|
end
|
60
74
|
|
@@ -63,7 +77,8 @@ class Atome
|
|
63
77
|
generated_render = params[:renderers] || []
|
64
78
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
65
79
|
generated_parents = params[:parents] || [id.value]
|
66
|
-
|
80
|
+
generated_children = params[:children] || []
|
81
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
67
82
|
Atome.new({ atome_type => params }, &bloc)
|
68
83
|
end
|
69
84
|
|
@@ -86,7 +101,8 @@ class Atome
|
|
86
101
|
generated_render = params[:renderers] || default_renderer
|
87
102
|
generated_id = params[:id] || "#{atome_type}_#{Universe.atomes.length}"
|
88
103
|
generated_parents = params[:parents] || []
|
89
|
-
|
104
|
+
generated_children = params[:children] || []
|
105
|
+
params = atome_common(atome_type, generated_id, generated_render, generated_parents, generated_children, params)
|
90
106
|
Atome.new({ atome_type => params }, &bloc)
|
91
107
|
end
|
92
108
|
end
|
@@ -6,8 +6,6 @@ DOM = :nil
|
|
6
6
|
|
7
7
|
def parents(_val) end
|
8
8
|
|
9
|
-
# end dummy code
|
10
|
-
|
11
9
|
generator = Genesis.generator
|
12
10
|
|
13
11
|
generator.build_render(:browser_shape) do
|
@@ -77,7 +75,7 @@ generator.build_render(:browser_text) do |_value, _user_proc|
|
|
77
75
|
end
|
78
76
|
|
79
77
|
generator.build_render(:browser_web) do
|
80
|
-
@browser_type = :
|
78
|
+
@browser_type = :div
|
81
79
|
id_found = @atome[:id]
|
82
80
|
DOM do
|
83
81
|
iframe({ id: id_found }).atome
|
@@ -23,7 +23,20 @@ require 'atome/renderers/browser/helpers/video_helper'
|
|
23
23
|
require 'atome/renderers/browser/helpers/web_helper'
|
24
24
|
|
25
25
|
class Atome
|
26
|
-
attr_accessor
|
26
|
+
attr_accessor :browser_object
|
27
|
+
|
28
|
+
def to_px
|
29
|
+
id_found = real_atome[:id]
|
30
|
+
property_found=property
|
31
|
+
value_get = ''
|
32
|
+
`
|
33
|
+
div = document.getElementById(#{id_found});
|
34
|
+
var style = window.getComputedStyle(div);
|
35
|
+
var original_value = style.getPropertyValue(#{property_found});
|
36
|
+
#{value_get}= parseInt(original_value);
|
37
|
+
`
|
38
|
+
value_get
|
39
|
+
end
|
27
40
|
end
|
28
41
|
|
29
42
|
def atome_js
|
@@ -3,9 +3,17 @@
|
|
3
3
|
generator = Genesis.generator
|
4
4
|
|
5
5
|
generator.build_render(:browser_width) do |value|
|
6
|
-
@browser_object.style[:width] =
|
6
|
+
@browser_object.style[:width] = if value.instance_of? String
|
7
|
+
value
|
8
|
+
else
|
9
|
+
"#{value}px"
|
10
|
+
end
|
7
11
|
end
|
8
12
|
|
9
13
|
generator.build_render(:browser_height) do |value|
|
10
|
-
@browser_object.style[:height] =
|
14
|
+
@browser_object.style[:height] = if value.instance_of? String
|
15
|
+
value
|
16
|
+
else
|
17
|
+
"#{value}px"
|
18
|
+
end
|
11
19
|
end
|
@@ -24,7 +24,7 @@ module BrowserHelper
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def self.browser_play_video(_value, browser_object_found, atome_hash, atome_object, proc)
|
27
|
-
markers = atome_hash[:markers]
|
27
|
+
markers = atome_hash[:markers] ||= {}
|
28
28
|
markers.each_value do |value|
|
29
29
|
value[:end] = value[:begin] + 0.25 unless value[:end]
|
30
30
|
value[:label] = "label_#{atome_hash[:markers].length}" unless value[:label]
|
@@ -3,6 +3,11 @@
|
|
3
3
|
generator = Genesis.generator
|
4
4
|
|
5
5
|
generator.build_render(:browser_id) do |params|
|
6
|
+
if @browser_type == :style
|
7
|
+
prev_content = @browser_object.inner_html
|
8
|
+
new_content = prev_content.sub(@browser_object.id, params)
|
9
|
+
@browser_object.inner_html = new_content
|
10
|
+
end
|
6
11
|
browser_object.id = params if @atome[:id] != params
|
7
12
|
end
|
8
13
|
|
@@ -10,17 +15,8 @@ generator.build_render(:browser_type) do |params|
|
|
10
15
|
send("browser_#{params}", user_proc)
|
11
16
|
end
|
12
17
|
|
13
|
-
generator.build_render(:
|
14
|
-
|
15
|
-
BrowserHelper.send("browser_attach_#{@browser_type}", parent_found, @browser_object, @atome)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
generator.build_option(:pre_render_children) do |children_pass|
|
20
|
-
children_pass.each do |child_found|
|
21
|
-
atome_found = grab(child_found)
|
22
|
-
atome_found.parents([@atome[:id]])
|
23
|
-
end
|
18
|
+
generator.build_render(:browser_family) do |parents_found|
|
19
|
+
BrowserHelper.send("browser_attach_#{@browser_type}", parents_found, @browser_object, @atome)
|
24
20
|
end
|
25
21
|
|
26
22
|
generator.build_render(:browser_attach) do |parents_found|
|
@@ -9,15 +9,21 @@ generator.build_render(:red) do |value|
|
|
9
9
|
alpha = @atome[:alpha]
|
10
10
|
color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
|
11
11
|
BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
|
12
|
+
# we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
|
13
|
+
self
|
12
14
|
end
|
13
15
|
|
14
16
|
generator.build_render(:green) do |value|
|
17
|
+
# we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
|
18
|
+
self
|
15
19
|
red = @atome[:red] * 255
|
16
20
|
green = (@atome[:green] = value) * 255
|
17
21
|
blue = @atome[:blue] * 255
|
18
22
|
alpha = @atome[:alpha]
|
19
23
|
color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
|
20
24
|
BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
|
25
|
+
# we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
|
26
|
+
self
|
21
27
|
end
|
22
28
|
|
23
29
|
generator.build_render(:blue) do |value|
|
@@ -27,6 +33,8 @@ generator.build_render(:blue) do |value|
|
|
27
33
|
alpha = @atome[:alpha]
|
28
34
|
color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
|
29
35
|
BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
|
36
|
+
# we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
|
37
|
+
self
|
30
38
|
end
|
31
39
|
|
32
40
|
generator.build_render(:alpha) do |value|
|
@@ -36,6 +44,8 @@ generator.build_render(:alpha) do |value|
|
|
36
44
|
alpha = (@atome[:alpha] = value)
|
37
45
|
color_updated = "rgba(#{red}, #{green}, #{blue}, #{alpha})"
|
38
46
|
BrowserHelper.send("browser_colorize_#{@atome[:type]}", color_updated, @atome)
|
47
|
+
# we return self to allow syntax of the type : a.color(:black).red(1).green(0.3)
|
48
|
+
self
|
39
49
|
end
|
40
50
|
|
41
51
|
generator.build_render(:visual) do |value|
|
@@ -4,10 +4,11 @@
|
|
4
4
|
class Atome
|
5
5
|
private
|
6
6
|
|
7
|
-
def rendering(
|
7
|
+
def rendering(element, &user_proc)
|
8
|
+
params=instance_variable_get("@#{element}")
|
8
9
|
render_engines = @atome[:renderers]
|
9
10
|
render_engines.each do |render_engine|
|
10
|
-
send("#{render_engine}_#{
|
11
|
+
send("#{render_engine}_#{element}", params, &user_proc)
|
11
12
|
end
|
12
13
|
end
|
13
14
|
end
|
data/lib/atome/version.rb
CHANGED
data/lib/atome.rb
CHANGED
@@ -5,12 +5,12 @@ require 'atome/version'
|
|
5
5
|
require 'atome/genesis/genesis'
|
6
6
|
require 'atome/kernel/essentials'
|
7
7
|
require 'atome/kernel/universe'
|
8
|
+
require 'atome/kernel/batch'
|
8
9
|
require 'atome/helpers/essentials'
|
9
10
|
require 'atome/renderers/renderer'
|
10
11
|
require 'atome/helpers/color_helper/color'
|
11
12
|
require 'atome/extensions/atome'
|
12
13
|
require 'atome/atome'
|
13
|
-
require 'atome/helpers/utilities'
|
14
14
|
require 'atome/helpers/callbacks'
|
15
15
|
require 'atome/genesis/generators/atome'
|
16
16
|
require 'atome/presets/atome'
|
@@ -23,6 +23,7 @@ require 'atome/genesis/generators/material'
|
|
23
23
|
require 'atome/genesis/generators/spatial'
|
24
24
|
require 'atome/genesis/generators/time'
|
25
25
|
require 'atome/genesis/generators/utility'
|
26
|
+
require 'atome/helpers/utilities'
|
26
27
|
if RUBY_ENGINE.downcase == 'opal'
|
27
28
|
require 'atome/renderers/browser/browser'
|
28
29
|
require 'atome/renderers/html/html'
|
data/sig/atome.rbs
CHANGED
@@ -7,5 +7,19 @@ module Atome
|
|
7
7
|
|
8
8
|
def add_to_hash: -> untyped
|
9
9
|
|
10
|
+
def apply_style: -> untyped
|
11
|
+
|
12
|
+
def format_matrix: -> untyped
|
13
|
+
|
14
|
+
def get_column: -> untyped
|
15
|
+
|
16
|
+
def get_column_or_row: -> untyped
|
17
|
+
|
18
|
+
def get_row: -> untyped
|
19
|
+
|
20
|
+
def matrix: -> untyped
|
21
|
+
|
22
|
+
def set: -> untyped
|
23
|
+
|
10
24
|
def sort_callback: -> untyped
|
11
25
|
end
|
data/vendor/assets/Rakefile
CHANGED
@@ -19,14 +19,14 @@ html, body {
|
|
19
19
|
|
20
20
|
|
21
21
|
#view {
|
22
|
-
left:
|
22
|
+
left: 0px;
|
23
23
|
font-size: 25px;
|
24
|
-
right:
|
25
|
-
top:
|
26
|
-
bottom:
|
27
|
-
width:
|
24
|
+
right: 0px;
|
25
|
+
top: 0px;
|
26
|
+
bottom: 0px;
|
27
|
+
width: auto;
|
28
28
|
display: block;
|
29
|
-
height:
|
29
|
+
height: auto;
|
30
30
|
overflow: hidden;
|
31
31
|
position: absolute;
|
32
32
|
-webkit-overflow-scrolling: touch;
|