atome 0.4.5.4 → 0.5.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -3
- data/README.md +7 -4
- data/Rakefile +22 -12
- data/app_builder_helpers/Rakefile +65 -21
- data/exe/atome +91 -45
- data/lib/atome/atome_meta_engine.rb +132 -0
- data/lib/atome/extensions/atome.rb +41 -0
- data/lib/atome/extensions/ping.rb +15 -11
- data/lib/atome/extensions/sha.rb +3 -1
- data/lib/atome/genesis/generators/atome.rb +13 -0
- data/lib/atome/{renderers/headless/properties/generator.rb → genesis/generators/communication.rb} +2 -0
- data/lib/atome/genesis/generators/effect.rb +6 -0
- data/lib/atome/genesis/generators/event.rb +5 -0
- data/lib/atome/genesis/generators/geometry.rb +6 -0
- data/lib/atome/genesis/generators/identity.rb +15 -0
- data/lib/atome/genesis/generators/material.rb +10 -0
- data/lib/atome/genesis/generators/spatial.rb +12 -0
- data/lib/atome/genesis/generators/utility.rb +14 -0
- data/lib/atome/genesis/genesis.rb +51 -0
- data/lib/atome/genesis/sparkle.rb +58 -0
- data/lib/atome/helpers/color_helper/color/cmyk.rb +263 -0
- data/lib/atome/helpers/color_helper/color/css.rb +7 -0
- data/lib/atome/helpers/color_helper/color/grayscale.rb +197 -0
- data/lib/atome/helpers/color_helper/color/hsl.rb +240 -0
- data/lib/atome/helpers/color_helper/color/palette/adobecolor.rb +260 -0
- data/lib/atome/helpers/color_helper/color/palette/gimp.rb +104 -0
- data/lib/atome/helpers/color_helper/color/palette/monocontrast.rb +164 -0
- data/lib/atome/helpers/color_helper/color/palette.rb +4 -0
- data/lib/atome/helpers/color_helper/color/rgb/colors.rb +167 -0
- data/lib/atome/helpers/color_helper/color/rgb/contrast.rb +57 -0
- data/lib/atome/helpers/color_helper/color/rgb/metallic.rb +28 -0
- data/lib/atome/helpers/color_helper/color/rgb.rb +715 -0
- data/lib/atome/helpers/color_helper/color/yiq.rb +62 -0
- data/lib/atome/helpers/color_helper/color.rb +196 -0
- data/lib/atome/helpers/essentials.rb +42 -0
- data/lib/atome/helpers/sanitizer.rb +42 -0
- data/lib/atome/helpers/utilities.rb +57 -0
- data/lib/atome/kernel/essentials.rb +30 -0
- data/lib/atome/kernel/universe.rb +77 -20
- data/lib/atome/presets/atome.rb +66 -0
- data/lib/atome/processors/utilities.rb +10 -0
- data/lib/atome/renderers/browser/atome.rb +95 -0
- data/lib/atome/renderers/browser/browser.rb +158 -0
- data/lib/atome/renderers/browser/effect.rb +23 -0
- data/lib/atome/renderers/browser/event.rb +9 -0
- data/lib/atome/renderers/browser/geometry.rb +11 -0
- data/lib/atome/renderers/browser/identity.rb +20 -0
- data/lib/atome/renderers/browser/material.rb +43 -0
- data/lib/atome/renderers/{opal → browser}/opal_browser.rb +0 -2
- data/lib/atome/renderers/browser/spatial.rb +22 -0
- data/lib/atome/renderers/browser/utility.rb +26 -0
- data/lib/atome/renderers/html/atome.rb +47 -0
- data/lib/atome/renderers/html/effect.rb +19 -0
- data/lib/atome/renderers/html/event.rb +9 -0
- data/lib/atome/renderers/html/geometry.rb +11 -0
- data/lib/atome/renderers/html/html.rb +42 -0
- data/lib/atome/renderers/html/identity.rb +14 -0
- data/lib/atome/renderers/html/opal_browser.rb +6 -0
- data/lib/atome/renderers/html/spatial.rb +28 -0
- data/lib/atome/renderers/html/utility.rb +15 -0
- data/lib/atome/renderers/opal/atome_opal_extensions.rb +1 -1
- data/lib/atome/renderers/opal/extensions/atome.rb +29 -0
- data/lib/atome/renderers/opal/extensions/geolocation.rb +0 -1
- data/lib/atome/renderers/opal/opal.rb +4 -0
- data/lib/atome/version.rb +1 -1
- data/lib/atome.rb +22 -54
- data/vendor/assets/application/index.rb +3 -1
- data/vendor/assets/application/required_example.rb +1 -0
- data/{lib/atome/renderers/headless/headless.rb → vendor/assets/aui.rb} +0 -0
- data/vendor/assets/build/css/style.css +55 -0
- data/vendor/assets/build/index.html +12 -7
- data/vendor/assets/build/js/atome/atome.js +72 -58
- data/vendor/assets/build/js/third_parties/interact.min.js +2 -3
- data/vendor/assets/build/js/{ping.min.js → third_parties/ping.min.js} +0 -0
- data/vendor/assets/build/js/{utilities → third_parties}/w3color.js +0 -0
- data/vendor/assets/build/js/third_parties/zim.min.js +1 -0
- data/vendor/assets/build/medias/rubies/examples/!run.rb +16 -0
- data/{lib/atome/renderers/server/server.rb → vendor/assets/build/medias/rubies/examples/_animation.rb} +0 -0
- data/vendor/assets/build/medias/rubies/examples/_code.rb +12 -0
- data/vendor/assets/build/medias/rubies/examples/_id.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/_link.rb +17 -0
- data/vendor/assets/build/medias/rubies/examples/_on.rb +18 -0
- data/vendor/assets/build/medias/rubies/examples/_read.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/_refresh.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/atome.new.rb +13 -10
- data/vendor/assets/build/medias/rubies/examples/auto_height.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/auto_width.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/blur.rb +4 -0
- data/vendor/assets/build/medias/rubies/examples/bottom.rb +3 -1
- data/vendor/assets/build/medias/rubies/examples/box.rb +23 -1
- data/vendor/assets/build/medias/rubies/examples/circle.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/clear.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/color.rb +47 -8
- data/vendor/assets/build/medias/rubies/examples/create_atome_in_atome.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/delete.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/drag.rb +43 -4
- data/vendor/assets/build/medias/rubies/examples/element.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/get_renderer_list.rb +3 -1
- data/vendor/assets/build/medias/rubies/examples/grab.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/height.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/image.rb +6 -2
- data/vendor/assets/build/medias/rubies/examples/left.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/monitoring.rb +20 -0
- data/vendor/assets/build/medias/rubies/examples/parent.rb +8 -5
- data/vendor/assets/build/medias/rubies/examples/repeat.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/right.rb +3 -1
- data/vendor/assets/build/medias/rubies/examples/schedule.rb +0 -4
- data/vendor/assets/build/medias/rubies/examples/shadow.rb +30 -0
- data/vendor/assets/build/medias/rubies/examples/text.rb +30 -3
- data/vendor/assets/build/medias/rubies/examples/touch.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/video.rb +51 -3
- data/vendor/assets/build/medias/rubies/examples/web.rb +3 -2
- data/vendor/assets/server/atome_server.rb +3 -5
- metadata +78 -166
- data/lib/atome/atome_native_extensions.rb +0 -5
- data/lib/atome/extensions/helper.rb +0 -123
- data/lib/atome/extensions/utilities.rb +0 -39
- data/lib/atome/kernel/atome.rb +0 -98
- data/lib/atome/kernel/generators/generator.rb +0 -387
- data/lib/atome/kernel/generators/genesis.rb +0 -265
- data/lib/atome/kernel/generators/sanitizer.rb +0 -77
- data/lib/atome/kernel/generators/shapes.rb +0 -40
- data/lib/atome/kernel/properties/essential.rb +0 -43
- data/lib/atome/kernel/sparkle.rb +0 -37
- data/lib/atome/renderers/opal/properties/generator.rb +0 -1
- data/lib/atome/renderers/renderer.rb +0 -12
- data/lib/atome/renderers/server/properties/generator.rb +0 -9
- data/vendor/assets/build/js/application.js +0 -0
- data/vendor/assets/build/js/third_parties/createjs.min.js +0 -19
- data/vendor/assets/build/medias/rubies/examples/Old_examples/!demos.rb +0 -111
- data/vendor/assets/build/medias/rubies/examples/Old_examples/action.rb +0 -12
- data/vendor/assets/build/medias/rubies/examples/Old_examples/add.rb +0 -26
- data/vendor/assets/build/medias/rubies/examples/Old_examples/alignment.rb +0 -27
- data/vendor/assets/build/medias/rubies/examples/Old_examples/animation.rb +0 -92
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_as_property.rb +0 -20
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_list.rb +0 -4
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atomiser.rb +0 -17
- data/vendor/assets/build/medias/rubies/examples/Old_examples/attach_extract.rb +0 -13
- data/vendor/assets/build/medias/rubies/examples/Old_examples/authorisation.rb +0 -22
- data/vendor/assets/build/medias/rubies/examples/Old_examples/batch.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/blend.rb +0 -15
- data/vendor/assets/build/medias/rubies/examples/Old_examples/blur.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/border.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/calendar.rb +0 -5
- data/vendor/assets/build/medias/rubies/examples/Old_examples/capture.rb +0 -57
- data/vendor/assets/build/medias/rubies/examples/Old_examples/center.rb +0 -21
- data/vendor/assets/build/medias/rubies/examples/Old_examples/child.rb +0 -18
- data/vendor/assets/build/medias/rubies/examples/Old_examples/clear.rb +0 -21
- data/vendor/assets/build/medias/rubies/examples/Old_examples/clip.rb +0 -11
- data/vendor/assets/build/medias/rubies/examples/Old_examples/code.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/code_editor.rb +0 -26
- data/vendor/assets/build/medias/rubies/examples/Old_examples/collaborate.rb +0 -115
- data/vendor/assets/build/medias/rubies/examples/Old_examples/convert_to_px.rb +0 -14
- data/vendor/assets/build/medias/rubies/examples/Old_examples/copy_paste.rb +0 -35
- data/vendor/assets/build/medias/rubies/examples/Old_examples/current_code.rb +0 -14
- data/vendor/assets/build/medias/rubies/examples/Old_examples/cursor.rb +0 -3
- data/vendor/assets/build/medias/rubies/examples/Old_examples/data.rb +0 -11
- data/vendor/assets/build/medias/rubies/examples/Old_examples/database.rb +0 -29
- data/vendor/assets/build/medias/rubies/examples/Old_examples/delete.rb +0 -12
- data/vendor/assets/build/medias/rubies/examples/Old_examples/display.rb +0 -19
- data/vendor/assets/build/medias/rubies/examples/Old_examples/disposition.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/Old_examples/double_and_long_touch.rb +0 -23
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drag.rb +0 -61
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drag_and_drop_import.rb +0 -1
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drop.rb +0 -23
- data/vendor/assets/build/medias/rubies/examples/Old_examples/duplicate.rb +0 -11
- data/vendor/assets/build/medias/rubies/examples/Old_examples/edit.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/eval.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/extract_detach.rb +0 -23
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fill.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/Old_examples/find.rb +0 -37
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fit.rb +0 -44
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fullscreen.rb +0 -28
- data/vendor/assets/build/medias/rubies/examples/Old_examples/generate.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/gradient.rb +0 -24
- data/vendor/assets/build/medias/rubies/examples/Old_examples/group.rb +0 -21
- data/vendor/assets/build/medias/rubies/examples/Old_examples/helper.rb +0 -64
- data/vendor/assets/build/medias/rubies/examples/Old_examples/history.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/hue.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/Old_examples/input_text.rb +0 -54
- data/vendor/assets/build/medias/rubies/examples/Old_examples/insert_attach.rb +0 -13
- data/vendor/assets/build/medias/rubies/examples/Old_examples/internationalisation.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/Old_examples/key.rb +0 -19
- data/vendor/assets/build/medias/rubies/examples/Old_examples/keyboard_shortcut.rb +0 -69
- data/vendor/assets/build/medias/rubies/examples/Old_examples/list_methods.rb +0 -4
- data/vendor/assets/build/medias/rubies/examples/Old_examples/list_types.rb +0 -4
- data/vendor/assets/build/medias/rubies/examples/Old_examples/listen.rb +0 -47
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mail.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/map.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mask.rb +0 -15
- data/vendor/assets/build/medias/rubies/examples/Old_examples/media_recorder.rb +0 -24
- data/vendor/assets/build/medias/rubies/examples/Old_examples/media_streaming.rb +0 -41
- data/vendor/assets/build/medias/rubies/examples/Old_examples/meteo.rb +0 -41
- data/vendor/assets/build/medias/rubies/examples/Old_examples/methods_chaining.rb +0 -8
- data/vendor/assets/build/medias/rubies/examples/Old_examples/midi.rb +0 -37
- data/vendor/assets/build/medias/rubies/examples/Old_examples/monitoring.rb +0 -47
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mulitrendering.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/noise_gradient_texture.rb +0 -26
- data/vendor/assets/build/medias/rubies/examples/Old_examples/notification.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/object_in_object.rb +0 -13
- data/vendor/assets/build/medias/rubies/examples/Old_examples/on_resize.rb +0 -12
- data/vendor/assets/build/medias/rubies/examples/Old_examples/over.rb +0 -15
- data/vendor/assets/build/medias/rubies/examples/Old_examples/overflow.rb +0 -22
- data/vendor/assets/build/medias/rubies/examples/Old_examples/parameter.rb +0 -14
- data/vendor/assets/build/medias/rubies/examples/Old_examples/parent.rb +0 -19
- data/vendor/assets/build/medias/rubies/examples/Old_examples/particle.rb +0 -15
- data/vendor/assets/build/medias/rubies/examples/Old_examples/pay.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/ping.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/play.rb +0 -24
- data/vendor/assets/build/medias/rubies/examples/Old_examples/play_audio.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/position.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/read_file.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/reboot.rb +0 -15
- data/vendor/assets/build/medias/rubies/examples/Old_examples/refresh.rb +0 -17
- data/vendor/assets/build/medias/rubies/examples/Old_examples/remote_server.rb +0 -31
- data/vendor/assets/build/medias/rubies/examples/Old_examples/render.rb +0 -17
- data/vendor/assets/build/medias/rubies/examples/Old_examples/repeat.rb +0 -19
- data/vendor/assets/build/medias/rubies/examples/Old_examples/require_remote.rb +0 -3
- data/vendor/assets/build/medias/rubies/examples/Old_examples/restore_atome.rb +0 -11
- data/vendor/assets/build/medias/rubies/examples/Old_examples/resurect.rb +0 -30
- data/vendor/assets/build/medias/rubies/examples/Old_examples/ruby_version.rb +0 -1
- data/vendor/assets/build/medias/rubies/examples/Old_examples/say.rb +0 -3
- data/vendor/assets/build/medias/rubies/examples/Old_examples/scale.rb +0 -41
- data/vendor/assets/build/medias/rubies/examples/Old_examples/schedule.rb +0 -39
- data/vendor/assets/build/medias/rubies/examples/Old_examples/scroll.rb +0 -9
- data/vendor/assets/build/medias/rubies/examples/Old_examples/select.rb +0 -32
- data/vendor/assets/build/medias/rubies/examples/Old_examples/selector.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/shadow.rb +0 -30
- data/vendor/assets/build/medias/rubies/examples/Old_examples/shape_with_path.rb +0 -7
- data/vendor/assets/build/medias/rubies/examples/Old_examples/size.rb +0 -109
- data/vendor/assets/build/medias/rubies/examples/Old_examples/smooth.rb +0 -5
- data/vendor/assets/build/medias/rubies/examples/Old_examples/speech_renderer.rb +0 -5
- data/vendor/assets/build/medias/rubies/examples/Old_examples/synth.rb +0 -6
- data/vendor/assets/build/medias/rubies/examples/Old_examples/system.rb +0 -3
- data/vendor/assets/build/medias/rubies/examples/Old_examples/tags.rb +0 -18
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text.rb +0 -33
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text_selection.rb +0 -33
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text_to_midi.rb +0 -22
- data/vendor/assets/build/medias/rubies/examples/Old_examples/touch.rb +0 -23
- data/vendor/assets/build/medias/rubies/examples/Old_examples/touch_stop_propagation.rb +0 -27
- data/vendor/assets/build/medias/rubies/examples/Old_examples/treat_object_in_object.rb +0 -26
- data/vendor/assets/build/medias/rubies/examples/Old_examples/type_mutations.rb +0 -27
- data/vendor/assets/build/medias/rubies/examples/Old_examples/video_callback.rb +0 -46
- data/vendor/assets/build/medias/rubies/examples/Old_examples/view_mode.rb +0 -29
- data/vendor/assets/build/medias/rubies/examples/Old_examples/virtual_events.rb +0 -17
- data/vendor/assets/build/medias/rubies/examples/Old_examples/visual.rb +0 -23
- data/vendor/assets/build/medias/rubies/examples/Old_examples/vr_display.rb +0 -5
- data/vendor/assets/build/medias/rubies/examples/Old_examples/wait.rb +0 -21
- data/vendor/assets/build/medias/rubies/examples/Old_examples/web.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/Old_examples/web_address_bar.rb +0 -14
- data/vendor/assets/build/medias/rubies/examples/Old_examples/websocket.rb +0 -16
- data/vendor/assets/build/medias/rubies/examples/Old_examples/webstate.rb +0 -10
- data/vendor/assets/build/medias/rubies/examples/animation.rb +0 -0
- data/vendor/assets/build/medias/rubies/examples/link.rb +0 -13
- data/vendor/assets/build/medias/rubies/examples/read.rb +0 -3
@@ -0,0 +1,16 @@
|
|
1
|
+
def run_demo
|
2
|
+
scripts = %i[animation atome.new auto_height auto_width bottom box circle
|
3
|
+
color create_atome_in_atome drag get_renderer_list grab height image
|
4
|
+
left link parent read repeat right rotate schedule smooth text
|
5
|
+
top touch video wait web width]
|
6
|
+
|
7
|
+
scripts.each_with_index do |toto, index|
|
8
|
+
wait 1 * index do
|
9
|
+
puts toto
|
10
|
+
read("examples/#{toto}.rb", :ruby)
|
11
|
+
`console.clear()`
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
run_demo
|
File without changes
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
mycode = <<Struct
|
4
|
+
#circle({color: :red})
|
5
|
+
alert :it_works
|
6
|
+
Struct
|
7
|
+
|
8
|
+
Atome.new(code: { type: :code, data: mycode, renderers: [:browser], parents: [], children: [] })
|
9
|
+
cc = Atome.new
|
10
|
+
cc.code("alert 'it works too'")
|
11
|
+
|
12
|
+
code("alert :perfect")
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
text = Atome.new(
|
4
|
+
text: { renderers: [:browser], id: :text1, type: :text, parents: [:view], children: [], visual: { size: 18 },
|
5
|
+
data: 'My first text!', left: 300, top: 33, width: 199, height: 33,
|
6
|
+
color: { renderers: [:browser], id: :c31, type: :color, parents: [:text1], children: [],
|
7
|
+
red: 0.6, green: 0.6, blue: 0.6, alpha: 1 }
|
8
|
+
}
|
9
|
+
)
|
10
|
+
|
11
|
+
# now we change the color all the object that share the care modified
|
12
|
+
wait 1 do
|
13
|
+
text.link(:c315)
|
14
|
+
end
|
15
|
+
wait 2 do
|
16
|
+
grab(:c315).red(0)
|
17
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
my_video = Atome.new(
|
4
|
+
video: { render: [:html], data: :dummy, id: :video1, type: :video, parents: [:view], path: './medias/videos/avengers.mp4', left: 333, top: 333, width: 199, height: 99,
|
5
|
+
}
|
6
|
+
) do |params|
|
7
|
+
puts "video callback here #{params}"
|
8
|
+
end
|
9
|
+
my_video.video.play(true)
|
10
|
+
|
11
|
+
# TODO int8! : language
|
12
|
+
|
13
|
+
# verif video
|
14
|
+
grab(:video1).time(5)
|
15
|
+
#
|
16
|
+
grab(:video1).on(:pause) do |event|
|
17
|
+
alert :stopped
|
18
|
+
end
|
@@ -1,12 +1,15 @@
|
|
1
|
-
|
2
|
-
shape: { render: [:html], id: :crasher, type: :shape, parent: [:view], left: 99, right: 99, width: 99, height: 99,
|
3
|
-
color: { render: [:html], id: :c315, type: :color,
|
4
|
-
red: 1, green: 0.15, blue: 0.15, alpha: 0.6 } }
|
5
|
-
)
|
1
|
+
# frozen_string_literal: true
|
6
2
|
|
7
|
-
|
8
|
-
|
3
|
+
Atome.new(
|
4
|
+
shape: { type: :shape, renderers: [:browser], id: :the_shape, parents: [:view], children: [],
|
5
|
+
left: 99, right: 99, width: 399, height: 99,
|
6
|
+
color: { renderers: [:browser], id: :c315, type: :color, parents: [:the_shape],children: [],
|
7
|
+
red: 0.3, green: 1, blue: 0.6, alpha: 1 } }
|
8
|
+
)
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
Atome.new(
|
11
|
+
shape: { renderers: [:browser], id: :the_shape2, type: :shape, parents: [:view],children: [],
|
12
|
+
left: 99, right: 99, width: 99, height: 99,
|
13
|
+
color: { renderers: [:browser], id: :c31, type: :color, parents: [:the_shape2],children: [],
|
14
|
+
red: 1, green: 0.15, blue: 0.15, alpha: 0.6 } }
|
15
|
+
)
|
@@ -1 +1,23 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
a = box({ id: :my_box, left: 333 }) do |p|
|
4
|
+
puts "the param pass to the box is: #{p}"
|
5
|
+
wait 2 do
|
6
|
+
left(120)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
b = Atome.new(
|
11
|
+
{ shape: { render: [:html], id: :view_test, type: :shape, parents: [:view],children: [],
|
12
|
+
left: 0, width: 90, top: 0, height: 90, overflow: :auto,
|
13
|
+
color: { render: [:html], id: :view_test_color, type: :color, parents: [:view_test],
|
14
|
+
red: 1, green: 0.15, blue: 0.15, alpha: 1 } } }
|
15
|
+
) do |p|
|
16
|
+
puts "the param pass to the atome is: #{p}"
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
bloc_a = a.bloc.value
|
21
|
+
bloc_b = b.bloc.value
|
22
|
+
a.instance_exec(:hello, &bloc_a) if bloc_a.is_a?(Proc)
|
23
|
+
b.instance_exec(:hi, &bloc_b) if bloc_b.is_a?(Proc)
|
@@ -1,13 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
c = circle
|
4
|
+
# FIXME: bug we creating an object like this c = circle({ red: 1 })
|
5
|
+
# FIXME: bug we using a color twice or more only the first is colored: c = { red: 1 }; a.color(c),b.color(c)
|
6
|
+
# Example:
|
7
|
+
# c={ red: 1 }
|
8
|
+
# a=circle
|
9
|
+
# b=box({ left: 300 })
|
10
|
+
# a.color(c)
|
11
|
+
# b.color(c)
|
12
|
+
wait 1 do
|
13
|
+
# the most performant way :
|
14
|
+
# please note that in this case: render , id and type params must place in order
|
15
|
+
c.color(
|
16
|
+
{ render: [:html], id: :c319, type: :color,
|
17
|
+
red: 1, green: 1, blue: 0.15, alpha: 0.6 }
|
18
|
+
)
|
19
|
+
end
|
20
|
+
|
21
|
+
wait 2 do
|
22
|
+
# now we overload the color
|
23
|
+
c.color({ red: 1 })
|
24
|
+
end
|
25
|
+
|
26
|
+
wait 4 do
|
27
|
+
# now the easy way
|
28
|
+
c.color(:yellow)
|
29
|
+
wait 1 do
|
30
|
+
c.color({ green: 1, blue: 0.69, alpha: 1 })
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
wait 5 do
|
35
|
+
d=c.color(:red)
|
36
|
+
wait 1 do
|
37
|
+
d.blue(0)
|
38
|
+
end
|
2
39
|
|
3
|
-
|
4
|
-
|
40
|
+
wait 2 do
|
41
|
+
d.red(1)
|
42
|
+
end
|
43
|
+
end
|
5
44
|
|
6
|
-
|
45
|
+
circle({id: :the_circle})
|
7
46
|
|
8
|
-
c.color(
|
9
|
-
{ render: [:html], id: :c319, type: :color,
|
10
|
-
red: 1, green: 1, blue: 0.15, alpha: 0.6 }
|
11
|
-
)
|
12
47
|
|
13
|
-
|
48
|
+
wait 2 do
|
49
|
+
the_col=Atome.new({ color: { renderers: [:browser], id: :c31, type: :color, parents: [], children: [],
|
50
|
+
left: 33, top: 66, red: 0, green: 0.15, blue: 0.7, alpha: 0.6 } })
|
51
|
+
the_col.parents([:the_circle])
|
52
|
+
end
|
@@ -1,5 +1,44 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
box({width: 333, height: 333, id: :the_constraint_box, color: :orange})
|
4
|
+
|
5
|
+
b = box
|
6
|
+
|
7
|
+
b.drag({ remove: true}) do |position|
|
3
8
|
# below here is the callback :
|
4
|
-
puts "drag position: #{
|
5
|
-
|
9
|
+
puts "1 - callback drag position: #{position}"
|
10
|
+
puts "1 - callback id is: #{id}"
|
11
|
+
end
|
12
|
+
|
13
|
+
wait 4 do
|
14
|
+
b.drag({ max: { left: 333 ,right: 90, top: 333, bottom: 30}})
|
15
|
+
end
|
16
|
+
|
17
|
+
bb = box({ left: 120, color: :green })
|
18
|
+
bb.touch(true) do
|
19
|
+
alert left
|
20
|
+
end
|
21
|
+
|
22
|
+
bb.drag({ lock: :x }) do |position|
|
23
|
+
# below here is the callback :
|
24
|
+
puts "2 - drag position: #{position}"
|
25
|
+
puts "2 - id is: #{id}"
|
26
|
+
end
|
27
|
+
#TODO: when we add a color we must change the code : do we create a new color with it's id or do we replace the old one?
|
28
|
+
#
|
29
|
+
bbb = box({ left: 120, top: 120 })
|
30
|
+
bbb.drag({}) do |position|
|
31
|
+
# below here is the callback :
|
32
|
+
puts "bbb drag position: #{position}"
|
33
|
+
puts "bbb id is: #{id}"
|
34
|
+
end
|
35
|
+
bbb.color(:black)
|
36
|
+
|
37
|
+
bbb.remove(:drag)
|
38
|
+
wait 3 do
|
39
|
+
bbb.drag({fixed: true}) do |position|
|
40
|
+
puts position
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
circle({drag: {inside: :the_constraint_box}, color: :red})
|
@@ -1,4 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
Atome.new(
|
2
|
-
image: {
|
4
|
+
image: { renderers: [:browser], id: :image1, type: :image, parents: [:view], path: "./medias/images/boat.png", left: 99, top: 120, width: 199, height: 199,
|
3
5
|
}
|
4
|
-
)
|
6
|
+
)
|
7
|
+
|
8
|
+
image({path: "./medias/images/moto.png", left: 33, top: 33})
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
a = text({data: "open the console!"})
|
4
|
+
a.right(44).left(66)
|
5
|
+
|
6
|
+
b = Atome.new(shape: { type: :shape, id: :my_shape, children: [],parents: [:view], renderers: [:browser],
|
7
|
+
left: 0, right: 33
|
8
|
+
})
|
9
|
+
|
10
|
+
c = Atome.new(shape: { type: :shape, id: :my_pix,children: [], parents: [:view], renderers: [:browser],
|
11
|
+
left: 50, right: 78
|
12
|
+
})
|
13
|
+
|
14
|
+
a.monitor({ atomes: grab(:view).children.value, particles: [:left] }) do |atome,element, value|
|
15
|
+
puts "monitoring: #{atome.id}, #{element}, #{value}"
|
16
|
+
end
|
17
|
+
|
18
|
+
b.left(936)
|
19
|
+
b.left(777)
|
20
|
+
c.left(888)
|
@@ -1,12 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
b=box({id: :c315})
|
1
4
|
circle({id: :circle_12})
|
2
|
-
grab(:c315).
|
3
|
-
|
5
|
+
grab(:c315).parents([:circle_12])
|
6
|
+
b.parents([:circle_12])
|
4
7
|
|
5
8
|
|
6
9
|
circle({ id: :circle_123, color: :cyan })
|
7
10
|
box({ id: :box_1, left: 333 })
|
8
11
|
bb=box({top: 99})
|
9
|
-
grab(:box_1).
|
10
|
-
grab(:color_circle_123).
|
12
|
+
grab(:box_1).parents([:circle_123])
|
13
|
+
grab(:color_circle_123).parents([:box_1])
|
11
14
|
|
12
|
-
bb.
|
15
|
+
bb.parents([:box_1])
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
b = box({ id: :the_box, left: 99, top: 99 })
|
4
|
+
|
5
|
+
s = b.shadow({ renderers: [:browser], id: :shadow2, type: :shadow, parents: [], children: [],
|
6
|
+
left: 3, top: 9, blur: 3, direction: :inset,
|
7
|
+
red: 0, green: 0, blue: 0, alpha: 1
|
8
|
+
})
|
9
|
+
|
10
|
+
|
11
|
+
wait 1 do
|
12
|
+
s.parents([:the_box])
|
13
|
+
# or
|
14
|
+
# b.children([:shadow2])
|
15
|
+
wait 1 do
|
16
|
+
s.blur(9)
|
17
|
+
wait 1 do
|
18
|
+
wait 2 do
|
19
|
+
s.direction('')
|
20
|
+
s.green(0)
|
21
|
+
s.left(14)
|
22
|
+
wait 1 do
|
23
|
+
s.delete(true)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
s.left(44)
|
27
|
+
s.green(0.7)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -1,5 +1,32 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
my_text = Atome.new(
|
4
|
+
text: { renderers: [:browser], id: :text1, type: :text, parents: [:view], children: [], visual: { size: 33 },
|
5
|
+
data: 'My first text!', left: 300, top: 33, width: 199, height: 33,
|
6
|
+
color: { renderers: [:browser], id: :c31, type: :color, parents: [:text1], children: [],
|
7
|
+
red: 0.6, green: 0.6, blue: 0.6, alpha: 1 }
|
3
8
|
}
|
4
9
|
)
|
5
|
-
|
10
|
+
|
11
|
+
wait 1.2 do
|
12
|
+
my_text.data(:kool)
|
13
|
+
end
|
14
|
+
|
15
|
+
text({ id: :the_text, left: 0 })
|
16
|
+
|
17
|
+
text2 = Atome.new(
|
18
|
+
text: { renderers: [:browser], id: :text2, type: :text, parents: [:view], children: [], visual: { size: 33 },
|
19
|
+
data: 'My second text!', left: 300, top: 33, width: 199, height: 33 }
|
20
|
+
) do |p|
|
21
|
+
puts "ok Atome.new(text) id is : #{id}"
|
22
|
+
end
|
23
|
+
wait 1.2 do
|
24
|
+
text2.text.data(:ok)
|
25
|
+
end
|
26
|
+
|
27
|
+
b = box({ left: 66, top: 66 })
|
28
|
+
my_text = b.text({ data: 'drag the bloc behind me', width: 333, left: 55 })
|
29
|
+
wait 2 do
|
30
|
+
my_text.color(:red)
|
31
|
+
end
|
32
|
+
|
@@ -1,4 +1,52 @@
|
|
1
|
-
Atome.new(
|
2
|
-
video: { render: [:html], id: :video1, type: :video,
|
1
|
+
my_video = Atome.new(
|
2
|
+
video: { render: [:html], id: :video1, type: :video, parents: [:view], path: './medias/videos/superman.mp4', left: 333, top: 333, width: 199, height: 99,
|
3
3
|
}
|
4
|
-
)
|
4
|
+
) do |params|
|
5
|
+
puts "video callback time is #{params}, id is : #{id}"
|
6
|
+
end
|
7
|
+
my_video.video.top(33)
|
8
|
+
my_video.video.left(33)
|
9
|
+
|
10
|
+
my_video.video.touch(true) do
|
11
|
+
my_video.video.play(true) do |currentTime|
|
12
|
+
puts "play callback time is : #{currentTime}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
my_video2 = Atome.new(
|
17
|
+
video: { render: [:html], id: :video9, type: :video, parents: [:view], path: './medias/videos/madmax.mp4', left: 666, top: 333, width: 199, height: 99,
|
18
|
+
}
|
19
|
+
#FIXME : positioning doesnt work
|
20
|
+
|
21
|
+
) do |params|
|
22
|
+
puts "2- video callback time is #{params}, id is : #{id}"
|
23
|
+
end
|
24
|
+
my_video2.video.top(33)
|
25
|
+
my_video2.video.left(333)
|
26
|
+
|
27
|
+
my_video2.video.touch(true) do
|
28
|
+
my_video2.video.play(true) do |currentTime|
|
29
|
+
puts "2 - play callback time is : #{currentTime}, id is : #{id}"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
my_video3 = video({ path: './medias/videos/avengers.mp4', id: :video16 }) do |params|
|
35
|
+
puts "3 - video callback here #{params}, id is : #{id}"
|
36
|
+
end
|
37
|
+
|
38
|
+
grab(:video16).on(:pause) do |event|
|
39
|
+
alert ":supercool, id is : #{id}"
|
40
|
+
end
|
41
|
+
my_video3.touch(true) do
|
42
|
+
grab(:video16).time(15)
|
43
|
+
my_video3.play(true) do |currentTime|
|
44
|
+
puts "3- play callback time is : #{currentTime}, id is : #{id}"
|
45
|
+
end
|
46
|
+
wait 3 do
|
47
|
+
grab(:video16).pause(true) do |p|
|
48
|
+
alert "paused, id is : #{id}"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
@@ -1,9 +1,10 @@
|
|
1
1
|
Atome.new(
|
2
|
-
image: { render: [:html], id: :image1, type: :image,
|
2
|
+
image: { render: [:html], id: :image1, type: :image, parents: [:view], path: "https://interactive-examples.mdn.mozilla.net/media/cc0-images/grapefruit-slice-332-332.jpg", left: 99, top: 320, width: 199, height: 199,
|
3
3
|
}
|
4
4
|
)
|
5
5
|
|
6
|
+
|
6
7
|
Atome.new(
|
7
|
-
web: { render: [:html], id: :
|
8
|
+
web: { render: [:html], id: :youtube1, type: :web, parents: [:view], path: "https://www.youtube.com/embed/usQDazZKWAk", left: 33, top: 33, width: 199, height: 199,
|
8
9
|
}
|
9
10
|
)
|
@@ -1,10 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# atome server
|
3
|
-
if RUBY_PLATFORM == 'x64-mingw32'
|
4
|
-
require 'em/pure_ruby'
|
5
|
-
end
|
4
|
+
require 'em/pure_ruby' if RUBY_PLATFORM == 'x64-mingw32'
|
6
5
|
require 'atome'
|
7
|
-
require '../aui
|
6
|
+
require '../aui'
|
8
7
|
require 'digest/sha2'
|
9
8
|
require 'faye/websocket'
|
10
9
|
require 'geocoder'
|
@@ -17,7 +16,6 @@ require 'securerandom'
|
|
17
16
|
require 'sequel'
|
18
17
|
|
19
18
|
|
20
|
-
|
21
19
|
class String
|
22
20
|
def is_json?
|
23
21
|
begin
|