atome 0.1.00009 → 0.4.5.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +4 -0
- data/README.md +74 -6
- data/Rakefile +14 -6
- data/app_builder_helpers/Rakefile +183 -25
- data/documentation/atome.md +14 -0
- data/documentation/database.JPG +0 -0
- data/documentation/framework/apis.md +14 -0
- data/documentation/framework/atome_explained.md +179 -0
- data/documentation/framework/box_content.md +53 -0
- data/documentation/framework/buld_the_gem.md +52 -0
- data/documentation/framework/datas_flows.md +28 -0
- data/documentation/framework/enhance_atome.md +79 -0
- data/documentation/framework/folder_architecture.md +47 -0
- data/documentation/framework/technical/rendering_flow.md +18 -0
- data/documentation/framework/technical/technical_description.md +23 -0
- data/documentation/framework/what_is_it.md +65 -0
- data/documentation/framework/what_it_can_do.md +25 -0
- data/documentation/images/1.png +0 -0
- data/documentation/images/2.png +0 -0
- data/documentation/images/3.png +0 -0
- data/documentation/images/atome.svg +12 -0
- data/documentation/images/list.png +0 -0
- data/documentation/images/logos/cordova.png +0 -0
- data/documentation/images/logos/freebsd.png +0 -0
- data/documentation/images/logos/opal.png +0 -0
- data/documentation/images/logos/puma.png +0 -0
- data/documentation/images/logos/roda.svg +1 -0
- data/documentation/images/logos/ruby.png +0 -0
- data/documentation/images/logos/tauri.png +0 -0
- data/documentation/installation/atome_server.md +184 -0
- data/documentation/tutorials/first_steps.md +148 -0
- data/documentation/tutorials/tutorials.md +15 -0
- data/documentation/tutorials/working_with_atome.md +60 -0
- data/exe/atome +178 -53
- data/lib/atome/atome_native_extensions.rb +5 -0
- data/lib/atome/extensions/geolocation.rb +14 -0
- data/lib/atome/extensions/helper.rb +123 -0
- data/lib/atome/extensions/ping.rb +13 -0
- data/lib/atome/extensions/sha.rb +6 -0
- data/lib/atome/extensions/utilities.rb +39 -0
- data/lib/atome/kernel/atome.rb +98 -0
- data/lib/atome/kernel/generators/generator.rb +387 -0
- data/lib/atome/kernel/generators/genesis.rb +265 -0
- data/lib/atome/kernel/generators/sanitizer.rb +77 -0
- data/lib/atome/kernel/generators/shapes.rb +40 -0
- data/lib/atome/kernel/properties/essential.rb +43 -0
- data/lib/atome/kernel/sparkle.rb +37 -0
- data/lib/atome/kernel/universe.rb +29 -0
- data/lib/atome/renderers/headless/properties/generator.rb +1 -0
- data/lib/atome/renderers/opal/atome_opal_extensions.rb +7 -0
- data/lib/atome/renderers/opal/extensions/color.rb +23 -0
- data/lib/atome/renderers/opal/extensions/geolocation.rb +14 -0
- data/lib/atome/renderers/opal/extensions/ping.rb +18 -0
- data/lib/atome/renderers/opal/extensions/sha.rb +12 -0
- data/lib/atome/renderers/opal/opal_browser.rb +2 -1
- data/lib/atome/renderers/opal/opal_parser.rb +1 -0
- data/lib/atome/renderers/opal/properties/generator.rb +1 -0
- data/lib/atome/renderers/renderer.rb +12 -0
- data/lib/atome/renderers/server/properties/generator.rb +9 -0
- data/lib/atome/version.rb +1 -1
- data/lib/atome.rb +55 -2
- data/vendor/assets/Guardfile +4 -0
- data/vendor/assets/Rakefile +3 -0
- data/vendor/assets/application/index.rb +4 -0
- data/vendor/assets/build/css/style.css +21 -8
- data/vendor/assets/build/favicon.ico +0 -0
- data/vendor/assets/build/index.html +13 -4
- data/vendor/assets/build/js/atome/atome.js +68 -0
- data/vendor/assets/build/js/ping.min.js +2 -0
- data/vendor/assets/build/js/third_parties/createjs.min.js +19 -0
- data/vendor/assets/build/js/third_parties/fabric.min.js +1 -0
- data/vendor/assets/build/js/third_parties/sha256.min.js +9 -0
- data/vendor/assets/build/js/third_parties/three.min.js +6 -0
- data/vendor/assets/build/js/utilities/w3color.js +646 -0
- data/vendor/assets/build/medias/audios/audio_missing.wav +0 -0
- data/vendor/assets/build/medias/audios/clap.wav +0 -0
- data/vendor/assets/build/medias/audios/cowbell.wav +0 -0
- data/vendor/assets/build/medias/audios/hihat.wav +0 -0
- data/vendor/assets/build/medias/audios/kick.wav +0 -0
- data/vendor/assets/build/medias/audios/riff.m4a +0 -0
- data/vendor/assets/build/medias/audios/snare.wav +0 -0
- data/vendor/assets/build/medias/audios/tom.wav +0 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/DancingScript-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/OFL.txt +93 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/README.txt +66 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-Bold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-Medium.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-Regular.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Dancing_Script/static/DancingScript-SemiBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Mate_SC/MateSC-Regular.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Mate_SC/OFL.txt +94 -0
- data/vendor/assets/build/medias/fonts/Raleway/OFL.txt +93 -0
- data/vendor/assets/build/medias/fonts/Raleway/README.txt +81 -0
- data/vendor/assets/build/medias/fonts/Raleway/Raleway-Italic-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/Raleway-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Black.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-BlackItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Bold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-BoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraBoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraLight.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ExtraLightItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Italic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Light.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-LightItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Medium.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-MediumItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Regular.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-SemiBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-SemiBoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-Thin.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Raleway/static/Raleway-ThinItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/LICENSE.txt +202 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/README.txt +71 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/RobotoSlab-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Black.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Bold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-ExtraLight.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Light.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Medium.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Regular.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-SemiBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Roboto_Slab/static/RobotoSlab-Thin.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/OFL.txt +93 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/README.txt +75 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/Vollkorn-Italic-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/Vollkorn-VariableFont_wght.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Black.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-BlackItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Bold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-BoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-ExtraBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-ExtraBoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Italic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Medium.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-MediumItalic.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-Regular.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-SemiBold.ttf +0 -0
- data/vendor/assets/build/medias/fonts/Vollkorn/static/Vollkorn-SemiBoldItalic.ttf +0 -0
- data/vendor/assets/build/medias/images/Icon_Help.png +0 -0
- data/vendor/assets/build/medias/images/atome.svg +12 -0
- data/vendor/assets/build/medias/images/avion.jpg +0 -0
- data/vendor/assets/build/medias/images/ballanim.png +0 -0
- data/vendor/assets/build/medias/images/blank.png +0 -0
- data/vendor/assets/build/medias/images/boat.png +0 -0
- data/vendor/assets/build/medias/images/cache.svg +10 -0
- data/vendor/assets/build/medias/images/dices.png +0 -0
- data/vendor/assets/build/medias/images/eVe_back.png +0 -0
- data/vendor/assets/build/medias/images/elephant.png +0 -0
- data/vendor/assets/build/medias/images/eyes.jpg +0 -0
- data/vendor/assets/build/medias/images/freebsd.png +0 -0
- data/vendor/assets/build/medias/images/grain_texture.png +0 -0
- data/vendor/assets/build/medias/images/green_planet.png +0 -0
- data/vendor/assets/build/medias/images/image_missing.svg +9 -0
- data/vendor/assets/build/medias/images/jeezs.png +0 -0
- data/vendor/assets/build/medias/images/keyboard.png +0 -0
- data/vendor/assets/build/medias/images/killer.jpg +0 -0
- data/vendor/assets/build/medias/images/living_room.png +0 -0
- data/vendor/assets/build/medias/images/logo.svg +14 -0
- data/vendor/assets/build/medias/images/logos/Facebook.svg +8 -0
- data/vendor/assets/build/medias/images/logos/GitHub Black.svg +7 -0
- data/vendor/assets/build/medias/images/logos/GitHub-Mark.eps +7696 -0
- data/vendor/assets/build/medias/images/logos/GitHub.svg +7 -0
- data/vendor/assets/build/medias/images/logos/TikTok.svg +11 -0
- data/vendor/assets/build/medias/images/logos/Twitter.svg +35 -0
- data/vendor/assets/build/medias/images/logos/YouTube.svg +1 -0
- data/vendor/assets/build/medias/images/logos/apple.svg +4 -0
- data/vendor/assets/build/medias/images/logos/atome.svg +12 -0
- data/vendor/assets/build/medias/images/logos/freebsd.png +0 -0
- data/vendor/assets/build/medias/images/logos/instagram.svg +6 -0
- data/vendor/assets/build/medias/images/logos/tiktok_back.svg +1 -0
- data/vendor/assets/build/medias/images/moto.png +0 -0
- data/vendor/assets/build/medias/images/noise.svg +17 -0
- data/vendor/assets/build/medias/images/piano.png +0 -0
- data/vendor/assets/build/medias/images/poisson.jpg +0 -0
- data/vendor/assets/build/medias/images/red_planet.png +0 -0
- data/vendor/assets/build/medias/images/sky.jpg +0 -0
- data/vendor/assets/build/medias/images/the_mask.svg +8 -0
- data/vendor/assets/build/medias/images/tile.png +0 -0
- data/vendor/assets/build/medias/images/tile_black.png +0 -0
- data/vendor/assets/build/medias/images/tile_white.png +0 -0
- data/vendor/assets/build/medias/javascripts/test.js +1 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/!demos.rb +111 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/action.rb +12 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/add.rb +26 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/alignment.rb +27 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/animation.rb +92 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_as_property.rb +20 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atome_list.rb +4 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/atomiser.rb +17 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/attach_extract.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/authorisation.rb +22 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/batch.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/blend.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/blur.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/border.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/calendar.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/capture.rb +57 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/center.rb +21 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/child.rb +18 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/clear.rb +21 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/clip.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/code.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/code_editor.rb +26 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/collaborate.rb +115 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/convert_to_px.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/copy_paste.rb +35 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/current_code.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/cursor.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/data.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/database.rb +29 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/delete.rb +12 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/display.rb +19 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/disposition.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/double_and_long_touch.rb +23 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drag.rb +61 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drag_and_drop_import.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/drop.rb +23 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/duplicate.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/edit.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/eval.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/extract_detach.rb +23 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fill.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/find.rb +37 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fit.rb +44 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/fullscreen.rb +28 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/generate.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/gradient.rb +24 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/group.rb +21 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/helper.rb +64 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/history.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/hue.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/input_text.rb +54 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/insert_attach.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/internationalisation.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/key.rb +19 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/keyboard_shortcut.rb +69 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/list_methods.rb +4 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/list_types.rb +4 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/listen.rb +47 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mail.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/map.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mask.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/media_recorder.rb +24 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/media_streaming.rb +41 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/meteo.rb +41 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/methods_chaining.rb +8 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/midi.rb +37 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/monitoring.rb +47 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/mulitrendering.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/noise_gradient_texture.rb +26 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/notification.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/object_in_object.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/on_resize.rb +12 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/over.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/overflow.rb +22 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/parameter.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/parent.rb +19 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/particle.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/pay.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/ping.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/play.rb +24 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/play_audio.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/position.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/read_file.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/reboot.rb +15 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/refresh.rb +17 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/remote_server.rb +31 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/render.rb +17 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/repeat.rb +19 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/require_remote.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/restore_atome.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/resurect.rb +30 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/ruby_version.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/say.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/scale.rb +41 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/schedule.rb +39 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/scroll.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/select.rb +32 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/selector.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/shadow.rb +30 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/shape_with_path.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/size.rb +109 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/smooth.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/speech_renderer.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/synth.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/system.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/tags.rb +18 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text.rb +33 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text_selection.rb +33 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/text_to_midi.rb +22 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/touch.rb +23 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/touch_stop_propagation.rb +27 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/treat_object_in_object.rb +26 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/type_mutations.rb +27 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/video_callback.rb +46 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/view_mode.rb +29 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/virtual_events.rb +17 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/visual.rb +23 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/vr_display.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/wait.rb +21 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/web.rb +10 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/web_address_bar.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/websocket.rb +16 -0
- data/vendor/assets/build/medias/rubies/examples/Old_examples/webstate.rb +10 -0
- data/vendor/assets/build/{js/atome/kernel.js → medias/rubies/examples/animation.rb} +0 -0
- data/vendor/assets/build/medias/rubies/examples/atome.new.rb +12 -0
- data/vendor/assets/build/medias/rubies/examples/auto_height.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/auto_width.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/bottom.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/box.rb +1 -0
- data/vendor/assets/build/{js/opal/opal_browser.js → medias/rubies/examples/circle.rb} +0 -0
- data/vendor/assets/build/medias/rubies/examples/color.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/create_atome_in_atome.rb +11 -0
- data/vendor/assets/build/medias/rubies/examples/drag.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/get_renderer_list.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/grab.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/height.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/image.rb +4 -0
- data/vendor/assets/build/medias/rubies/examples/left.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/link.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/parent.rb +12 -0
- data/vendor/assets/build/medias/rubies/examples/read.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/repeat.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/right.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/rotate.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/schedule.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/smooth.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/text.rb +5 -0
- data/vendor/assets/build/medias/rubies/examples/top.rb +1 -0
- data/vendor/assets/build/medias/rubies/examples/touch.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/video.rb +4 -0
- data/vendor/assets/build/medias/rubies/examples/wait.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/web.rb +9 -0
- data/vendor/assets/build/medias/rubies/examples/width.rb +2 -0
- data/vendor/assets/build/medias/rubies/test.rb +1 -0
- data/vendor/assets/build/medias/rubies/text_read.rb +1 -0
- data/vendor/assets/build/medias/rubies/users/code.rb +6 -0
- data/vendor/assets/build/medias/utils/infos/color.rb +29 -0
- data/vendor/assets/build/medias/utils/infos/width.rb +25 -0
- data/vendor/assets/build/medias/videos/video_missing.mp4 +0 -0
- data/vendor/assets/{index.rb → r&d/misc.rb} +54 -1
- data/vendor/assets/r&d/ping.rb +3 -0
- data/vendor/assets/r&d/storage.rb +9 -0
- data/vendor/assets/r&d/view_example.rb +21 -0
- data/vendor/assets/server/atome_server.rb +74 -27
- data/vendor/assets/server/config.ru +2 -14
- metadata +424 -12
- data/lib/atome/kernel/atome_genesis.rb +0 -2
- data/lib/atome/kernel/properties/geometry.rb +0 -2
- data/vendor/assets/build/js/opal/opal_parser.js +0 -0
@@ -0,0 +1,57 @@
|
|
1
|
+
# capture demo
|
2
|
+
|
3
|
+
recorder = text({content: "click to start logging", height: 30, color: :red, x: 33, y: 96, smooth: 33, width: :auto})
|
4
|
+
stop = text({content: "click to stop logging", height: 30, color: :black, x: 33, y: 123, smooth: 33, width: :auto})
|
5
|
+
starting = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
6
|
+
text({content: "try touch drag and resize on window", width: :auto})
|
7
|
+
text = text({content: "mouse pointer position and timer", y: 33, width: :auto})
|
8
|
+
recorder.touch do
|
9
|
+
|
10
|
+
grab(:view).touch({option: :down}) do |evt|
|
11
|
+
ending = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
12
|
+
elapsed = ending - starting
|
13
|
+
object_under_pointer=JSUtils.get_object_under_pointer(evt)
|
14
|
+
pointer = "click down on view a at #{evt.page_x}, #{evt.page_y} : #{elapsed}, object under the pointer #{object_under_pointer}"
|
15
|
+
text.content = pointer
|
16
|
+
end
|
17
|
+
|
18
|
+
grab(:view).touch({option: :up}) do |evt|
|
19
|
+
ending = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
20
|
+
elapsed = ending - starting
|
21
|
+
object_under_pointer=JSUtils.get_object_under_pointer(evt)
|
22
|
+
pointer = "click up on view at #{evt.page_x}, #{evt.page_y} : #{elapsed}, object under the pointer #{object_under_pointer}"
|
23
|
+
text.content = pointer
|
24
|
+
end
|
25
|
+
|
26
|
+
grab(:view).drag({fixed: true}) do |evt|
|
27
|
+
ending = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
28
|
+
elapsed = ending - starting
|
29
|
+
pointer = "drag on view at #{evt.page_x}, #{evt.page_y} : #{elapsed}"
|
30
|
+
text.content = pointer
|
31
|
+
end
|
32
|
+
|
33
|
+
ATOME.resize_html(true) do |evt|
|
34
|
+
ending = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
35
|
+
elapsed = ending - starting
|
36
|
+
pointer = "resize the view #{evt[:width]}, #{evt[:height]} : #{elapsed}"
|
37
|
+
text.content = pointer
|
38
|
+
end
|
39
|
+
|
40
|
+
grab(:view).record(true) do |evt|
|
41
|
+
ending = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
42
|
+
elapsed = ending - starting
|
43
|
+
pointer = "cursor move : #{evt.page_x}, #{evt.page_y} : #{elapsed}"
|
44
|
+
text.content = pointer
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
stop.touch do
|
50
|
+
grab(:view).record(:stop)
|
51
|
+
grab(:view).child.record(:stop)
|
52
|
+
grab(:view).child.drag(x: 33)
|
53
|
+
end
|
54
|
+
image({content: :green_planet, x: 196, y: 196, atome_id: :the_planet, drag: true})
|
55
|
+
|
56
|
+
box({x: 196, y: 196, color: :yellowgreen, atome_id: :my_nice_box, drag: true})
|
57
|
+
circle({x: 222, y: 222, atome_id: :the_circle, drag: true})
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# dynamic centering example
|
2
|
+
|
3
|
+
b = box({ width: 700, height: 120, drag: true, center: { dynamic: true } })
|
4
|
+
c = circle({y:33})
|
5
|
+
c.text({content: "activate dynamic 'continuous' centering", color: :white})
|
6
|
+
t2=text({content: "remove dynamic centering on box", color: :white, y: 0})
|
7
|
+
t = text({ content: "ok", color: :white, center: :x , y: 69})
|
8
|
+
|
9
|
+
c.touch do
|
10
|
+
grab(:buffer).content[:resize] = [t, b]
|
11
|
+
ATOME.resize_html do |evt|
|
12
|
+
t.content("#{evt[:width]} #{evt[:height]}")
|
13
|
+
grab(:buffer).content[:resize].each do |element|
|
14
|
+
element.center=element.center
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
t2.touch do
|
20
|
+
grab(:buffer).content[:resize] = [t]
|
21
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# child
|
2
|
+
|
3
|
+
c = circle({atome_id: :c, x: 20})
|
4
|
+
c.drag do
|
5
|
+
end
|
6
|
+
img=image({content: :red_planet, atome_id: :red_planet})
|
7
|
+
c.box({atome_id: :e, x: 160})
|
8
|
+
c.text({content: 'some text', atome_id: :t, width: 100, height: 200, x: 69})
|
9
|
+
b2=box({x:200, atome_id: :the_box})
|
10
|
+
c.child.color(:green)
|
11
|
+
|
12
|
+
c.child([img.atome_id, b2.atome_id])
|
13
|
+
c.child do |child_found|
|
14
|
+
child_found.set({width: 100, height: 33, rotate: 36, y: 66})
|
15
|
+
end
|
16
|
+
|
17
|
+
c.child[:red_planet].y(200)
|
18
|
+
b2.parent[1].color(:cyan)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#clear
|
2
|
+
|
3
|
+
# box({atome_id: :the_box})
|
4
|
+
c=circle(x: 96)
|
5
|
+
t=text({content: "click tme to clear the screen", atome_id: :the_text})
|
6
|
+
text({content: "hello", x: 96, y: 96})
|
7
|
+
image({content: :boat, size: 96, x: 96, y: 96})
|
8
|
+
image({content: :moto, size: 96, y: 96})
|
9
|
+
|
10
|
+
|
11
|
+
b=box({x: 96, y: 96})
|
12
|
+
b.circle(true)
|
13
|
+
b.text("touch the box to clear it's content")
|
14
|
+
b.attach(c.atome_id)
|
15
|
+
b.touch do
|
16
|
+
b.clear(true)
|
17
|
+
end
|
18
|
+
|
19
|
+
t.touch do
|
20
|
+
grab(:view).clear(:true)
|
21
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# clip example
|
2
|
+
text("touch the rectangle")
|
3
|
+
b=box({width: 222, height: 529, x: 333})
|
4
|
+
s=shape({ path: :the_mask, width: 33, atome_id: :the_path})
|
5
|
+
|
6
|
+
b.touch do ||
|
7
|
+
b.clip({path: :clipping5})
|
8
|
+
b.shadow({ x: 0, y: 0, color: "rgba(0,0,0,1)", blur: 16, thickness: 0 })
|
9
|
+
end
|
10
|
+
|
11
|
+
s.width(333)
|
@@ -0,0 +1,7 @@
|
|
1
|
+
#code example
|
2
|
+
|
3
|
+
text(content: "the code within the contain circle is executed, it'll create a green circle, \ntouch the red circle ",code: "c=circle;c.color(:green)\nc.x(66)\nc.y(66)")
|
4
|
+
cell({ content: "box({x:99, y: 99})", exec: false,atome_id: :the_box })
|
5
|
+
cell({ content: "c=circle({x:300, y: 300});c.touch do \n grab(:the_box).exec(true)\nend" })
|
6
|
+
|
7
|
+
# use for code type (machine molecule )
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# ide
|
2
|
+
|
3
|
+
t=text(content: "touch me to open the code editor", xx: 50)
|
4
|
+
t.touch do
|
5
|
+
coding({atome_id: :code_editor, content: :circle})
|
6
|
+
end
|
7
|
+
|
8
|
+
code_editor_font_size=12
|
9
|
+
c=circle({size: 33})
|
10
|
+
c2=circle({size: 33, x: 69})
|
11
|
+
t=c.text({content: "-", center: true, color: :black})
|
12
|
+
t2=c2.text({content: "+", center: true, color: :black, x: 69})
|
13
|
+
t.center(true)
|
14
|
+
t2.center(true)
|
15
|
+
|
16
|
+
|
17
|
+
c.touch do
|
18
|
+
code_editor_font_size=code_editor_font_size-5
|
19
|
+
ATOME.codemirror_font_size( code_editor_font_size)
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
c2.touch do
|
24
|
+
code_editor_font_size=code_editor_font_size+5
|
25
|
+
ATOME.codemirror_font_size( code_editor_font_size)
|
26
|
+
end
|
@@ -0,0 +1,115 @@
|
|
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
|
@@ -0,0 +1,14 @@
|
|
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)
|
@@ -0,0 +1,35 @@
|
|
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
|
@@ -0,0 +1,14 @@
|
|
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
|
@@ -0,0 +1,29 @@
|
|
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
|
@@ -0,0 +1,12 @@
|
|
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
|
@@ -0,0 +1,19 @@
|
|
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
|
@@ -0,0 +1,10 @@
|
|
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})
|
@@ -0,0 +1,23 @@
|
|
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
|
+
|
@@ -0,0 +1,61 @@
|
|
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
|
@@ -0,0 +1 @@
|
|
1
|
+
text("drop a png on the window to import the medias (not availlable on safari for now)")
|
@@ -0,0 +1,23 @@
|
|
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
|
+
|
@@ -0,0 +1,11 @@
|
|
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
|
@@ -0,0 +1,23 @@
|
|
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
|
@@ -0,0 +1,37 @@
|
|
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
|