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
data/lib/atome.rb
CHANGED
@@ -2,49 +2,26 @@
|
|
2
2
|
|
3
3
|
require 'fileutils'
|
4
4
|
require 'atome/version'
|
5
|
-
|
6
|
-
|
7
|
-
def eval_protection
|
8
|
-
binding
|
9
|
-
end
|
10
|
-
|
11
|
-
# FIXME: atome run doesnt run the code
|
12
|
-
if RUBY_ENGINE.downcase != 'opal'
|
13
|
-
# FIXME: find a better and more elegant solution to avoid opal to treat require
|
14
|
-
# FIXME: replace eval with a safer option
|
15
|
-
eval "require 'atome/atome_native_extensions'", eval_protection, __FILE__, __LINE__
|
16
|
-
eval "require 'color'", eval_protection, __FILE__, __LINE__
|
17
|
-
end
|
18
|
-
|
5
|
+
require 'atome/genesis/genesis'
|
6
|
+
require 'atome/kernel/essentials'
|
19
7
|
require 'atome/kernel/universe'
|
20
|
-
require 'atome/
|
21
|
-
require 'atome/
|
22
|
-
require 'atome/
|
23
|
-
require 'atome/
|
24
|
-
require 'atome/
|
25
|
-
require 'atome/
|
26
|
-
require 'atome/
|
27
|
-
require 'atome/
|
28
|
-
require 'atome/
|
29
|
-
require 'atome/
|
30
|
-
require 'atome/
|
31
|
-
require 'atome/
|
32
|
-
require 'atome/
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
require 'atome/kernel/sparkle'
|
42
|
-
|
43
|
-
# TODO: create a system to secure and validate generated renderer methods , optional methods and atome's methods
|
44
|
-
# TODO: int8! : language
|
45
|
-
# TODO: record user actions
|
46
|
-
# TODO: separate the audio in the video
|
47
|
-
# TODO: add mute to video
|
48
|
-
|
49
|
-
|
50
|
-
|
8
|
+
require 'atome/helpers/essentials'
|
9
|
+
require 'atome/helpers/color_helper/color'
|
10
|
+
require 'atome/atome_meta_engine'
|
11
|
+
require 'atome/processors/utilities'
|
12
|
+
require 'atome/helpers/utilities'
|
13
|
+
require 'atome/genesis/generators/atome'
|
14
|
+
require 'atome/presets/atome'
|
15
|
+
require 'atome/genesis/generators/communication'
|
16
|
+
require 'atome/genesis/generators/effect'
|
17
|
+
require 'atome/genesis/generators/event'
|
18
|
+
require 'atome/genesis/generators/geometry'
|
19
|
+
require 'atome/genesis/generators/identity'
|
20
|
+
require 'atome/genesis/generators/material'
|
21
|
+
require 'atome/genesis/generators/spatial'
|
22
|
+
require 'atome/genesis/generators/utility'
|
23
|
+
require 'atome/renderers/browser/browser'
|
24
|
+
require 'atome/renderers/html/html'
|
25
|
+
require 'atome/extensions/atome'
|
26
|
+
require 'atome/helpers/sanitizer'
|
27
|
+
require 'atome/genesis/sparkle'
|
@@ -0,0 +1 @@
|
|
1
|
+
puts "required file is run"
|
File without changes
|
@@ -68,3 +68,54 @@ html, body {
|
|
68
68
|
-webkit-background-clip: text;
|
69
69
|
}
|
70
70
|
|
71
|
+
.vertical-center {
|
72
|
+
/*font-size: 18px;*/
|
73
|
+
position: absolute;
|
74
|
+
top: 50%;
|
75
|
+
-ms-transform: translateY(-50%);
|
76
|
+
/*transform: translateY(calc(50% - 200px));*/
|
77
|
+
}
|
78
|
+
|
79
|
+
.center {
|
80
|
+
/*font-size: 18px;*/
|
81
|
+
position: absolute;
|
82
|
+
top: 50%;
|
83
|
+
left: 50%;
|
84
|
+
-ms-transform: translateY(-50%);
|
85
|
+
/* #calc is width -border*2 */
|
86
|
+
/*transform: translateX(calc(50% - 200px)) translateY(calc(50% - 200px));*/
|
87
|
+
}
|
88
|
+
|
89
|
+
.horizontal-center {
|
90
|
+
position: absolute;
|
91
|
+
left: 50%;
|
92
|
+
-ms-transform: translateY(-50%);
|
93
|
+
/*transform: translateX(calc(50% - 200px));*/
|
94
|
+
}
|
95
|
+
|
96
|
+
.e_align_h_left {
|
97
|
+
text-align: left;
|
98
|
+
}
|
99
|
+
|
100
|
+
.e_align_h_right {
|
101
|
+
text-align: right;
|
102
|
+
}
|
103
|
+
|
104
|
+
.e_align_h_center {
|
105
|
+
text-align: center;
|
106
|
+
}
|
107
|
+
|
108
|
+
.el_align_h {
|
109
|
+
text-align: justify;
|
110
|
+
}
|
111
|
+
|
112
|
+
.el_align_v {
|
113
|
+
display: flex;
|
114
|
+
align-items: center;
|
115
|
+
}
|
116
|
+
|
117
|
+
|
118
|
+
.el_align_v_bottom {
|
119
|
+
display: flex;
|
120
|
+
align-items: flex-end;
|
121
|
+
}
|
@@ -3,29 +3,32 @@
|
|
3
3
|
<head>
|
4
4
|
<meta name='viewport' content='initial-scale=1, width=device-width, viewport-fit=cover'>
|
5
5
|
<meta charset='UTF-8'/>
|
6
|
-
<meta Cross-Origin-Opener-Policy=
|
7
|
-
<meta Cross-Origin-Embedder-Policy=
|
6
|
+
<!-- <meta Cross-Origin-Opener-Policy="same-origin"/>-->
|
7
|
+
<!-- <meta Cross-Origin-Embedder-Policy="require-corp"/>-->
|
8
8
|
<meta name="format-detection" content="telephone=no">
|
9
9
|
<meta name="msapplication-tap-highlight" content="no">
|
10
10
|
<meta name="viewport" content="initial-scale=1, width=device-width, viewport-fit=cover">
|
11
11
|
<link type="text/css" rel="stylesheet" href="css/style.css">
|
12
|
-
<script type="text/javascript" src="js/third_parties/fabric.min.js"></script>
|
13
|
-
<script type="text/javascript" src="js/third_parties/three.min.js"></script>
|
14
12
|
<script type="text/javascript" src="js/third_parties/interact.min.js"></script>
|
15
13
|
<script type="text/javascript" src="js/third_parties/popmotion.min.js"></script>
|
16
14
|
<script type="text/javascript" src="js/third_parties/sha256.min.js"></script>
|
17
15
|
<script type="text/javascript" src="js/third_parties/ping.min.js"></script>
|
18
16
|
<script src='js/third_parties/w3color.js'></script>
|
17
|
+
<script src='js/opal/opal.js'></script>
|
19
18
|
<script src='js/opal/opal_browser.js'></script>
|
20
|
-
|
19
|
+
<!-- TODO: we line below will be uncomment when using stand alone app
|
20
|
+
and loaded on the fly when using server mode-->
|
21
|
+
<!-- <script type="text/javascript" src="js/third_parties/fabric.min.js"></script>-->
|
22
|
+
<!-- <script type="text/javascript" src="js/third_parties/three.min.js"></script>-->
|
23
|
+
<!-- <script src='js/opal/opal_parser.js'></script>-->
|
21
24
|
<script src='js/aui.js'></script>
|
22
25
|
<script src='js/atome/atome.js' defer></script>
|
23
26
|
<script src='js/atome/kernel.js' defer></script>
|
24
27
|
<script src='js/opal/atome_opal_extensions.js'></script>
|
25
28
|
<title>atome</title>
|
26
|
-
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
29
|
+
<link rel="icon" type="image/x-icon" href="./favicon.ico">
|
27
30
|
</head>
|
28
|
-
<body id='user_view' class='atome' oncontextmenu="return false;"
|
31
|
+
<body id='user_view' class='atome' oncontextmenu="return false;">
|
29
32
|
</body>
|
30
33
|
<script src='js/application.js' defer></script>
|
31
34
|
</html>
|
@@ -1,69 +1,68 @@
|
|
1
|
-
class AtomeDrag {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
//TODO: optimise this passing the proc to the drag callback
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
}
|
1
|
+
// class AtomeDrag {
|
2
|
+
// constructor() {
|
3
|
+
// }
|
4
|
+
//
|
5
|
+
// drag(atome_drag_id) {
|
6
|
+
// // target elements with the "draggable" class
|
7
|
+
// self.current_obj = Opal.Utilities.$grab(atome_drag_id)
|
8
|
+
// interact('.'+atome_drag_id)
|
9
|
+
// .draggable({
|
10
|
+
// // enable inertial throwing
|
11
|
+
// startAxis: 'x',
|
12
|
+
// lockAxis: 'x',
|
13
|
+
// // lockAxis: ''+lock_axis,
|
14
|
+
// inertia: true,
|
15
|
+
// // keep the element within the area of it's parent
|
16
|
+
// modifiers: [
|
17
|
+
// interact.modifiers.restrictRect({
|
18
|
+
// restriction: 'parent',
|
19
|
+
// endOnly: true
|
20
|
+
// })
|
21
|
+
// ],
|
22
|
+
// // enable autoScroll
|
23
|
+
// autoScroll: true,
|
24
|
+
//
|
25
|
+
// listeners: {
|
26
|
+
// // call this function on every dragmove event
|
27
|
+
//
|
28
|
+
// move: dragMoveListener,
|
29
|
+
// start(event) {
|
30
|
+
// //TODO: optimise this passing the proc to the drag callback
|
31
|
+
// // lets get the current atome Object
|
32
|
+
// // self.current_obj = Opal.Utilities.$grab(atome_drag_id)
|
33
|
+
// // now get the grab proc
|
34
|
+
// self.proc_meth = current_obj.bloc
|
35
|
+
// },
|
36
|
+
// // call this function on every dragend event
|
37
|
+
// end(event) {
|
38
|
+
// }
|
39
|
+
// }
|
40
|
+
// })
|
41
|
+
//
|
42
|
+
// function dragMoveListener(event) {
|
43
|
+
// const target = event.target
|
44
|
+
// // the code below can be conditioned to receive the drag event without moving the object
|
45
|
+
// // keep the dragged position in the data-x/data-y attributes
|
46
|
+
// const x = (parseFloat(target.getAttribute('data-x')) || 0) + event.dx;
|
47
|
+
// const y = (parseFloat(target.getAttribute('data-y')) || 0) + event.dy
|
48
|
+
// // translate the element
|
49
|
+
// target.style.transform = 'translate(' + x + 'px, ' + y + 'px)'
|
50
|
+
// // update the position attributes
|
51
|
+
// target.setAttribute('data-x', x)
|
52
|
+
// target.setAttribute('data-y', y)
|
53
|
+
// // CallBack here
|
54
|
+
// self.current_obj.$dragCallback(event.pageX, event.pageY, event.rect.left, event.rect.top, self.current_obj, self.proc_meth);
|
55
|
+
// }
|
56
|
+
// }
|
57
|
+
//
|
58
|
+
// }
|
60
59
|
|
61
60
|
// Usage:
|
62
61
|
// let atomeDrag = new AtomeDrag();
|
63
62
|
// atomeDrag.drag('atome_id', 'options');
|
64
63
|
|
65
64
|
|
66
|
-
|
65
|
+
const Atomeanimation ={
|
67
66
|
|
68
67
|
|
69
68
|
}
|
@@ -79,4 +78,5 @@ const atome = {
|
|
79
78
|
Opal.Object.$schedule_callback(proc);
|
80
79
|
}, diffTime);
|
81
80
|
}
|
82
|
-
}
|
81
|
+
}
|
82
|
+
|
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
|
@@ -1,5 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
my_video = Atome.new(
|
2
|
-
video: { render: [:html], data: :dummy, id: :video1, type: :video,
|
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,
|
3
5
|
}
|
4
6
|
) do |params|
|
5
7
|
puts "video callback here #{params}"
|
@@ -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,16 +1,23 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
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}"
|
4
5
|
wait 2 do
|
5
|
-
|
6
|
+
left(120)
|
6
7
|
end
|
7
8
|
end
|
8
9
|
|
9
|
-
Atome.new(
|
10
|
-
{ shape: { render: [:html], id: :view_test, type: :shape,
|
10
|
+
b = Atome.new(
|
11
|
+
{ shape: { render: [:html], id: :view_test, type: :shape, parents: [:view],children: [],
|
11
12
|
left: 0, width: 90, top: 0, height: 90, overflow: :auto,
|
12
|
-
color: { render: [:html], id: :view_test_color, type: :color,
|
13
|
+
color: { render: [:html], id: :view_test_color, type: :color, parents: [:view_test],
|
13
14
|
red: 1, green: 0.15, blue: 0.15, alpha: 1 } } }
|
14
15
|
) do |p|
|
15
|
-
puts "
|
16
|
+
puts "the param pass to the atome is: #{p}"
|
17
|
+
|
16
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,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})
|