atome 0.4.7.0 → 0.5.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.rb +129 -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 +38 -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 +10 -0
- data/lib/atome/genesis/generators/geometry.rb +6 -0
- data/lib/atome/genesis/generators/identity.rb +29 -0
- data/lib/atome/genesis/generators/material.rb +10 -0
- data/lib/atome/genesis/generators/spatial.rb +13 -0
- data/lib/atome/genesis/generators/utility.rb +31 -0
- data/lib/atome/genesis/genesis.rb +46 -0
- data/lib/atome/genesis/sparkle.rb +58 -0
- data/lib/atome/helpers/callbacks.rb +12 -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 +23 -0
- data/lib/atome/helpers/utilities.rb +54 -0
- data/lib/atome/kernel/essentials.rb +23 -0
- data/lib/atome/kernel/universe.rb +92 -26
- data/lib/atome/presets/atome.rb +88 -0
- data/lib/atome/processors/utilities.rb +10 -0
- data/lib/atome/renderers/browser/atome.rb +108 -0
- data/lib/atome/renderers/browser/browser.rb +225 -0
- data/lib/atome/renderers/browser/effect.rb +23 -0
- data/lib/atome/renderers/browser/event.rb +37 -0
- data/lib/atome/renderers/browser/geometry.rb +11 -0
- data/lib/atome/renderers/browser/identity.rb +24 -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 +23 -0
- data/lib/atome/renderers/browser/utility.rb +39 -0
- data/lib/atome/renderers/headless/headless.rb +10 -0
- data/lib/atome/renderers/headless/utility.rb +6 -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 +17 -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/renderers/renderer.rb +7 -7
- data/lib/atome/renderers/server/server.rb +10 -0
- data/lib/atome/renderers/server/utility.rb +6 -0
- data/lib/atome/version.rb +1 -2
- data/lib/atome.rb +25 -44
- data/vendor/assets/application/index.rb +3 -1
- data/vendor/assets/application/required_example.rb +1 -0
- data/vendor/assets/{build/js/application.js → aui.rb} +0 -0
- data/vendor/assets/build/css/style.css +51 -0
- data/vendor/assets/build/index.html +7 -8
- data/vendor/assets/build/js/atome/atome.js +141 -68
- data/vendor/assets/build/medias/rubies/examples/_2_solve.rb +13 -0
- data/vendor/assets/build/medias/rubies/examples/{animation.rb → _animation.rb} +0 -0
- data/vendor/assets/build/medias/rubies/examples/{drag.rb → _drag.rb} +1 -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 +12 -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/code.rb +10 -4
- 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/element.rb +6 -0
- data/vendor/assets/build/medias/rubies/examples/fullscreen.rb +15 -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 +7 -2
- data/vendor/assets/build/medias/rubies/examples/id.rb +14 -0
- data/vendor/assets/build/medias/rubies/examples/image.rb +6 -2
- data/vendor/assets/build/medias/rubies/examples/left.rb +7 -2
- data/vendor/assets/build/medias/rubies/examples/link.rb +12 -3
- data/vendor/assets/build/medias/rubies/examples/monitoring.rb +33 -0
- data/vendor/assets/build/medias/rubies/examples/on.rb +11 -7
- data/vendor/assets/build/medias/rubies/examples/parent.rb +7 -5
- data/vendor/assets/build/medias/rubies/examples/read.rb +6 -2
- data/vendor/assets/build/medias/rubies/examples/refresh.rb +8 -0
- 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/rotate.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/schedule.rb +8 -11
- data/vendor/assets/build/medias/rubies/examples/shadow.rb +30 -0
- data/vendor/assets/build/medias/rubies/examples/smooth.rb +2 -0
- data/vendor/assets/build/medias/rubies/examples/text.rb +21 -7
- data/vendor/assets/build/medias/rubies/examples/top.rb +3 -0
- data/vendor/assets/build/medias/rubies/examples/touch.rb +7 -0
- data/vendor/assets/build/medias/rubies/examples/video.rb +32 -23
- data/vendor/assets/build/medias/rubies/examples/wait.rb +8 -3
- data/vendor/assets/build/medias/rubies/examples/web.rb +7 -4
- data/vendor/assets/build/medias/rubies/examples/width.rb +6 -2
- data/vendor/assets/server/atome_server.rb +3 -5
- metadata +76 -164
- 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/server/properties/generator.rb +0 -9
- 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/videos/lion_king.mp4 +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
generator = Genesis.generator
|
|
4
|
+
|
|
5
|
+
generator.build_atome(:color)
|
|
6
|
+
generator.build_sanitizer(:color) do |params|
|
|
7
|
+
parent_found = found_parents_and_renderers[:parent]
|
|
8
|
+
render_found = found_parents_and_renderers[:renderers]
|
|
9
|
+
default_params = { renderers: render_found, id: "color_#{Universe.atomes.length}", type: :color,
|
|
10
|
+
parents: parent_found,
|
|
11
|
+
red: 0, green: 0, blue: 0, alpha: 1 }
|
|
12
|
+
params = create_color_hash(params) unless params.instance_of? Hash
|
|
13
|
+
default_params.merge!(params)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
generator.build_sanitizer(:video) do |params|
|
|
17
|
+
parent_found = found_parents_and_renderers[:parent]
|
|
18
|
+
render_found = found_parents_and_renderers[:renderers]
|
|
19
|
+
default_params = { renderers: render_found, id: "video_#{Universe.atomes.length}", type: :video,
|
|
20
|
+
parents: parent_found }
|
|
21
|
+
default_params.merge!(params)
|
|
22
|
+
end
|
|
23
|
+
generator.build_atome(:shadow)
|
|
24
|
+
generator.build_atome(:shape)
|
|
25
|
+
generator.build_atome(:text)
|
|
26
|
+
generator.build_atome(:image)
|
|
27
|
+
generator.build_atome(:video)
|
|
28
|
+
generator.build_atome(:code)
|
|
29
|
+
generator.build_atome(:audio)
|
|
30
|
+
generator.build_atome(:element)
|
|
31
|
+
generator.build_atome(:web)
|
|
32
|
+
generator.build_sanitizer(:element) do |params|
|
|
33
|
+
parent_found = found_parents_and_renderers[:parent]
|
|
34
|
+
render_found = []
|
|
35
|
+
default_params = { renderers: render_found, id: "element_#{Universe.atomes.length}", type: :element,
|
|
36
|
+
parents: parent_found }
|
|
37
|
+
default_params.merge!(params)
|
|
38
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
generator = Genesis.generator
|
|
4
|
+
|
|
5
|
+
generator.build_particle(:touch)
|
|
6
|
+
generator.build_particle(:play)
|
|
7
|
+
generator.build_particle(:time)
|
|
8
|
+
generator.build_particle(:pause)
|
|
9
|
+
generator.build_particle(:on)
|
|
10
|
+
generator.build_particle(:fullscreen)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
generator = Genesis.generator
|
|
4
|
+
|
|
5
|
+
generator.build_particle(:type)
|
|
6
|
+
generator.build_particle(:parents)
|
|
7
|
+
generator.build_particle(:children)
|
|
8
|
+
generator.build_particle(:link) do |child_id|
|
|
9
|
+
child_found = grab(child_id)
|
|
10
|
+
child_found.atome[:parents] << @atome[:id]
|
|
11
|
+
child_found.refresh
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
generator.build_particle(:id)
|
|
15
|
+
generator.build_sanitizer(:id) do |params|
|
|
16
|
+
if @atome[:id] != params
|
|
17
|
+
Universe.update_atome_id(params, self, @atome[:id])
|
|
18
|
+
else
|
|
19
|
+
Universe.add_to_atomes(params, self)
|
|
20
|
+
end
|
|
21
|
+
params
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
generator.build_option(:pre_render_parents) do |parents_id_found|
|
|
25
|
+
parents_id_found.each do |parents_id|
|
|
26
|
+
parents_found = grab(parents_id)
|
|
27
|
+
parents_found.children << id if parents_found
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
generator = Genesis.generator
|
|
4
|
+
|
|
5
|
+
generator.build_particle(:red)
|
|
6
|
+
generator.build_particle(:green)
|
|
7
|
+
generator.build_particle(:blue)
|
|
8
|
+
generator.build_particle(:alpha)
|
|
9
|
+
generator.build_particle(:visual)
|
|
10
|
+
generator.build_particle(:overflow)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
generator = Genesis.generator
|
|
4
|
+
# create particles
|
|
5
|
+
generator.build_particle(:left) do |_params, user_proc|
|
|
6
|
+
instance_exec(&user_proc) if user_proc.is_a?(Proc)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
generator.build_particle(:right)
|
|
10
|
+
generator.build_particle(:top)
|
|
11
|
+
generator.build_particle(:bottom)
|
|
12
|
+
generator.build_particle(:rotate)
|
|
13
|
+
generator.build_particle(:direction)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
generator = Genesis.generator
|
|
4
|
+
|
|
5
|
+
generator.build_particle(:renderers)
|
|
6
|
+
generator.build_particle(:code)
|
|
7
|
+
generator.build_particle(:run) do |params|
|
|
8
|
+
code_found = @atome[:code]
|
|
9
|
+
instance_exec(params, &code_found) if code_found.is_a?(Proc)
|
|
10
|
+
end
|
|
11
|
+
generator.build_particle(:broadcast)
|
|
12
|
+
generator.build_particle(:additional)
|
|
13
|
+
generator.build_particle(:data)
|
|
14
|
+
generator.build_particle(:delete) do
|
|
15
|
+
Universe.delete(@atome[:id])
|
|
16
|
+
end
|
|
17
|
+
generator.build_particle(:clear)
|
|
18
|
+
generator.build_particle(:path)
|
|
19
|
+
generator.build_particle(:schedule) do |date, proc|
|
|
20
|
+
date = date.to_s
|
|
21
|
+
delimiters = [',', ' ', ':', '-']
|
|
22
|
+
format_date = date.split(Regexp.union(delimiters))
|
|
23
|
+
Universe.renderer_list.each do |renderer|
|
|
24
|
+
send("#{renderer}_schedule", format_date, &proc)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
generator.build_particle(:read) do |file, proc|
|
|
28
|
+
Universe.renderer_list.each do |renderer|
|
|
29
|
+
send("#{renderer}_reader", file, &proc)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# allow to access Atome class using only a uniq atome
|
|
4
|
+
class Genesis
|
|
5
|
+
class << self
|
|
6
|
+
def generator
|
|
7
|
+
Atome.new
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Genesis method here
|
|
13
|
+
class Atome
|
|
14
|
+
def build_particle(particle_name, &particle_proc)
|
|
15
|
+
# we add the new method to the particle's collection of methods
|
|
16
|
+
Universe.add_to_particle_list(particle_name)
|
|
17
|
+
auto_render_generator(particle_name)
|
|
18
|
+
new_particle(particle_name, &particle_proc)
|
|
19
|
+
additional_particle_methods(particle_name, &particle_proc)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def build_atome(atome_name, &atome_proc)
|
|
23
|
+
# we add the new method to the atome's collection of methods
|
|
24
|
+
Universe.add_to_atome_list(atome_name)
|
|
25
|
+
auto_render_generator(atome_name)
|
|
26
|
+
new_atome(atome_name, &atome_proc)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def auto_render_generator(element)
|
|
30
|
+
Universe.renderer_list.each do |render_engine|
|
|
31
|
+
build_render_method("#{render_engine}_#{element}")
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def build_render_method(renderer_name, &method_proc)
|
|
36
|
+
new_render_engine(renderer_name, &method_proc)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def build_sanitizer(method_name, &method_proc)
|
|
40
|
+
Universe.add_sanitizer_method(method_name.to_sym, &method_proc)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def build_option(method_name, &method_proc)
|
|
44
|
+
Universe.add_optional_method(method_name.to_sym, &method_proc)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# let's create the Universe
|
|
4
|
+
def eval_protection
|
|
5
|
+
binding
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
# Let's set the default's parameters according to ruby interpreter
|
|
9
|
+
if RUBY_ENGINE.downcase == 'opal'
|
|
10
|
+
Essentials.new_default_params({ render_engines: [:browser] })
|
|
11
|
+
else
|
|
12
|
+
Essentials.new_default_params({ render_engines: [:headless] })
|
|
13
|
+
eval "require 'atome/extensions/geolocation'", eval_protection, __FILE__, __LINE__
|
|
14
|
+
eval "require 'atome/extensions/ping'", eval_protection, __FILE__, __LINE__
|
|
15
|
+
eval "require 'atome/extensions/sha'", eval_protection, __FILE__, __LINE__
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# now let's get the default render engine
|
|
19
|
+
default_render = Essentials.default_params[:render_engines]
|
|
20
|
+
|
|
21
|
+
Universe.current_user = :jeezs
|
|
22
|
+
puts "application identity: #{Universe.app_identity}"
|
|
23
|
+
puts "atome version: #{Atome::VERSION}"
|
|
24
|
+
puts "current host: #{Universe.current_machine}"
|
|
25
|
+
puts "current user: #{Universe.current_user}"
|
|
26
|
+
|
|
27
|
+
Atome.new(
|
|
28
|
+
{ element: { renderers: [], id: :eDen, type: :element,
|
|
29
|
+
parents: [], children: [] } }
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
Atome.new(
|
|
33
|
+
{ element: { renderers: [], id: :user_view, type: :element,
|
|
34
|
+
parents: [:eDen], children: [] } }
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
Atome.new(
|
|
38
|
+
{ shape: { renderers: default_render, id: :view, type: :shape, parents: [:user_view], children: [],
|
|
39
|
+
left: 0, right: 0, top: 0, bottom: 0, overflow: :auto,
|
|
40
|
+
color: { renderers: default_render, id: :view_color, type: :color, parents: [:view],
|
|
41
|
+
red: 0.15, green: 0.15, blue: 0.15, alpha: 1 } } }
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
# init basic object for atome environment
|
|
45
|
+
|
|
46
|
+
# Atome.new is used to create a new atome using best performances but params must be formatted and ordered correctly
|
|
47
|
+
|
|
48
|
+
# use atome.atome to create a new atome using a more permissive syntax less performances but params must be formatted
|
|
49
|
+
# and ordered correctly
|
|
50
|
+
|
|
51
|
+
# Atome.atome ids the easiest way to create a new atome
|
|
52
|
+
# Atome.atome({
|
|
53
|
+
# shape: { left: 0, right: 0, top: 0, bottom: 0, id: :view, color: { id: :c1, render: [:headless],
|
|
54
|
+
# red: 0.15, green: 0.15, blue: 0.15, alpha: 1 } } })
|
|
55
|
+
|
|
56
|
+
# WARNING: when using Atome.new syntax , you must get your object using the .atome
|
|
57
|
+
# example to get the atome above : use a.shape.left and not a.left it wont access the physical object
|
|
58
|
+
# initialize Universe
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
# An CMYK colour object. CMYK (cyan, magenta, yellow, and black) colours are
|
|
2
|
+
# based on additive percentages of ink. A CMYK colour of (0.3, 0, 0.8, 0.3)
|
|
3
|
+
# would be mixed from 30% cyan, 0% magenta, 80% yellow, and 30% black.
|
|
4
|
+
# Primarily used in four-colour printing processes.
|
|
5
|
+
class Color::CMYK
|
|
6
|
+
include Color
|
|
7
|
+
|
|
8
|
+
# The format of a DeviceCMYK colour for PDF. In color-tools 2.0 this will
|
|
9
|
+
# be removed from this package and added back as a modification by the
|
|
10
|
+
# PDF::Writer package.
|
|
11
|
+
PDF_FORMAT_STR = "%.3f %.3f %.3f %.3f %s"
|
|
12
|
+
|
|
13
|
+
# Coerces the other Color object into CMYK.
|
|
14
|
+
def coerce(other)
|
|
15
|
+
other.to_cmyk
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
class << self
|
|
19
|
+
# Creates a CMYK colour object from fractional values 0..1.
|
|
20
|
+
#
|
|
21
|
+
# Color::CMYK.from_fraction(0.3, 0, 0.8, 0.3)
|
|
22
|
+
def from_fraction(c = 0, m = 0, y = 0, k = 0, &block)
|
|
23
|
+
new(c, m, y, k, 1.0, &block)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Creates a CMYK colour object from percentages. Internally, the colour is
|
|
27
|
+
# managed as fractional values 0..1.
|
|
28
|
+
#
|
|
29
|
+
# Color::CMYK.new(30, 0, 80, 30)
|
|
30
|
+
def from_percent(c = 0, m = 0, y = 0, k = 0, &block)
|
|
31
|
+
new(c, m, y, k, &block)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Creates a CMYK colour object from percentages. Internally, the colour is
|
|
36
|
+
# managed as fractional values 0..1.
|
|
37
|
+
#
|
|
38
|
+
# Color::CMYK.new(30, 0, 80, 30)
|
|
39
|
+
def initialize(c = 0, m = 0, y = 0, k = 0, radix = 100.0, &block) # :yields self:
|
|
40
|
+
@c, @m, @y, @k = [ c, m, y, k ].map { |v| Color.normalize(v / radix) }
|
|
41
|
+
block.call(self) if block
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Present the colour as a DeviceCMYK fill colour string for PDF. This will
|
|
45
|
+
# be removed from the default package in color-tools 2.0.
|
|
46
|
+
def pdf_fill
|
|
47
|
+
PDF_FORMAT_STR % [ @c, @m, @y, @k, "k" ]
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Present the colour as a DeviceCMYK stroke colour string for PDF. This
|
|
51
|
+
# will be removed from the default package in color-tools 2.0.
|
|
52
|
+
def pdf_stroke
|
|
53
|
+
PDF_FORMAT_STR % [ @c, @m, @y, @k, "K" ]
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Present the colour as an RGB HTML/CSS colour string (e.g., "#aabbcc").
|
|
57
|
+
# Note that this will perform a #to_rgb operation using the default
|
|
58
|
+
# conversion formula.
|
|
59
|
+
def html
|
|
60
|
+
to_rgb.html
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Present the colour as an RGB HTML/CSS colour string (e.g., "rgb(0%, 50%,
|
|
64
|
+
# 100%)"). Note that this will perform a #to_rgb operation using the
|
|
65
|
+
# default conversion formula.
|
|
66
|
+
def css_rgb
|
|
67
|
+
to_rgb.css_rgb
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Present the colour as an RGBA (with alpha) HTML/CSS colour string (e.g.,
|
|
71
|
+
# "rgb(0%, 50%, 100%, 1)"). Note that this will perform a #to_rgb
|
|
72
|
+
# operation using the default conversion formula.
|
|
73
|
+
def css_rgba(alpha = 1)
|
|
74
|
+
to_rgb.css_rgba(alpha)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Present the colour as an HSL HTML/CSS colour string (e.g., "hsl(180,
|
|
78
|
+
# 25%, 35%)"). Note that this will perform a #to_hsl operation using the
|
|
79
|
+
# default conversion formula.
|
|
80
|
+
def css_hsl
|
|
81
|
+
to_hsl.css_hsl
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Present the colour as an HSLA (with alpha) HTML/CSS colour string (e.g.,
|
|
85
|
+
# "hsla(180, 25%, 35%, 1)"). Note that this will perform a #to_hsl
|
|
86
|
+
# operation using the default conversion formula.
|
|
87
|
+
def css_hsla
|
|
88
|
+
to_hsl.css_hsla
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Converts the CMYK colour to RGB. Most colour experts strongly suggest
|
|
92
|
+
# that this is not a good idea (some even suggesting that it's a very bad
|
|
93
|
+
# idea). CMYK represents additive percentages of inks on white paper,
|
|
94
|
+
# whereas RGB represents mixed colour intensities on a black screen.
|
|
95
|
+
#
|
|
96
|
+
# However, the colour conversion can be done, and there are two different
|
|
97
|
+
# methods for the conversion that provide slightly different results.
|
|
98
|
+
# Adobe PDF conversions are done with the first form.
|
|
99
|
+
#
|
|
100
|
+
# # Adobe PDF Display Formula
|
|
101
|
+
# r = 1.0 - min(1.0, c + k)
|
|
102
|
+
# g = 1.0 - min(1.0, m + k)
|
|
103
|
+
# b = 1.0 - min(1.0, y + k)
|
|
104
|
+
#
|
|
105
|
+
# # Other
|
|
106
|
+
# r = 1.0 - (c * (1.0 - k) + k)
|
|
107
|
+
# g = 1.0 - (m * (1.0 - k) + k)
|
|
108
|
+
# b = 1.0 - (y * (1.0 - k) + k)
|
|
109
|
+
#
|
|
110
|
+
# If we have a CMYK colour of [33% 66% 83% 25%], the first method will
|
|
111
|
+
# give an approximate RGB colour of (107, 23, 0) or #6b1700. The second
|
|
112
|
+
# method will give an approximate RGB colour of (128, 65, 33) or #804121.
|
|
113
|
+
# Which is correct? Although the colours may seem to be drastically
|
|
114
|
+
# different in the RGB colour space, they are very similar colours,
|
|
115
|
+
# differing mostly in intensity. The first is a darker, slightly redder
|
|
116
|
+
# brown; the second is a lighter brown.
|
|
117
|
+
#
|
|
118
|
+
# Because of this subtlety, both methods are now offered for conversion.
|
|
119
|
+
# The Adobe method is not used by default; to enable it, pass +true+ to
|
|
120
|
+
# #to_rgb.
|
|
121
|
+
#
|
|
122
|
+
# Future versions of Color may offer other conversion mechanisms that
|
|
123
|
+
# offer greater colour fidelity, including recognition of ICC colour
|
|
124
|
+
# profiles.
|
|
125
|
+
def to_rgb(use_adobe_method = false)
|
|
126
|
+
if use_adobe_method
|
|
127
|
+
Color::RGB.from_fraction(*adobe_cmyk_rgb)
|
|
128
|
+
else
|
|
129
|
+
Color::RGB.from_fraction(*standard_cmyk_rgb)
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# Converts the CMYK colour to a single greyscale value. There are
|
|
134
|
+
# undoubtedly multiple methods for this conversion, but only a minor
|
|
135
|
+
# variant of the Adobe conversion method will be used:
|
|
136
|
+
#
|
|
137
|
+
# g = 1.0 - min(1.0, 0.299 * c + 0.587 * m + 0.114 * y + k)
|
|
138
|
+
#
|
|
139
|
+
# This treats the CMY values similarly to YIQ (NTSC) values and then adds
|
|
140
|
+
# the level of black. This is a variant of the Adobe version because it
|
|
141
|
+
# uses the more precise YIQ (NTSC) conversion values for Y (intensity)
|
|
142
|
+
# rather than the approximates provided by Adobe (0.3, 0.59, and 0.11).
|
|
143
|
+
def to_grayscale
|
|
144
|
+
c = 0.299 * @c.to_f
|
|
145
|
+
m = 0.587 * @m.to_f
|
|
146
|
+
y = 0.114 * @y.to_f
|
|
147
|
+
g = 1.0 - [1.0, c + m + y + @k].min
|
|
148
|
+
Color::GrayScale.from_fraction(g)
|
|
149
|
+
end
|
|
150
|
+
alias to_greyscale to_grayscale
|
|
151
|
+
|
|
152
|
+
def to_cmyk
|
|
153
|
+
self
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
def inspect
|
|
157
|
+
"CMYK [%.2f%%, %.2f%%, %.2f%%, %.2f%%]" % [ cyan, magenta, yellow, black ]
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# Converts to RGB then YIQ.
|
|
161
|
+
def to_yiq
|
|
162
|
+
to_rgb.to_yiq
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
# Converts to RGB then HSL.
|
|
166
|
+
def to_hsl
|
|
167
|
+
to_rgb.to_hsl
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# Returns the cyan (C) component of the CMYK colour as a percentage value.
|
|
171
|
+
def cyan
|
|
172
|
+
@c * 100.0
|
|
173
|
+
end
|
|
174
|
+
# Returns the cyan (C) component of the CMYK colour as a value in the
|
|
175
|
+
# range 0.0 .. 1.0.
|
|
176
|
+
def c
|
|
177
|
+
@c
|
|
178
|
+
end
|
|
179
|
+
# Sets the cyan (C) component of the CMYK colour as a percentage value.
|
|
180
|
+
def cyan=(cc)
|
|
181
|
+
@c = Color.normalize(cc / 100.0)
|
|
182
|
+
end
|
|
183
|
+
# Sets the cyan (C) component of the CMYK colour as a value in the range
|
|
184
|
+
# 0.0 .. 1.0.
|
|
185
|
+
def c=(cc)
|
|
186
|
+
@c = Color.normalize(cc)
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
# Returns the magenta (M) component of the CMYK colour as a percentage
|
|
190
|
+
# value.
|
|
191
|
+
def magenta
|
|
192
|
+
@m * 100.0
|
|
193
|
+
end
|
|
194
|
+
# Returns the magenta (M) component of the CMYK colour as a value in the
|
|
195
|
+
# range 0.0 .. 1.0.
|
|
196
|
+
def m
|
|
197
|
+
@m
|
|
198
|
+
end
|
|
199
|
+
# Sets the magenta (M) component of the CMYK colour as a percentage value.
|
|
200
|
+
def magenta=(mm)
|
|
201
|
+
@m = Color.normalize(mm / 100.0)
|
|
202
|
+
end
|
|
203
|
+
# Sets the magenta (M) component of the CMYK colour as a value in the
|
|
204
|
+
# range 0.0 .. 1.0.
|
|
205
|
+
def m=(mm)
|
|
206
|
+
@m = Color.normalize(mm)
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
# Returns the yellow (Y) component of the CMYK colour as a percentage
|
|
210
|
+
# value.
|
|
211
|
+
def yellow
|
|
212
|
+
@y * 100.0
|
|
213
|
+
end
|
|
214
|
+
# Returns the yellow (Y) component of the CMYK colour as a value in the
|
|
215
|
+
# range 0.0 .. 1.0.
|
|
216
|
+
def y
|
|
217
|
+
@y
|
|
218
|
+
end
|
|
219
|
+
# Sets the yellow (Y) component of the CMYK colour as a percentage value.
|
|
220
|
+
def yellow=(yy)
|
|
221
|
+
@y = Color.normalize(yy / 100.0)
|
|
222
|
+
end
|
|
223
|
+
# Sets the yellow (Y) component of the CMYK colour as a value in the range
|
|
224
|
+
# 0.0 .. 1.0.
|
|
225
|
+
def y=(kk)
|
|
226
|
+
@y = Color.normalize(kk)
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
# Returns the black (K) component of the CMYK colour as a percentage
|
|
230
|
+
# value.
|
|
231
|
+
def black
|
|
232
|
+
@k * 100.0
|
|
233
|
+
end
|
|
234
|
+
# Returns the black (K) component of the CMYK colour as a value in the
|
|
235
|
+
# range 0.0 .. 1.0.
|
|
236
|
+
def k
|
|
237
|
+
@k
|
|
238
|
+
end
|
|
239
|
+
# Sets the black (K) component of the CMYK colour as a percentage value.
|
|
240
|
+
def black=(kk)
|
|
241
|
+
@k = Color.normalize(kk / 100.0)
|
|
242
|
+
end
|
|
243
|
+
# Sets the black (K) component of the CMYK colour as a value in the range
|
|
244
|
+
# 0.0 .. 1.0.
|
|
245
|
+
def k=(kk)
|
|
246
|
+
@k = Color.normalize(kk)
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
def to_a
|
|
250
|
+
[ c, m, y, k ]
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
private
|
|
254
|
+
# Implements the Adobe PDF conversion of CMYK to RGB.
|
|
255
|
+
def adobe_cmyk_rgb
|
|
256
|
+
[ @c, @m, @y ].map { |v| 1.0 - [ 1.0, v + @k ].min }
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
# Implements the standard conversion of CMYK to RGB.
|
|
260
|
+
def standard_cmyk_rgb
|
|
261
|
+
[ @c, @m, @y ].map { |v| 1.0 - (v * (1.0 - k) + k) }
|
|
262
|
+
end
|
|
263
|
+
end
|