epall-limelight 0.5.0-java
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.
- data/bin/icons/icon.ico +0 -0
- data/bin/icons/icon_48.gif +0 -0
- data/bin/icons/limelight.icns +0 -0
- data/bin/limelight +5 -0
- data/bin/ll +10 -0
- data/bin/ll.bat +5 -0
- data/lib/init.rb +16 -0
- data/lib/limelight.jar +0 -0
- data/lib/limelight/animation.rb +41 -0
- data/lib/limelight/builtin/players.rb +16 -0
- data/lib/limelight/builtin/players/button.rb +39 -0
- data/lib/limelight/builtin/players/check_box.rb +50 -0
- data/lib/limelight/builtin/players/combo_box.rb +89 -0
- data/lib/limelight/builtin/players/combo_box_popup_list.rb +19 -0
- data/lib/limelight/builtin/players/combo_box_popup_list_item.rb +21 -0
- data/lib/limelight/builtin/players/curtains.rb +23 -0
- data/lib/limelight/builtin/players/image.rb +54 -0
- data/lib/limelight/builtin/players/password_box.rb +34 -0
- data/lib/limelight/builtin/players/radio_button.rb +65 -0
- data/lib/limelight/builtin/players/stage_mover.rb +31 -0
- data/lib/limelight/builtin/players/stage_sizer.rb +34 -0
- data/lib/limelight/builtin/players/text_area.rb +34 -0
- data/lib/limelight/builtin/players/text_box.rb +34 -0
- data/lib/limelight/builtin/styles.rb +35 -0
- data/lib/limelight/builtin/utilities_production/alert/players/alert.rb +11 -0
- data/lib/limelight/builtin/utilities_production/alert/props.rb +8 -0
- data/lib/limelight/builtin/utilities_production/alert/styles.rb +14 -0
- data/lib/limelight/builtin/utilities_production/incompatible_version/props.rb +20 -0
- data/lib/limelight/builtin/utilities_production/incompatible_version/styles.rb +12 -0
- data/lib/limelight/builtin/utilities_production/production.rb +62 -0
- data/lib/limelight/builtin/utilities_production/stages.rb +12 -0
- data/lib/limelight/builtin/utilities_production/styles.rb +53 -0
- data/lib/limelight/button_group_cache.rb +11 -0
- data/lib/limelight/casting_director.rb +112 -0
- data/lib/limelight/client/playbills.rb +86 -0
- data/lib/limelight/commands/command.rb +168 -0
- data/lib/limelight/commands/create_command.rb +98 -0
- data/lib/limelight/commands/freeze_command.rb +131 -0
- data/lib/limelight/commands/help_command.rb +61 -0
- data/lib/limelight/commands/open_command.rb +60 -0
- data/lib/limelight/commands/pack_command.rb +45 -0
- data/lib/limelight/commands/unpack_command.rb +44 -0
- data/lib/limelight/commands/version_command.rb +31 -0
- data/lib/limelight/data.rb +37 -0
- data/lib/limelight/dsl/build_exception.rb +55 -0
- data/lib/limelight/dsl/menu_bar.rb +71 -0
- data/lib/limelight/dsl/prop_builder.rb +155 -0
- data/lib/limelight/dsl/stage_builder.rb +105 -0
- data/lib/limelight/dsl/styles_builder.rb +157 -0
- data/lib/limelight/file_chooser.rb +68 -0
- data/lib/limelight/file_filter.rb +33 -0
- data/lib/limelight/file_loader.rb +46 -0
- data/lib/limelight/gems.rb +51 -0
- data/lib/limelight/java_couplings.rb +66 -0
- data/lib/limelight/java_util.rb +49 -0
- data/lib/limelight/limelight_exception.rb +24 -0
- data/lib/limelight/main.rb +108 -0
- data/lib/limelight/paint_action.rb +27 -0
- data/lib/limelight/pen.rb +83 -0
- data/lib/limelight/producer.rb +179 -0
- data/lib/limelight/production.rb +169 -0
- data/lib/limelight/prop.rb +367 -0
- data/lib/limelight/scene.rb +151 -0
- data/lib/limelight/specs/spec_helper.rb +87 -0
- data/lib/limelight/specs/test_scene_opener.rb +60 -0
- data/lib/limelight/stage.rb +292 -0
- data/lib/limelight/string.rb +38 -0
- data/lib/limelight/studio.rb +185 -0
- data/lib/limelight/styles.rb +347 -0
- data/lib/limelight/templates/production_templater.rb +49 -0
- data/lib/limelight/templates/scene_templater.rb +47 -0
- data/lib/limelight/templates/sources/freezing/limelight_init.rb.template +5 -0
- data/lib/limelight/templates/sources/production/init.rb.template +15 -0
- data/lib/limelight/templates/sources/production/production.rb.template +49 -0
- data/lib/limelight/templates/sources/production/spec/spec_helper.rb.template +12 -0
- data/lib/limelight/templates/sources/production/stages.rb.template +17 -0
- data/lib/limelight/templates/sources/production/styles.rb.template +12 -0
- data/lib/limelight/templates/sources/scene/props.rb.template +6 -0
- data/lib/limelight/templates/sources/scene/styles.rb.template +18 -0
- data/lib/limelight/templates/sources/scene_spec/scene_spec.rb.template +13 -0
- data/lib/limelight/templates/templater.rb +131 -0
- data/lib/limelight/templates/templater_logger.rb +39 -0
- data/lib/limelight/theater.rb +77 -0
- data/lib/limelight/util.rb +65 -0
- data/lib/limelight/util/downloader.rb +115 -0
- data/lib/limelight/version.rb +20 -0
- data/productions/examples/8thlight.com/about/about.txt +24 -0
- data/productions/examples/8thlight.com/about/props.rb +11 -0
- data/productions/examples/8thlight.com/about/styles.rb +2 -0
- data/productions/examples/8thlight.com/footer.rb +6 -0
- data/productions/examples/8thlight.com/home/props.rb +28 -0
- data/productions/examples/8thlight.com/home/styles.rb +2 -0
- data/productions/examples/8thlight.com/images/anvil.jpg +0 -0
- data/productions/examples/8thlight.com/images/bg.jpg +0 -0
- data/productions/examples/8thlight.com/images/botticelli.jpg +0 -0
- data/productions/examples/8thlight.com/images/button_bg.jpg +0 -0
- data/productions/examples/8thlight.com/images/canvas_bg.jpg +0 -0
- data/productions/examples/8thlight.com/images/footer_bg.jpg +0 -0
- data/productions/examples/8thlight.com/images/header.jpg +0 -0
- data/productions/examples/8thlight.com/images/moses.jpg +0 -0
- data/productions/examples/8thlight.com/images/statemachine_thumbnail.png +0 -0
- data/productions/examples/8thlight.com/images/thumbnail_book.jpg +0 -0
- data/productions/examples/8thlight.com/menu.rb +11 -0
- data/productions/examples/8thlight.com/services/props.rb +11 -0
- data/productions/examples/8thlight.com/services/services.txt +8 -0
- data/productions/examples/8thlight.com/services/styles.rb +2 -0
- data/productions/examples/8thlight.com/stages.rb +8 -0
- data/productions/examples/8thlight.com/styles.rb +210 -0
- data/productions/examples/calculator/players/button.rb +24 -0
- data/productions/examples/calculator/players/calculator.rb +15 -0
- data/productions/examples/calculator/players/calculator_model.rb +13 -0
- data/productions/examples/calculator/props.rb +23 -0
- data/productions/examples/calculator/styles.rb +36 -0
- data/productions/examples/langstons_ant/html_javascript/ant.css +39 -0
- data/productions/examples/langstons_ant/html_javascript/ant.html +22 -0
- data/productions/examples/langstons_ant/html_javascript/ant.js +23 -0
- data/productions/examples/langstons_ant/init.rb +4 -0
- data/productions/examples/langstons_ant/players/ant.rb +103 -0
- data/productions/examples/langstons_ant/players/log.rb +29 -0
- data/productions/examples/langstons_ant/players/start_stop_button.rb +37 -0
- data/productions/examples/langstons_ant/players/world.rb +35 -0
- data/productions/examples/langstons_ant/props.rb +22 -0
- data/productions/examples/langstons_ant/styles.rb +104 -0
- data/productions/examples/sandbox/alerts/incompatible_production/default_scene/props.rb +10 -0
- data/productions/examples/sandbox/alerts/incompatible_production/default_scene/styles.rb +32 -0
- data/productions/examples/sandbox/alerts/incompatible_production/production.rb +52 -0
- data/productions/examples/sandbox/alerts/incompatible_production/spec/default_scene/default_scene_spec.rb +16 -0
- data/productions/examples/sandbox/alerts/incompatible_production/spec/spec_helper.rb +8 -0
- data/productions/examples/sandbox/alerts/incompatible_production/stages.rb +20 -0
- data/productions/examples/sandbox/alerts/incompatible_production/styles.rb +15 -0
- data/productions/examples/sandbox/alerts/players/alerts.rb +17 -0
- data/productions/examples/sandbox/alerts/props.rb +10 -0
- data/productions/examples/sandbox/alerts/styles.rb +46 -0
- data/productions/examples/sandbox/background_images/props.rb +22 -0
- data/productions/examples/sandbox/background_images/styles.rb +40 -0
- data/productions/examples/sandbox/click_me/players/chromaton.rb +52 -0
- data/productions/examples/sandbox/click_me/props.rb +8 -0
- data/productions/examples/sandbox/click_me/styles.rb +11 -0
- data/productions/examples/sandbox/floaters/players/floater.rb +108 -0
- data/productions/examples/sandbox/floaters/players/surface.rb +21 -0
- data/productions/examples/sandbox/floaters/props.rb +10 -0
- data/productions/examples/sandbox/floaters/styles.rb +24 -0
- data/productions/examples/sandbox/frameing/players/sandbox.rb +17 -0
- data/productions/examples/sandbox/frameing/props.rb +35 -0
- data/productions/examples/sandbox/frameing/styles.rb +45 -0
- data/productions/examples/sandbox/gradients/players/spinner.rb +20 -0
- data/productions/examples/sandbox/gradients/players/teaser.rb +19 -0
- data/productions/examples/sandbox/gradients/players/wave.rb +19 -0
- data/productions/examples/sandbox/gradients/players/waves.rb +19 -0
- data/productions/examples/sandbox/gradients/props.rb +13 -0
- data/productions/examples/sandbox/gradients/styles.rb +47 -0
- data/productions/examples/sandbox/header.rb +22 -0
- data/productions/examples/sandbox/homer/players/homer.rb +24 -0
- data/productions/examples/sandbox/homer/props.rb +10 -0
- data/productions/examples/sandbox/homer/styles.rb +16 -0
- data/productions/examples/sandbox/images/arch.jpg +0 -0
- data/productions/examples/sandbox/images/beach.jpg +0 -0
- data/productions/examples/sandbox/images/homer.jpg +0 -0
- data/productions/examples/sandbox/images/limelight_spotlight.jpg +0 -0
- data/productions/examples/sandbox/images/logo.png +0 -0
- data/productions/examples/sandbox/images/marilyn.jpg +0 -0
- data/productions/examples/sandbox/images/space.png +0 -0
- data/productions/examples/sandbox/images_scene/props.rb +36 -0
- data/productions/examples/sandbox/images_scene/styles.rb +34 -0
- data/productions/examples/sandbox/inputs/players/button_input.rb +48 -0
- data/productions/examples/sandbox/inputs/players/check_box_input.rb +40 -0
- data/productions/examples/sandbox/inputs/players/combo_box_input.rb +41 -0
- data/productions/examples/sandbox/inputs/players/radio_button_input.rb +43 -0
- data/productions/examples/sandbox/inputs/players/text_area_input.rb +36 -0
- data/productions/examples/sandbox/inputs/players/text_box_input.rb +36 -0
- data/productions/examples/sandbox/inputs/props.rb +40 -0
- data/productions/examples/sandbox/inputs/styles.rb +39 -0
- data/productions/examples/sandbox/kiosk/players/kiosk.rb +39 -0
- data/productions/examples/sandbox/kiosk/props.rb +9 -0
- data/productions/examples/sandbox/kiosk/styles.rb +37 -0
- data/productions/examples/sandbox/players/sandbox.rb +11 -0
- data/productions/examples/sandbox/rounded_corners/players/box.rb +11 -0
- data/productions/examples/sandbox/rounded_corners/props.rb +22 -0
- data/productions/examples/sandbox/rounded_corners/styles.rb +17 -0
- data/productions/examples/sandbox/scrolling/players/add_button.rb +19 -0
- data/productions/examples/sandbox/scrolling/players/cell.rb +15 -0
- data/productions/examples/sandbox/scrolling/props.rb +45 -0
- data/productions/examples/sandbox/scrolling/styles.rb +33 -0
- data/productions/examples/sandbox/sketching/players/sketchpad.rb +46 -0
- data/productions/examples/sandbox/sketching/props.rb +25 -0
- data/productions/examples/sandbox/sketching/styles.rb +35 -0
- data/productions/examples/sandbox/sounds/bird.au +0 -0
- data/productions/examples/sandbox/sounds/cat.au +0 -0
- data/productions/examples/sandbox/sounds/cow.au +0 -0
- data/productions/examples/sandbox/sounds/dog.au +0 -0
- data/productions/examples/sandbox/sounds/donkey.au +0 -0
- data/productions/examples/sandbox/sounds/duck.au +0 -0
- data/productions/examples/sandbox/sounds/players/clip.rb +10 -0
- data/productions/examples/sandbox/sounds/props.rb +10 -0
- data/productions/examples/sandbox/sounds/styles.rb +17 -0
- data/productions/examples/sandbox/spec/alerts/alerts_spec.rb +16 -0
- data/productions/examples/sandbox/stage_handles/players/sizer.rb +35 -0
- data/productions/examples/sandbox/stage_handles/props.rb +17 -0
- data/productions/examples/sandbox/stage_handles/styles.rb +58 -0
- data/productions/examples/sandbox/stages.rb +8 -0
- data/productions/examples/sandbox/styles.rb +35 -0
- data/productions/examples/sandbox/teaser/players/fader.rb +58 -0
- data/productions/examples/sandbox/teaser/props.rb +14 -0
- data/productions/examples/sandbox/teaser/styles.rb +21 -0
- data/productions/examples/tutorials/tutorial_1/players/sample.rb +11 -0
- data/productions/examples/tutorials/tutorial_1/props.rb +9 -0
- data/productions/examples/tutorials/tutorial_1/styles.rb +25 -0
- data/productions/playbills.lll +1 -0
- data/productions/stage_composer/init.rb +10 -0
- data/productions/stage_composer/inspector/players/inspector.rb +80 -0
- data/productions/stage_composer/inspector/players/prop_row.rb +12 -0
- data/productions/stage_composer/inspector/players/prop_tree.rb +33 -0
- data/productions/stage_composer/inspector/players/style_table.rb +12 -0
- data/productions/stage_composer/inspector/players/style_value.rb +16 -0
- data/productions/stage_composer/inspector/props.rb +19 -0
- data/productions/stage_composer/inspector/styles.rb +71 -0
- data/productions/stage_composer/lib/init.rb +5 -0
- data/productions/stage_composer/lib/limelight/composer/controller.rb +51 -0
- data/productions/stage_composer/lib/limelight/composer/lethargy.rb +24 -0
- data/productions/stage_composer/production.rb +6 -0
- data/productions/stage_composer/stages.rb +15 -0
- data/productions/startup/images/logo.png +0 -0
- data/productions/startup/images/splash.png +0 -0
- data/productions/startup/production.rb +52 -0
- data/productions/startup/spec/default_scene/default_scene_spec.rb +16 -0
- data/productions/startup/spec/spec_helper.rb +8 -0
- data/productions/startup/stages.rb +9 -0
- data/productions/startup/styles.rb +15 -0
- data/productions/startup/welcome/players/browse_button.rb +10 -0
- data/productions/startup/welcome/players/download_button.rb +17 -0
- data/productions/startup/welcome/players/sandbox_button.rb +11 -0
- data/productions/startup/welcome/props.rb +23 -0
- data/productions/startup/welcome/styles.rb +103 -0
- data/spec/limelight/builtin/players/button_spec.rb +20 -0
- data/spec/limelight/builtin/players/check_box_spec.rb +29 -0
- data/spec/limelight/builtin/players/combo_box_spec.rb +29 -0
- data/spec/limelight/builtin/players/image_spec.rb +43 -0
- data/spec/limelight/builtin/players/password_box_spec.rb +27 -0
- data/spec/limelight/builtin/players/radio_button_spec.rb +64 -0
- data/spec/limelight/builtin/players/stage_mover_spec.rb +36 -0
- data/spec/limelight/builtin/players/stage_sizer_spec.rb +40 -0
- data/spec/limelight/builtin/players/text_area_spec.rb +27 -0
- data/spec/limelight/builtin/players/text_box_spec.rb +27 -0
- data/spec/limelight/builtin/utilities_production/spec_helper.rb +7 -0
- data/spec/limelight/builtin/utilities_production/utilities_production_spec.rb +146 -0
- data/spec/limelight/casting_director_spec.rb +164 -0
- data/spec/limelight/client/playbills_spec.rb +79 -0
- data/spec/limelight/commands/command_spec.rb +26 -0
- data/spec/limelight/commands/create_command_spec.rb +108 -0
- data/spec/limelight/commands/freeze_command_spec.rb +143 -0
- data/spec/limelight/commands/help_command_spec.rb +42 -0
- data/spec/limelight/commands/open_command_spec.rb +52 -0
- data/spec/limelight/commands/pack_command_spec.rb +26 -0
- data/spec/limelight/commands/unpack_command_spec.rb +47 -0
- data/spec/limelight/data_spec.rb +36 -0
- data/spec/limelight/dsl/prop_builder_spec.rb +245 -0
- data/spec/limelight/dsl/stage_builder_spec.rb +90 -0
- data/spec/limelight/dsl/styles_builder_spec.rb +194 -0
- data/spec/limelight/file_chooser_spec.rb +64 -0
- data/spec/limelight/file_filter_spec.rb +29 -0
- data/spec/limelight/file_loader_spec.rb +28 -0
- data/spec/limelight/gems_spec.rb +92 -0
- data/spec/limelight/java_util_spec.rb +37 -0
- data/spec/limelight/main_spec.rb +40 -0
- data/spec/limelight/paint_action_spec.rb +30 -0
- data/spec/limelight/pen_spec.rb +62 -0
- data/spec/limelight/producer_spec.rb +210 -0
- data/spec/limelight/production_spec.rb +100 -0
- data/spec/limelight/prop_spec.rb +431 -0
- data/spec/limelight/scene_spec.rb +173 -0
- data/spec/limelight/stage_spec.rb +202 -0
- data/spec/limelight/string_spec.rb +38 -0
- data/spec/limelight/studio_spec.rb +157 -0
- data/spec/limelight/styles_spec.rb +53 -0
- data/spec/limelight/templates/production_templater_spec.rb +66 -0
- data/spec/limelight/templates/scene_templater_spec.rb +51 -0
- data/spec/limelight/templates/templater_logger_spec.rb +41 -0
- data/spec/limelight/templates/templater_spec.rb +107 -0
- data/spec/limelight/theater_spec.rb +72 -0
- data/spec/limelight/util/downloader_spec.rb +92 -0
- data/spec/spec_helper.rb +70 -0
- metadata +335 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
# This file (props.rb) defines all the props that appear in a scene when loaded. It makes use of the
|
|
5
|
+
# PropBuilder DSL.
|
|
6
|
+
#
|
|
7
|
+
# For more information see: http://limelightwiki.8thlight.com/index.php/A_Cook%27s_Tour_of_Limelight#PropBuilder_DSL
|
|
8
|
+
|
|
9
|
+
root :text => "This production is forever incompatible with the current version of Limelight (for testing purposes)."
|
|
10
|
+
close_button :id => "close_button", :text => "Close this Scene", :on_mouse_clicked => "scene.stage.close"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
# This file, (styles.rb) inside a scene, should define any styles specific to the containing scene.
|
|
5
|
+
# It makes use of the StyleBuilder DSL.
|
|
6
|
+
#
|
|
7
|
+
# For more information see: http://limelightwiki.8thlight.com/index.php/A_Cook%27s_Tour_of_Limelight#Styling_with_styles.rb
|
|
8
|
+
# For a complete listing of style attributes see: http://limelightwiki.8thlight.com/index.php/Style_Attributes
|
|
9
|
+
|
|
10
|
+
default_scene {
|
|
11
|
+
background_color :black
|
|
12
|
+
horizontal_alignment :center
|
|
13
|
+
vertical_alignment :center
|
|
14
|
+
width "100%"
|
|
15
|
+
height "100%"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
root {
|
|
19
|
+
text_color :white
|
|
20
|
+
font_size 18
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
close_button {
|
|
24
|
+
text_color :blue
|
|
25
|
+
border_color :blue
|
|
26
|
+
padding 5
|
|
27
|
+
border_width 1
|
|
28
|
+
hover {
|
|
29
|
+
text_color :white
|
|
30
|
+
border_color :white
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
# This file (production.rb) is the first file loaded opening a production. It must define a module named 'Production'.
|
|
5
|
+
# The containing production will acquire all the behavior defined in this module.
|
|
6
|
+
# You may define serveral hooks and initialization steps here.
|
|
7
|
+
|
|
8
|
+
module Production
|
|
9
|
+
|
|
10
|
+
# # Define this method if you want the production name to be different from the default, directory name.
|
|
11
|
+
# def name
|
|
12
|
+
# return Incompatible Production
|
|
13
|
+
# end
|
|
14
|
+
#
|
|
15
|
+
# # Returns the minimum version of limelight required to run this production. Default: "0.0.0"
|
|
16
|
+
# # If the version of limelight used to open this production is less than the minimum,
|
|
17
|
+
# # an error will be displayed (starting with version 0.4.0).
|
|
18
|
+
# #
|
|
19
|
+
def minimum_limelight_version
|
|
20
|
+
return "99.99.99"
|
|
21
|
+
end
|
|
22
|
+
#
|
|
23
|
+
# # Hook #1. Called when the production is newly created, before any loading has been done.
|
|
24
|
+
# # This is a good place to require needed files and instantiate objects in the busines layer.
|
|
25
|
+
# def production_opening
|
|
26
|
+
# end
|
|
27
|
+
#
|
|
28
|
+
# # Hook #2. Called after internal gems have been loaded and stages have been instantiated, yet before
|
|
29
|
+
# # any scenes have been opened.
|
|
30
|
+
# def production_loaded
|
|
31
|
+
# end
|
|
32
|
+
#
|
|
33
|
+
# # Hook #3. Called when the production, and all the scenes, have fully opened.
|
|
34
|
+
# def production_opened
|
|
35
|
+
# end
|
|
36
|
+
#
|
|
37
|
+
# # The system will call this methods when it wishes to close the production, perhaps when the user quits the
|
|
38
|
+
# # application. By default the production will always return true. You may override this behavior by re-implenting
|
|
39
|
+
# # the methods here.
|
|
40
|
+
# def allow_close?
|
|
41
|
+
# return true
|
|
42
|
+
# end
|
|
43
|
+
#
|
|
44
|
+
# # Called when the production is about to be closed.
|
|
45
|
+
# def production_closing
|
|
46
|
+
# end
|
|
47
|
+
#
|
|
48
|
+
# # Called when the production is fully closed.
|
|
49
|
+
# def production_closed
|
|
50
|
+
# end
|
|
51
|
+
|
|
52
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
5
|
+
|
|
6
|
+
describe "Default Scene" do
|
|
7
|
+
|
|
8
|
+
uses_scene "default_scene", :hidden => true
|
|
9
|
+
|
|
10
|
+
it "should have default text" do
|
|
11
|
+
scene.children.size.should == 1
|
|
12
|
+
root = scene.children[0]
|
|
13
|
+
root.text.should == "This is the Default Scene scene."
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
require 'rubygems'
|
|
5
|
+
require 'spec'
|
|
6
|
+
require 'limelight/specs/spec_helper'
|
|
7
|
+
|
|
8
|
+
$PRODUCTION_PATH = File.expand_path(File.dirname(__FILE__) + "/../")
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
# This file (stages.rb) is used to define the stages within your production.
|
|
5
|
+
#
|
|
6
|
+
# Below is an example statge configuration.
|
|
7
|
+
#
|
|
8
|
+
# stage "center_stage" do
|
|
9
|
+
# default_scene "main"
|
|
10
|
+
# title "Limelight Center Stage"
|
|
11
|
+
# location [0, 0]
|
|
12
|
+
# size [300, 800]
|
|
13
|
+
# end
|
|
14
|
+
|
|
15
|
+
stage "default" do
|
|
16
|
+
default_scene "default_scene"
|
|
17
|
+
title "Limelight"
|
|
18
|
+
location [200, 25]
|
|
19
|
+
size [800, 800]
|
|
20
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
# This file, (styles.rb) in the root directory of the production, should define any styles that are used in multiple
|
|
5
|
+
# scenes. It makes use of the StyleBuilder DSL.
|
|
6
|
+
#
|
|
7
|
+
# For more information see: http://limelightwiki.8thlight.com/index.php/A_Cook%27s_Tour_of_Limelight#Styling_with_styles.rb
|
|
8
|
+
# For a complete listing of style attributes see: http://limelightwiki.8thlight.com/index.php/Style_Attributes
|
|
9
|
+
|
|
10
|
+
# An example style definition
|
|
11
|
+
#foo {
|
|
12
|
+
# width 100
|
|
13
|
+
# height 100
|
|
14
|
+
# background_color :blue
|
|
15
|
+
#}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
module Alerts
|
|
5
|
+
|
|
6
|
+
prop_reader :message_input
|
|
7
|
+
|
|
8
|
+
def open_alert
|
|
9
|
+
stage.alert(message_input.text)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def open_incompatible_production
|
|
13
|
+
production_path = File.join(path, "incompatible_production")
|
|
14
|
+
Thread.new { Limelight::Studio.open(production_path) }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
__install "header.rb"
|
|
5
|
+
arena do
|
|
6
|
+
label :text => "Alert Message:"
|
|
7
|
+
message_input :id => "message_input", :text => "Sample Message", :players => "text_area"
|
|
8
|
+
action :id => "alert_action", :text => "Open Alert", :on_mouse_clicked => "scene.open_alert"
|
|
9
|
+
action :id => "incompatible_version_action", :text => "Open Incompatible Production", :on_mouse_clicked => "scene.open_incompatible_production"
|
|
10
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
# This file, (styles.rb) inside a scene, should define any styles specific to the containing scene.
|
|
5
|
+
# It makes use of the StyleBuilder DSL.
|
|
6
|
+
#
|
|
7
|
+
# For more information see: http://limelightwiki.8thlight.com/index.php/A_Cook%27s_Tour_of_Limelight#Styling_with_styles.rb
|
|
8
|
+
# For a complete listing of style attributes see: http://limelightwiki.8thlight.com/index.php/Style_Attributes
|
|
9
|
+
|
|
10
|
+
alerts {
|
|
11
|
+
background_color :black
|
|
12
|
+
horizontal_alignment :center
|
|
13
|
+
vertical_alignment :top
|
|
14
|
+
width "100%"
|
|
15
|
+
height "100%"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
action {
|
|
19
|
+
width "100%"
|
|
20
|
+
height 100
|
|
21
|
+
margin 25
|
|
22
|
+
left_margin "30%"
|
|
23
|
+
right_margin "30%"
|
|
24
|
+
background_color :white
|
|
25
|
+
border_color :gray
|
|
26
|
+
border_width 2
|
|
27
|
+
rounded_corner_radius 10
|
|
28
|
+
horizontal_alignment :center
|
|
29
|
+
vertical_alignment :center
|
|
30
|
+
text_color :gray
|
|
31
|
+
font_size 20
|
|
32
|
+
hover {
|
|
33
|
+
secondary_background_color :blue
|
|
34
|
+
gradient :on
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
label {
|
|
40
|
+
text_color :white
|
|
41
|
+
right_padding 10
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
message_input {
|
|
45
|
+
width 300
|
|
46
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
__ :name => "sandbox"
|
|
5
|
+
__install "header.rb"
|
|
6
|
+
arena :vertical_alignment => :center do
|
|
7
|
+
control_panel do
|
|
8
|
+
setting do
|
|
9
|
+
label :text => "Background Image Fill Strategy:"
|
|
10
|
+
input :players => "combo_box", :choices => %w{repeat repeat_x repeat_y static scale scale_x scale_y}, :on_value_changed => "scene.find('area').style.background_image_fill_strategy = text"
|
|
11
|
+
end
|
|
12
|
+
setting do
|
|
13
|
+
label :text => "Background Image X"
|
|
14
|
+
input :players => "combo_box", :choices => %w{0 5 25 125 625 left center right 10% 20% 50% 80% 90%}, :on_value_changed => "scene.find('area').style.background_image_x = text"
|
|
15
|
+
end
|
|
16
|
+
setting do
|
|
17
|
+
label :text => "Background Image Y"
|
|
18
|
+
input :players => "combo_box", :choices => %w{0 5 25 125 625 top center bottom 10% 20% 50% 80% 90%}, :on_value_changed => "scene.find('area').style.background_image_y = text"
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
image_area :id => "area", :text => "Area with Background Image"
|
|
22
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
control_panel {
|
|
5
|
+
width "100%"
|
|
6
|
+
background_color :gray
|
|
7
|
+
secondary_background_color :dark_green
|
|
8
|
+
gradient_angle 270
|
|
9
|
+
gradient :on
|
|
10
|
+
horizontal_alignment :center
|
|
11
|
+
padding 10
|
|
12
|
+
bottom_margin 30
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
setting {
|
|
16
|
+
width 140
|
|
17
|
+
left_margin 20
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
label {
|
|
21
|
+
text_color :white
|
|
22
|
+
font_style "bold"
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
image_area {
|
|
26
|
+
width "80%"
|
|
27
|
+
height "80%"
|
|
28
|
+
alignment :center
|
|
29
|
+
border_width 1
|
|
30
|
+
border_color :black
|
|
31
|
+
background_image "images/space.png"
|
|
32
|
+
text_color :light_grey
|
|
33
|
+
font_size 30
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
logo {
|
|
37
|
+
border_width 1
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
puts "Chromaton required"
|
|
5
|
+
|
|
6
|
+
module Chromaton
|
|
7
|
+
|
|
8
|
+
attr_accessor :clicks
|
|
9
|
+
|
|
10
|
+
def self.extended(extended_block)
|
|
11
|
+
puts "Chromaton extended"
|
|
12
|
+
extended_block.clicks = 0
|
|
13
|
+
extended_block.text = "Click Me!"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def mouse_clicked(e)
|
|
17
|
+
@clicks += 1
|
|
18
|
+
new_random_color
|
|
19
|
+
new_random_size
|
|
20
|
+
update_text
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
private
|
|
24
|
+
|
|
25
|
+
def new_random_color
|
|
26
|
+
r = rand(255)
|
|
27
|
+
g = rand(255)
|
|
28
|
+
b = rand(255)
|
|
29
|
+
@new_color = "##{as_2_digit_hex(r)}#{as_2_digit_hex(g)}#{as_2_digit_hex(b)}"
|
|
30
|
+
style.background_color = @new_color
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def as_2_digit_hex(number)
|
|
34
|
+
value = sprintf("%x", number)
|
|
35
|
+
value << "0" if value.length == 1
|
|
36
|
+
return value;
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def new_random_size
|
|
40
|
+
@size = rand(500) + 50
|
|
41
|
+
style.width = @size
|
|
42
|
+
style.height = @size
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def update_text
|
|
46
|
+
new_text = "Clicks: #{@clicks}"
|
|
47
|
+
new_text << "\nColor: #{@new_color}"
|
|
48
|
+
new_text << "\nSize: #{@size}"
|
|
49
|
+
self.text = new_text
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
chromaton {
|
|
5
|
+
width 100
|
|
6
|
+
height 100
|
|
7
|
+
background_color :red
|
|
8
|
+
text_color :white
|
|
9
|
+
font_size 12
|
|
10
|
+
alignment :center
|
|
11
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
module Floater
|
|
5
|
+
|
|
6
|
+
FRICTION = 0.1
|
|
7
|
+
MAX_DISTANCE = 85
|
|
8
|
+
|
|
9
|
+
attr_reader :sliding
|
|
10
|
+
|
|
11
|
+
def mouse_clicked(e)
|
|
12
|
+
puts "You caught " + text
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def width
|
|
16
|
+
@width = style.width.to_i if @width.nil?
|
|
17
|
+
return @width
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def x
|
|
21
|
+
@x = (style.x.to_i + width/2) if @x.nil?
|
|
22
|
+
return @x
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def new_x=(value)
|
|
26
|
+
@x = value
|
|
27
|
+
@x = @min_x if @x < @min_x
|
|
28
|
+
@x = @max_x if @x > @max_x
|
|
29
|
+
style.x = (@x.to_i - width/2)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def y
|
|
33
|
+
@y = (style.y.to_i + width/2) if @y.nil?
|
|
34
|
+
return @y
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def new_y=(value)
|
|
38
|
+
@y = value
|
|
39
|
+
@y = @min_y if @y < @min_y
|
|
40
|
+
@y = @max_y if @y > @max_y
|
|
41
|
+
style.y = (@y.to_i - width/2)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def center
|
|
45
|
+
return x, y
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def get_away_from(source_x, source_y)
|
|
49
|
+
return if @sliding
|
|
50
|
+
d = distance(x, y, source_x, source_y)
|
|
51
|
+
return if d > MAX_DISTANCE
|
|
52
|
+
calculate_vector(source_x, source_y)
|
|
53
|
+
|
|
54
|
+
@sliding = true
|
|
55
|
+
@animation = animate(:updates_per_second => 30) do
|
|
56
|
+
begin
|
|
57
|
+
slide
|
|
58
|
+
rescue Exception => e
|
|
59
|
+
puts e
|
|
60
|
+
puts e.backtrace
|
|
61
|
+
@animation.stop
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def calculate_vector(sx, sy)
|
|
67
|
+
dx = (x - sx)
|
|
68
|
+
dy = (y - sy)
|
|
69
|
+
abs_delta = (dx.abs + dy.abs).to_f
|
|
70
|
+
@x_coefficient = dx / abs_delta
|
|
71
|
+
@y_coefficient = dy / abs_delta
|
|
72
|
+
@velocity = 20
|
|
73
|
+
find_bounds if @max_x.nil?
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def slide
|
|
77
|
+
if @velocity > 1
|
|
78
|
+
@x_coefficient *= -1 if(x <= @min_x || x >= @max_x)
|
|
79
|
+
@y_coefficient *= -1 if(y <= @min_y || y >= @max_y)
|
|
80
|
+
x2 = x + (@x_coefficient * @velocity)
|
|
81
|
+
y2 = y + (@y_coefficient * @velocity)
|
|
82
|
+
self.new_x = x2
|
|
83
|
+
self.new_y = y2
|
|
84
|
+
@velocity -= @velocity * FRICTION
|
|
85
|
+
else
|
|
86
|
+
@sliding = false
|
|
87
|
+
|
|
88
|
+
@animation.stop
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def find_bounds
|
|
93
|
+
@min_x = width/2
|
|
94
|
+
@min_y = width/2
|
|
95
|
+
parent_width = parent.panel.width
|
|
96
|
+
parent_height = parent.panel.height
|
|
97
|
+
@max_x = parent_width - width/2
|
|
98
|
+
@max_y = parent_height - width/2
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def distance(x1, y1, x2, y2)
|
|
102
|
+
dx = x1 - x2
|
|
103
|
+
dy = y1 - y2
|
|
104
|
+
d = Math.sqrt(dx*dx + dy*dy)
|
|
105
|
+
return d
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
end
|