atome 0.4.7.0 → 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 -1
- data/README.md +7 -4
- data/Rakefile +22 -13
- data/app_builder_helpers/Rakefile +63 -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/{kernel/helpers → extensions}/geolocation.rb +0 -0
- data/lib/atome/{kernel/helpers → extensions}/ping.rb +0 -0
- data/lib/atome/{kernel/helpers → 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 +75 -26
- 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/opal.rb +4 -0
- data/lib/atome/version.rb +1 -2
- data/lib/atome.rb +22 -45
- 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 +51 -0
- data/vendor/assets/build/index.html +10 -7
- data/vendor/assets/build/js/atome/atome.js +61 -61
- 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 → _on.rb} +3 -1
- data/vendor/assets/build/medias/rubies/examples/{read.rb → _read.rb} +2 -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 +15 -8
- data/vendor/assets/build/medias/rubies/examples/circle.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/clear.rb +2 -1
- 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 +1 -0
- 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 +7 -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 +21 -7
- data/vendor/assets/build/medias/rubies/examples/touch.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/video.rb +2 -2
- data/vendor/assets/build/medias/rubies/examples/web.rb +2 -2
- data/vendor/assets/server/atome_server.rb +3 -5
- metadata +74 -174
- data/lib/atome/atome_native_extensions.rb +0 -5
- data/lib/atome/extensions/helper.rb +0 -112
- data/lib/atome/kernel/atome.rb +0 -99
- data/lib/atome/kernel/generators/generator.rb +0 -517
- data/lib/atome/kernel/generators/genesis.rb +0 -277
- data/lib/atome/kernel/generators/sanitizer.rb +0 -73
- data/lib/atome/kernel/generators/shapes.rb +0 -55
- data/lib/atome/kernel/helpers/internal_methods.rb +0 -173
- data/lib/atome/kernel/helpers/utilities.rb +0 -39
- data/lib/atome/kernel/properties/essential.rb +0 -77
- data/lib/atome/kernel/sparkle.rb +0 -38
- data/lib/atome/renderers/opal/properties/generator.rb +0 -1
- data/lib/atome/renderers/renderer.rb +0 -13
- data/lib/atome/renderers/server/properties/generator.rb +0 -9
- data/vendor/assets/build/js/application.js +0 -0
- data/vendor/assets/build/medias/audios/guitar.wav +0 -0
- data/vendor/assets/build/medias/images/beach.jpg +0 -0
- 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/code.rb +0 -5
- data/vendor/assets/build/medias/rubies/examples/link.rb +0 -11
- data/vendor/assets/build/medias/videos/avengers.mp4 +0 -0
- data/vendor/assets/build/medias/videos/lion_king.mp4 +0 -0
- data/vendor/assets/build/medias/videos/madmax.mp4 +0 -0
- data/vendor/assets/build/medias/videos/starwars.mov +0 -0
- data/vendor/assets/build/medias/videos/superman.mp4 +0 -0
@@ -1,115 +0,0 @@
|
|
1
|
-
# collaborate example
|
2
|
-
|
3
|
-
# Call login through web socket
|
4
|
-
class LoginCallback
|
5
|
-
def response(response)
|
6
|
-
login_button=box({x: 0, y: 80, width: 100, height: 50, color: :orange , smooth: 12, overflow: :auto})
|
7
|
-
login_button.text({x:0, y:0, content: "Login response: #{response.JS["log"]}",width: :auto, visual: 15, center: true, color: {alpha: 0.9}})
|
8
|
-
|
9
|
-
@session_id = response.JS["log"]
|
10
|
-
end
|
11
|
-
|
12
|
-
def session_id
|
13
|
-
@session_id
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
login_callback = LoginCallback.new
|
18
|
-
|
19
|
-
login_button=box({x: 0, y: 0, width: 100, height: 50, color: :orange , smooth: 12, overflow: :auto})
|
20
|
-
login_button.text({x:0, y:0, content: "Login", width: :auto, visual: 15, center: true, color: {alpha: 0.9}})
|
21
|
-
login_button.touch do
|
22
|
-
ATOME.message({request_id: 0, type: :login, username: "user1", password: "password"}, login_callback)
|
23
|
-
end
|
24
|
-
|
25
|
-
# Start a channel through web socket
|
26
|
-
class StartChannelCallback
|
27
|
-
def response(response)
|
28
|
-
start_channel_button=box({x: 120, y: 80, width: 100, height: 50, color: :orange , smooth: 12, overflow: :auto})
|
29
|
-
@channel_id = response.JS["channel_id"]
|
30
|
-
start_channel_button.text({x:0, y:0, content: "Start channel response: #{@channel_id}", width: :auto, visual: 15, center: true, color: {alpha: 0.9}})
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
def channel_id
|
35
|
-
@channel_id
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
start_channel_callback = StartChannelCallback.new
|
40
|
-
|
41
|
-
start_channel_button=box({x: 120, y: 0, width: 100, height: 50, color: :orange , smooth: 12, overflow: :auto})
|
42
|
-
start_channel_button.text({x:0, y:0, content: "Start channel",width: :auto, visual: 15, center: true, color: {alpha: 0.9}})
|
43
|
-
|
44
|
-
start_channel_button.touch do
|
45
|
-
ATOME.message({request_id: 1, type: :start_channel, session_id: login_callback.session_id, name: "channel de test"}, start_channel_callback)
|
46
|
-
end
|
47
|
-
|
48
|
-
# List channels through web socket
|
49
|
-
class ListChannelsCallback
|
50
|
-
def response(response)
|
51
|
-
list_channels_button=box({x: 240, y: 80, width: 100, height: 50, color: :orange , smooth: 12, overflow: :auto})
|
52
|
-
|
53
|
-
@channels = response.JS["channels"]
|
54
|
-
list_channels_button.text({x:0, y:0, content: "List channels response: #{@channels}",width: :auto, visual: 15, center: true, color: {alpha: 0.9}})
|
55
|
-
end
|
56
|
-
|
57
|
-
def channels
|
58
|
-
@channels
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
list_channels_callback = ListChannelsCallback.new
|
63
|
-
|
64
|
-
list_channels_button=box({x: 240, y: 0, width: 100, height: 50, color: :orange , smooth: 12, overflow: :auto})
|
65
|
-
list_channels_button.text({x:0, y:0, content: "List channels", width: :auto, visual: 15, center: true, color: {alpha: 0.9}})
|
66
|
-
|
67
|
-
list_channels_button.touch do
|
68
|
-
ATOME.message({request_id: 2, type: :list_channels, session_id: login_callback.session_id}, list_channels_callback)
|
69
|
-
end
|
70
|
-
|
71
|
-
# Connect to channel through web socket
|
72
|
-
class ConnectChannelsCallback
|
73
|
-
def response(response)
|
74
|
-
connect_to_channel_button=box({x: 360, y: 80, width: 100, height: 50, color: :orange , smooth: 12, overflow: :auto})
|
75
|
-
|
76
|
-
@connected = response.JS["connected"]
|
77
|
-
connect_to_channel_button.text({x:0, y:0, content: "Connect to channel response: #{@connected}", width: :auto, visual: 15, center: true, color: {alpha: 0.9}})
|
78
|
-
end
|
79
|
-
|
80
|
-
def connected
|
81
|
-
@connected
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
connect_to_channels_callback = ConnectChannelsCallback.new
|
86
|
-
|
87
|
-
connect_channel_button=box({x: 360, y: 0, width: 100, height: 50, color: :orange , smooth: 12, overflow: :auto})
|
88
|
-
connect_channel_button.text({x:0, y:0, content: "Connect to channel", width: :auto, visual: 15, center: true, color: {alpha: 0.9}})
|
89
|
-
|
90
|
-
connect_channel_button.touch do
|
91
|
-
ATOME.message({request_id: 3, type: :connect_channel, session_id: login_callback.session_id, channel_id: list_channels_callback.channels[0]}, connect_to_channels_callback)
|
92
|
-
end
|
93
|
-
|
94
|
-
# Push to channel through web socket
|
95
|
-
class PushToChannelsCallback
|
96
|
-
def response(response)
|
97
|
-
push_to_channel_button=box({x: 480, y: 80, width: 100, height: 50, color: :orange , smooth: 12, overflow: :auto})
|
98
|
-
|
99
|
-
@pushed = response.JS["pushed"]
|
100
|
-
push_to_channel_button.text({x:0, y:0, content: "Push to channel response: #{@pushed}",width: :auto, visual: 15, center: true, color: {alpha: 0.9}})
|
101
|
-
end
|
102
|
-
|
103
|
-
def pushed
|
104
|
-
@pushed
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
push_to_channels_callback = PushToChannelsCallback.new
|
109
|
-
|
110
|
-
push_to_channel_button=box({x: 480, y: 0, width: 100, height: 50, color: :orange , smooth: 12, overflow: :auto})
|
111
|
-
push_to_channel_button.text({x:0, y:0, content: "Push to channel",width: :auto, visual: 15, center: true, color: {alpha: 0.9}})
|
112
|
-
|
113
|
-
push_to_channel_button.touch do
|
114
|
-
ATOME.message({request_id: 4, type: :push_to_channel, session_id: login_callback.session_id, channel_id: list_channels_callback.channels[0], message: "box({x: 100, y: 100, color: :red})"}, push_to_channels_callback)
|
115
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# convert api
|
2
|
-
|
3
|
-
c = circle()
|
4
|
-
c.xx(250)
|
5
|
-
c.yy(300)
|
6
|
-
c.width("33%")
|
7
|
-
t=text('resize the window')
|
8
|
-
t.y=20
|
9
|
-
t.color(:white)
|
10
|
-
ATOME.resize_html(true) do |evt|
|
11
|
-
new_size=c.convert(:width)
|
12
|
-
t.content("width set : 33%, in pixel :\n"+new_size.to_s+" px")
|
13
|
-
end
|
14
|
-
t.x(450)
|
@@ -1,35 +0,0 @@
|
|
1
|
-
# Copy paste example
|
2
|
-
b = box()
|
3
|
-
c = circle({ color: ({ alpha: 0.2 }) , x: 300})
|
4
|
-
c.copy
|
5
|
-
b.copy
|
6
|
-
|
7
|
-
wait 1 do
|
8
|
-
b.delete(true)
|
9
|
-
end
|
10
|
-
|
11
|
-
wait 2 do
|
12
|
-
c.paste(:properties)
|
13
|
-
end
|
14
|
-
|
15
|
-
wait 4 do
|
16
|
-
grab(:view).clear
|
17
|
-
end
|
18
|
-
|
19
|
-
|
20
|
-
wait 6 do
|
21
|
-
grab(:view).paste(:all)
|
22
|
-
end
|
23
|
-
|
24
|
-
# wait 1 do
|
25
|
-
# b.delete(true)
|
26
|
-
# end
|
27
|
-
# wait 2 do
|
28
|
-
# grab(:view).paste
|
29
|
-
# wait 2 do
|
30
|
-
# grab(:view).paste
|
31
|
-
# wait 2 do
|
32
|
-
# grab(:view).paste
|
33
|
-
# end
|
34
|
-
# end
|
35
|
-
# end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# current_code example
|
2
|
-
text " attention this code work better when extracted from examples\n touch the box below"
|
3
|
-
# JSUtils.load_opal_parser
|
4
|
-
b=box({y: 120})
|
5
|
-
|
6
|
-
b.touch do
|
7
|
-
current_code(["./medias/rubies/examples/refresh.rb","./medias/rubies/examples/blur.rb"])
|
8
|
-
# wait 2 do
|
9
|
-
refresh current_code
|
10
|
-
# end
|
11
|
-
# reader(current_code) do |script|
|
12
|
-
# compile script
|
13
|
-
# end
|
14
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
c = circle({x: 69, y: 9, width: 36, height: 36, color: :green})
|
2
|
-
c2 = circle({x: 69, y: 150, width: 36, height: 36, color: :red})
|
3
|
-
db = Database.new(:atomeDB)
|
4
|
-
|
5
|
-
c.touch do
|
6
|
-
db.create_table(:user, "id, login, password, date")
|
7
|
-
db.create_table(:document, "id, content, user_id, date")
|
8
|
-
db.create_user({id: "a_87764", date: "2021-03-15", login: :regis, password: :alknx87978hjg})
|
9
|
-
db.create_user({id: "a_87765", date: "2021-03-16", login: :jeezs, password: :oiuoih978hjg})
|
10
|
-
db.create_user({id: "a_87766", date: "2021-02-06", login: :sylvain, password: :sdfsdfjg})
|
11
|
-
db.create_user({id: "a_87767", date: "2021-02-02", login: :romain, password: :jfhdfg978hjg})
|
12
|
-
|
13
|
-
db.create_document({id: "0", date: "2021-date: 03-06", content: "circle({x: 300})", user_id: "a_87764"})
|
14
|
-
db.create_document({id: "1", date: "2021-01-06", content: "text({x: 300})", user_id: "a_87769"})
|
15
|
-
db.create_document({id: "2", date: "2021-02-12", content: "text({x: 300})", user_id: "a_87765"})
|
16
|
-
db.create_document({id: "3", date: "2021-02-12", content: "image(:boat)", user_id: "a_87764"})
|
17
|
-
|
18
|
-
db.populate(:user, {id: "a_87770", date: "2019-02-06", login: :benoit, password: :l554kjhkjsfdg})
|
19
|
-
db.get_documents_by_user("a_87764")
|
20
|
-
db.update_documents("0", "big_car")
|
21
|
-
db.get_documents_by_id("0")
|
22
|
-
db.delete_doc_by_id("0")
|
23
|
-
db.get_documents_by_id("0")
|
24
|
-
|
25
|
-
end
|
26
|
-
c2.touch do
|
27
|
-
db.delete
|
28
|
-
text({content: " db removed", visual: 33, color: :red, y: 69, width: 222})
|
29
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
# delete
|
2
|
-
|
3
|
-
b = box()
|
4
|
-
c = b.text({content: :ok})
|
5
|
-
c.circle({atome_id: :the_c, color: :green, x:96})
|
6
|
-
d = b.text({content: :ok2, y: 30, atome_id: :the_second_text})
|
7
|
-
d.circle({y: 96})
|
8
|
-
info_text=text({content: "click the box to delete the childs\nthe :view childs are : #{b.child}", x: 96, y: 96, width: :auto})
|
9
|
-
b.touch do
|
10
|
-
info_text.content( "the childs are : #{b.child}")
|
11
|
-
b.child.delete(true)
|
12
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# the display API is used both to visualize an object or not but also when displaying atome in a special way : cf VR mode
|
2
|
-
# this API must be umerge with the render API (for list mode etc..)
|
3
|
-
# attention : "render" false remove the object from the DOM while "display" jsut make it invisible on the screen, We may
|
4
|
-
# keep the two behaviors
|
5
|
-
|
6
|
-
b=box({id: :toto, color: :green, display: false, atome_id: :the_box})
|
7
|
-
# b=box({id: :toto, color: :green, display: :none})
|
8
|
-
# b.display(true)
|
9
|
-
wait 2 do
|
10
|
-
b.display(true)
|
11
|
-
end
|
12
|
-
|
13
|
-
b.touch do
|
14
|
-
# b.display(false)
|
15
|
-
b.render(false)
|
16
|
-
wait 4 do
|
17
|
-
b.render(true)
|
18
|
-
end
|
19
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
# accumulate example
|
2
|
-
|
3
|
-
circle({disposition: :x, color: :red})
|
4
|
-
box({disposition: :x, color: {alpha: 0.3, red: 1}})
|
5
|
-
box({disposition: {x: 33 }, color: :blue})
|
6
|
-
box({disposition: {y: 33 }, color: :green})
|
7
|
-
main_bloc=box({center: true})
|
8
|
-
main_bloc.box({disposition: {y: 33, x: 33 }, color: :green})
|
9
|
-
main_bloc.box({disposition: {y: 33, x: 33 }, color: :green})
|
10
|
-
main_bloc.box({disposition: {y: 33 , x: 33 }, color: :green})
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# double and long touch example
|
2
|
-
b=box
|
3
|
-
b.touch ({ option: :double, delay: 0.6 }) do
|
4
|
-
# b.x=b.x+60
|
5
|
-
if b.color==:yellow
|
6
|
-
b.color=:green
|
7
|
-
else
|
8
|
-
b.color=:yellow
|
9
|
-
end
|
10
|
-
end
|
11
|
-
c=circle({ x: 99 })
|
12
|
-
|
13
|
-
c.touch ({ option: :long, delay: 1 }) do
|
14
|
-
# c.x=c.x+60
|
15
|
-
if c.color==:red
|
16
|
-
c.color=:blue
|
17
|
-
else
|
18
|
-
c.color=:red
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
# delay(in seconds) is optional and set latency before tow touchs or the time to wait
|
23
|
-
|
@@ -1,61 +0,0 @@
|
|
1
|
-
# drag
|
2
|
-
|
3
|
-
t=text({content: "drag the grey box!", x: 33, y: 33 })
|
4
|
-
t2=text({content: "click me to destroy drag on the moto", x: 33, yy: 96 })
|
5
|
-
|
6
|
-
b=box({center: true})
|
7
|
-
b.drag(true) do |evt|
|
8
|
-
b.rotate(evt.page_x)
|
9
|
-
t.content("pointer x: #{evt.page_x},
|
10
|
-
pointer Y: #{evt.page_y},
|
11
|
-
offset x: #{evt.offset_x},
|
12
|
-
offset y: #{evt.offset_y},
|
13
|
-
box x: #{b.x},
|
14
|
-
box y: #{b.y},
|
15
|
-
")
|
16
|
-
end
|
17
|
-
dragger=box({width: 96, height: 96, x:333, y: 200})
|
18
|
-
handle=dragger.box({width: 96, height: 16, color: :orange, atome_id: :the_handle})
|
19
|
-
handle.text({content: "drag me from here", visual: 12, color: :black})
|
20
|
-
dragger.drag({handle: :the_handle}) do |evt|
|
21
|
-
t.content("I can only be dragged using the bar above")
|
22
|
-
end
|
23
|
-
c=circle({y:66,x: 333, drag:{lock: :y}, color: :purple})
|
24
|
-
c.drag({lock: :y}) do
|
25
|
-
t.content("I can only be dragged along the x axis")
|
26
|
-
end
|
27
|
-
|
28
|
-
container=box({width: 123, y:333,x: 333,color: :yellowgreen, smooth: 6, drag: true})
|
29
|
-
|
30
|
-
circle1=container.circle({y:0,x: 0,width: 33,height: 33, color: :black})
|
31
|
-
circle1.drag({containment: :true}) do
|
32
|
-
t.content("I am restricted to the parent")
|
33
|
-
end
|
34
|
-
|
35
|
-
circle2=container.circle({y:0,x: 96,width: 33,height: 33, color: :red})
|
36
|
-
circle2.drag({containment: :view, grid: {x:33, y:33}}) do
|
37
|
-
t.content("I am restricted to the view and my movement is constraint by a grid")
|
38
|
-
end
|
39
|
-
|
40
|
-
img=image({content: :moto,x: 33, y: 33, size: 132})
|
41
|
-
img.drag({containment:{x:33, y: 33, xx: 333, yy: 333}}) do |evt|
|
42
|
-
if evt.start
|
43
|
-
t.content("I am restricted to a confined area")
|
44
|
-
t.color(:white)
|
45
|
-
elsif evt.stop
|
46
|
-
t.content("on stop x is : #{evt.page_x}, y is: #{evt.page_y}")
|
47
|
-
t.color(:red)
|
48
|
-
else
|
49
|
-
c.width=evt.offset_x
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
boat=image({ content: :boat, size: 132,y: 333 })
|
54
|
-
boat.drag({ fixed: true }) do |evt|
|
55
|
-
img.blur(evt.offset_x/66)
|
56
|
-
img.size(evt.offset_x/6+132)
|
57
|
-
t.content("drag the boat will change tha property of the moto")
|
58
|
-
end
|
59
|
-
t2.touch do
|
60
|
-
img.drag(:destroy)
|
61
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
text("drop a png on the window to import the medias (not availlable on safari for now)")
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# drop example
|
2
|
-
|
3
|
-
b = box()
|
4
|
-
b.x(250)
|
5
|
-
b.drag(true)
|
6
|
-
c = circle
|
7
|
-
c.x(390)
|
8
|
-
c.drop(true) do |evt, ui,current_obj |
|
9
|
-
dropped_element= `$(#{ui}.draggable).attr('id')`
|
10
|
-
puts evt
|
11
|
-
if grab(dropped_element).color==:red
|
12
|
-
grab(dropped_element).color(:orange)
|
13
|
-
else
|
14
|
-
grab(dropped_element).color(:red)
|
15
|
-
end
|
16
|
-
current_obj.color(:black)
|
17
|
-
current_obj.y=c.y+33
|
18
|
-
end
|
19
|
-
|
20
|
-
c.touch do
|
21
|
-
c.drop(false)
|
22
|
-
end
|
23
|
-
|
@@ -1,11 +0,0 @@
|
|
1
|
-
# duplicate
|
2
|
-
|
3
|
-
c = circle({ x: 69, y: 69, drag: true })
|
4
|
-
c.text({ content: :ok, color: :yellow, size: 33, center: true })
|
5
|
-
t = text({ content: 'touch me!' })
|
6
|
-
t.touch do
|
7
|
-
c.duplicate({ x: 7, y: 7 })
|
8
|
-
end
|
9
|
-
c.touch do
|
10
|
-
c.duplicate({ x: 3, y: 3 })
|
11
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# extract example
|
2
|
-
|
3
|
-
c = circle({ atome_id: :the_circle })
|
4
|
-
c.text({ content: "children are restored too!!", visual: 22 })
|
5
|
-
|
6
|
-
b = box({ x: 666, drag: true, atome_id: :the_box })
|
7
|
-
t = b.text({ content: :ok, yy: 3, color: :black , atome_id: :the_text})
|
8
|
-
i = image({ content: :atome, size: 33, x: 96 })
|
9
|
-
|
10
|
-
i.transfer(b.atome_id)
|
11
|
-
t.content("logo parent is #{i.parent}")
|
12
|
-
|
13
|
-
c.touch do
|
14
|
-
grab(:view).extract(c.atome_id)
|
15
|
-
grab(:the_box).extract(i.atome_id)
|
16
|
-
grab(:view).insert(i.atome_id)
|
17
|
-
ATOME.wait 2 do
|
18
|
-
grab(:intuition).insert(c.atome_id)
|
19
|
-
end
|
20
|
-
c.touch do
|
21
|
-
c.delete(true)
|
22
|
-
end
|
23
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# find example
|
2
|
-
|
3
|
-
t= text"touch me to blur all orange object"
|
4
|
-
t2= text({content: "touch me to resize all object of the type shape ", x: 390})
|
5
|
-
|
6
|
-
b = box({ size: 66 , y: 33, x: 333, color: :orange})
|
7
|
-
b.tag("my_tag")
|
8
|
-
circle({ x: 200, y: 33 , color: :orange})
|
9
|
-
circle({x: 200, y: 96, color: :green, tag: :other_tag})
|
10
|
-
|
11
|
-
b.add({ tag: :new_tag })
|
12
|
-
|
13
|
-
t.touch do
|
14
|
-
grab(:view).find({ color: :orange }).blur(3)
|
15
|
-
end
|
16
|
-
|
17
|
-
t2.touch do
|
18
|
-
grab(:view).find({ type: :shape }).size(33)
|
19
|
-
end
|
20
|
-
|
21
|
-
|
22
|
-
# enhanced find demo
|
23
|
-
b=box({color: :red, atome_id: :the_box, y: 44 })
|
24
|
-
circle({y: 500, atome_id: :the_circle, color: :green, x: 99})
|
25
|
-
t=b.text({content: "my super text!",y: 50, color: :green, atome_id: :text_1 })
|
26
|
-
t.text({x: 222, content: :super, atome_id: :text_child, color: :orange})
|
27
|
-
b.image({content: :boat, size: 33, atome_id: :the_image, y: 500})
|
28
|
-
# grab(:view).find({ y: 500, condition: :or, recursive: true }).find({ color: :green}).blur(6)
|
29
|
-
# find({ y: 500, color: :green, recursive: true, condition: :or }).blur(9)
|
30
|
-
grab(:view).find({ y: 50, color: :green, condition: :and, recursive: 3 }).blur(3)
|
31
|
-
# grab(:view).find({x: 222, recursive: 3 }).blur(7)
|
32
|
-
# b.find({color: :green, recursive: true }).blur(7)
|
33
|
-
# grab(:view).find({ color: :red, y: 32 }).find({y: 500}).blur(6)
|
34
|
-
|
35
|
-
# condition: or(mean at least one condition must be respected), and(mean both condition must be respected)
|
36
|
-
# recursive: true, 1, 2 (max depth of recursivity)
|
37
|
-
# find can be chained
|
@@ -1,44 +0,0 @@
|
|
1
|
-
# fit example
|
2
|
-
|
3
|
-
b = box({ size: 96 })
|
4
|
-
b.image({ content: :boat, size: :fit })
|
5
|
-
b.touch do
|
6
|
-
clear(:view)
|
7
|
-
end
|
8
|
-
b2 = box({ x: 333 })
|
9
|
-
t = b2.text({ content: "hit the red or orange circle", visual: :Impact })
|
10
|
-
# t.edit(true)
|
11
|
-
t.width(96)
|
12
|
-
|
13
|
-
c0 = circle({ size: 33, x: 96, color: :yellowgreen })
|
14
|
-
c = circle({ size: 33, x: 120 })
|
15
|
-
c2 = circle({ size: 33, x: 150, color: :orange })
|
16
|
-
|
17
|
-
c0.touch do
|
18
|
-
t.visual({ fit: :width })
|
19
|
-
b2.size({ fit: t.atome_id })
|
20
|
-
t.center(true)
|
21
|
-
end
|
22
|
-
c.touch do
|
23
|
-
t.visual({ fit: :width })
|
24
|
-
b2.size({ fit: t.atome_id, margin: { x: 33, y: 33 } })
|
25
|
-
t.center(true)
|
26
|
-
end
|
27
|
-
|
28
|
-
c2.touch do
|
29
|
-
t.visual({ fit: :width })
|
30
|
-
b2.size({ fit: t.atome_id, margin: 66 })
|
31
|
-
t.center(true)
|
32
|
-
end
|
33
|
-
|
34
|
-
|
35
|
-
# text fit box size
|
36
|
-
|
37
|
-
tt=text ({ content: "Super", x: 333, y: 120 } )
|
38
|
-
tt.border(({ color: :green, thickness: 3, pattern: :solid }))
|
39
|
-
bb=box({x:333, y: 333, width: 333, height: 150})
|
40
|
-
bb.text("touch me to make the upper text fit my size")
|
41
|
-
bb.touch do
|
42
|
-
tt.size({ fit: bb.atome_id})
|
43
|
-
tt.visual({fit: :width})
|
44
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# Fullscreen
|
2
|
-
|
3
|
-
button3=box({height: 33, x: 9, width: 222, smooth: 33, y: 6})
|
4
|
-
button3.text({content: "back to normal", x: 6 })
|
5
|
-
|
6
|
-
button=box({height: 33, x: 9, width: 222, smooth: 33, y: 66})
|
7
|
-
button.text({content: "image fullscreen", x: 6 })
|
8
|
-
|
9
|
-
button2=box({height: 33, x: 9, width: 222, smooth: 33, y: 120})
|
10
|
-
button2.text({content: "page fullscreen", x: 6 })
|
11
|
-
|
12
|
-
|
13
|
-
img=image({ content: :moto, x: 222, y: 222 })
|
14
|
-
|
15
|
-
button.touch do
|
16
|
-
img.fullscreen(true)
|
17
|
-
end
|
18
|
-
|
19
|
-
button2.touch do
|
20
|
-
grab(:view).fullscreen(:all)
|
21
|
-
end
|
22
|
-
|
23
|
-
circle({x:333})
|
24
|
-
box({x:333, y: 99})
|
25
|
-
text({content: :hello, visual: 99, x: 666, y: 66})
|
26
|
-
batch([button3, img]).touch do
|
27
|
-
grab(:view).fullscreen(false)
|
28
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# gradient
|
2
|
-
|
3
|
-
c = circle({atome_id: :c, x: 300, id: :gradient_simple})
|
4
|
-
c.color({green: 1})
|
5
|
-
c.color ([:blue, :cyan])
|
6
|
-
c.size = 223
|
7
|
-
grad = text({content: :kool, atome_id: :gradient_test, visual: 333})
|
8
|
-
grad.x(333)
|
9
|
-
grad.y(99)
|
10
|
-
grad.size = 666
|
11
|
-
grad.color([:red, :yellow, {red: 0, green: 1, blue: 0}, {angle: 150}, {diffusion: :linear}])
|
12
|
-
grad.shadow(true)
|
13
|
-
ATOME.wait 1 do
|
14
|
-
grad.color([:red, :yellow, {red: 0, green: 1, blue: 0}, {angle: 150}, {diffusion: :radial}])
|
15
|
-
end
|
16
|
-
ATOME.wait 2 do
|
17
|
-
c.color([:cyan, :green, :orange, {diffusion: :conic}])
|
18
|
-
end
|
19
|
-
ATOME.wait 3 do
|
20
|
-
grad.color([:orange, {red: 0, green: 1, blue: 0}, :blue, {angle: 150, diffusion: :linear}])
|
21
|
-
end
|
22
|
-
grad.touch do
|
23
|
-
text(grad.inspect)
|
24
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# group example
|
2
|
-
|
3
|
-
t = text({ content: "Make the yellowgreen circle red , so it'll belong to the group so it'll be blurred and draggable", atome_id: :the_text })
|
4
|
-
image({content: :boat, x:666,atome_id: :pix_1,})
|
5
|
-
image({content: :moto, y:333, atome_id: :pix_2})
|
6
|
-
b = box({ size: 66, y: 33, color: :red, atome_id: :tutu })
|
7
|
-
b.tag({ content: "my_tag" })
|
8
|
-
circle({ x: 96, y: 33, atome_id: :first_circle })
|
9
|
-
c2=circle({ x: 333, y: 96, color: :green, tag: :other_tag,atome_id: :the_circle })
|
10
|
-
b.add({ tag: :new_tag })
|
11
|
-
circle({ atome_id: :the_second_circle , color: :yellowgreen, x: 96, y: 96})
|
12
|
-
# b2=box({size: 66, x: 66, y: 66})
|
13
|
-
# b2.text({content: "i am red!!", color: :red})
|
14
|
-
# the group is both static ( content send) and based on a search (condition) and dynamic any atome matching will be tretaed!
|
15
|
-
g=group({ content: [:pix_1, :pix_2], name: :my_group, treatment: {blur: 3, width: 33, drag: true}, dynamic: true, condition: { color: :red }, atome_id: :the_group })
|
16
|
-
|
17
|
-
t.touch do
|
18
|
-
c2.color(:red)
|
19
|
-
end
|
20
|
-
|
21
|
-
g.treatment(color: :orange)
|