limelight 0.5.5-java → 0.6.14-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/LICENSE +19 -0
- data/bin/limelight +7 -3
- data/ruby/lib/limelight-rb.jar +0 -0
- data/ruby/lib/limelight.jar +0 -0
- data/ruby/lib/limelight.rb +48 -0
- data/{lib → ruby/lib}/limelight/animation.rb +3 -3
- data/ruby/lib/limelight/builtin/players.rb +21 -0
- data/ruby/lib/limelight/builtin/players/button.rb +7 -0
- data/ruby/lib/limelight/builtin/players/check_box.rb +24 -0
- data/ruby/lib/limelight/builtin/players/combo_box.rb +50 -0
- data/ruby/lib/limelight/builtin/players/curtains.rb +12 -0
- data/ruby/lib/limelight/builtin/players/image.rb +38 -0
- data/ruby/lib/limelight/builtin/players/radio_button.rb +36 -0
- data/ruby/lib/limelight/builtin/players/stage_mover.rb +19 -0
- data/ruby/lib/limelight/builtin/players/stage_sizer.rb +23 -0
- data/ruby/lib/limelight/builtin/players/text_area.rb +10 -0
- data/ruby/lib/limelight/builtin/players/text_box.rb +10 -0
- data/{lib → ruby/lib}/limelight/dsl/build_exception.rb +2 -2
- data/{lib → ruby/lib}/limelight/dsl/menu_bar.rb +3 -3
- data/{lib → ruby/lib}/limelight/dsl/prop_builder.rb +25 -16
- data/{lib → ruby/lib}/limelight/dsl/stage_builder.rb +4 -4
- data/{lib → ruby/lib}/limelight/dsl/styles_builder.rb +14 -18
- data/{lib → ruby/lib}/limelight/file_chooser.rb +10 -10
- data/{lib → ruby/lib}/limelight/file_filter.rb +6 -6
- data/ruby/lib/limelight/java_couplings.rb +70 -0
- data/{lib → ruby/lib}/limelight/java_util.rb +6 -6
- data/{lib → ruby/lib}/limelight/limelight_exception.rb +3 -3
- data/ruby/lib/limelight/limelight_init.rb +24 -0
- data/ruby/lib/limelight/main.rb +15 -0
- data/ruby/lib/limelight/mouse.rb +76 -0
- data/ruby/lib/limelight/optionable.rb +42 -0
- data/{lib → ruby/lib}/limelight/paint_action.rb +8 -8
- data/{lib → ruby/lib}/limelight/pen.rb +7 -7
- data/ruby/lib/limelight/player.rb +148 -0
- data/ruby/lib/limelight/player_recruiter.rb +54 -0
- data/ruby/lib/limelight/production.rb +257 -0
- data/ruby/lib/limelight/prop.rb +344 -0
- data/ruby/lib/limelight/scene.rb +120 -0
- data/ruby/lib/limelight/specs/spec_helper.rb +191 -0
- data/ruby/lib/limelight/stage.rb +268 -0
- data/ruby/lib/limelight/string.rb +32 -0
- data/{lib → ruby/lib}/limelight/studio.rb +4 -3
- data/ruby/lib/limelight/style.rb +294 -0
- data/ruby/lib/limelight/templates/sources/features/step_definitions/limelight_steps.rb.template +47 -0
- data/ruby/lib/limelight/templates/sources/features/support/env.rb.template +35 -0
- data/{lib → ruby/lib}/limelight/templates/sources/freezing/limelight_init.rb.template +0 -0
- data/{lib → ruby/lib}/limelight/templates/sources/production/production.rb.template +2 -2
- data/{lib → ruby/lib}/limelight/templates/sources/production/spec/spec_helper.rb.template +0 -0
- data/{lib → ruby/lib}/limelight/templates/sources/production/stages.rb.template +0 -0
- data/{lib → ruby/lib}/limelight/templates/sources/production/styles.rb.template +0 -0
- data/ruby/lib/limelight/templates/sources/project/Rakefile.template +15 -0
- data/ruby/lib/limelight/templates/sources/project/spec_helper.rb.template +12 -0
- data/{lib → ruby/lib}/limelight/templates/sources/scene/props.rb.template +0 -0
- data/{lib → ruby/lib}/limelight/templates/sources/scene/styles.rb.template +0 -0
- data/{lib → ruby/lib}/limelight/templates/sources/scene_spec/scene_spec.rb.template +0 -0
- data/ruby/lib/limelight/theater.rb +76 -0
- data/{lib → ruby/lib}/limelight/util.rb +6 -25
- data/ruby/lib/limelight/util/hashes.rb +39 -0
- data/ruby/lib/limelight/util/map_hash.rb +191 -0
- data/ruby/lib/limelight/util/string_hash.rb +64 -0
- metadata +97 -390
- data/bin/icons/icon.ico +0 -0
- data/bin/icons/icon_48.gif +0 -0
- data/bin/icons/limelight.icns +0 -0
- data/bin/ll +0 -10
- data/bin/ll.bat +0 -5
- data/lib/init.rb +0 -12
- data/lib/limelight.jar +0 -0
- data/lib/limelight/builtin/players.rb +0 -16
- data/lib/limelight/builtin/players/button.rb +0 -39
- data/lib/limelight/builtin/players/check_box.rb +0 -50
- data/lib/limelight/builtin/players/combo_box.rb +0 -89
- data/lib/limelight/builtin/players/combo_box_popup_list.rb +0 -19
- data/lib/limelight/builtin/players/combo_box_popup_list_item.rb +0 -21
- data/lib/limelight/builtin/players/curtains.rb +0 -23
- data/lib/limelight/builtin/players/image.rb +0 -54
- data/lib/limelight/builtin/players/password_box.rb +0 -34
- data/lib/limelight/builtin/players/radio_button.rb +0 -65
- data/lib/limelight/builtin/players/stage_mover.rb +0 -31
- data/lib/limelight/builtin/players/stage_sizer.rb +0 -34
- data/lib/limelight/builtin/players/text_area.rb +0 -34
- data/lib/limelight/builtin/players/text_box.rb +0 -34
- data/lib/limelight/builtin/styles.rb +0 -35
- data/lib/limelight/builtin/utilities_production/alert/players/alert.rb +0 -14
- data/lib/limelight/builtin/utilities_production/alert/props.rb +0 -8
- data/lib/limelight/builtin/utilities_production/alert/styles.rb +0 -14
- data/lib/limelight/builtin/utilities_production/incompatible_version/props.rb +0 -20
- data/lib/limelight/builtin/utilities_production/incompatible_version/styles.rb +0 -12
- data/lib/limelight/builtin/utilities_production/production.rb +0 -66
- data/lib/limelight/builtin/utilities_production/stages.rb +0 -12
- data/lib/limelight/builtin/utilities_production/styles.rb +0 -53
- data/lib/limelight/button_group_cache.rb +0 -11
- data/lib/limelight/casting_director.rb +0 -112
- data/lib/limelight/commands/command.rb +0 -168
- data/lib/limelight/commands/create_command.rb +0 -98
- data/lib/limelight/commands/freeze_command.rb +0 -131
- data/lib/limelight/commands/help_command.rb +0 -61
- data/lib/limelight/commands/open_command.rb +0 -60
- data/lib/limelight/commands/pack_command.rb +0 -53
- data/lib/limelight/commands/unpack_command.rb +0 -44
- data/lib/limelight/commands/version_command.rb +0 -31
- data/lib/limelight/data.rb +0 -37
- data/lib/limelight/file_loader.rb +0 -46
- data/lib/limelight/gems.rb +0 -51
- data/lib/limelight/java_couplings.rb +0 -67
- data/lib/limelight/limelight_init.rb +0 -12
- data/lib/limelight/main.rb +0 -105
- data/lib/limelight/producer.rb +0 -233
- data/lib/limelight/production.rb +0 -203
- data/lib/limelight/prop.rb +0 -367
- data/lib/limelight/scene.rb +0 -151
- data/lib/limelight/specs/spec_helper.rb +0 -136
- data/lib/limelight/specs/test_scene_opener.rb +0 -63
- data/lib/limelight/stage.rb +0 -353
- data/lib/limelight/string.rb +0 -38
- data/lib/limelight/styles/style.rb +0 -288
- data/lib/limelight/templates/production_templater.rb +0 -49
- data/lib/limelight/templates/scene_templater.rb +0 -47
- data/lib/limelight/templates/sources/production/init.rb.template +0 -15
- data/lib/limelight/templates/templater.rb +0 -131
- data/lib/limelight/templates/templater_logger.rb +0 -39
- data/lib/limelight/theater.rb +0 -109
- data/lib/limelight/util/downloader.rb +0 -115
- data/lib/limelight/version.rb +0 -20
- data/productions/examples/8thlight.com/about/about.txt +0 -24
- data/productions/examples/8thlight.com/about/props.rb +0 -11
- data/productions/examples/8thlight.com/about/styles.rb +0 -2
- data/productions/examples/8thlight.com/footer.rb +0 -6
- data/productions/examples/8thlight.com/home/props.rb +0 -28
- data/productions/examples/8thlight.com/home/styles.rb +0 -2
- 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 +0 -11
- data/productions/examples/8thlight.com/services/props.rb +0 -11
- data/productions/examples/8thlight.com/services/services.txt +0 -8
- data/productions/examples/8thlight.com/services/styles.rb +0 -2
- data/productions/examples/8thlight.com/stages.rb +0 -8
- data/productions/examples/8thlight.com/styles.rb +0 -210
- data/productions/examples/calculator/players/button.rb +0 -24
- data/productions/examples/calculator/players/calculator.rb +0 -15
- data/productions/examples/calculator/players/calculator_model.rb +0 -13
- data/productions/examples/calculator/props.rb +0 -23
- data/productions/examples/calculator/styles.rb +0 -36
- data/productions/examples/langstons_ant/html_javascript/ant.css +0 -39
- data/productions/examples/langstons_ant/html_javascript/ant.html +0 -22
- data/productions/examples/langstons_ant/html_javascript/ant.js +0 -23
- data/productions/examples/langstons_ant/init.rb +0 -4
- data/productions/examples/langstons_ant/players/ant.rb +0 -103
- data/productions/examples/langstons_ant/players/log.rb +0 -29
- data/productions/examples/langstons_ant/players/start_stop_button.rb +0 -37
- data/productions/examples/langstons_ant/players/world.rb +0 -35
- data/productions/examples/langstons_ant/props.rb +0 -22
- data/productions/examples/langstons_ant/styles.rb +0 -104
- data/productions/examples/sandbox/alerts/incompatible_production/default_scene/props.rb +0 -10
- data/productions/examples/sandbox/alerts/incompatible_production/default_scene/styles.rb +0 -32
- data/productions/examples/sandbox/alerts/incompatible_production/production.rb +0 -52
- data/productions/examples/sandbox/alerts/incompatible_production/spec/default_scene/default_scene_spec.rb +0 -16
- data/productions/examples/sandbox/alerts/incompatible_production/spec/spec_helper.rb +0 -8
- data/productions/examples/sandbox/alerts/incompatible_production/stages.rb +0 -20
- data/productions/examples/sandbox/alerts/incompatible_production/styles.rb +0 -15
- data/productions/examples/sandbox/alerts/players/alerts.rb +0 -17
- data/productions/examples/sandbox/alerts/props.rb +0 -10
- data/productions/examples/sandbox/alerts/styles.rb +0 -46
- data/productions/examples/sandbox/background_images/props.rb +0 -22
- data/productions/examples/sandbox/background_images/styles.rb +0 -40
- data/productions/examples/sandbox/click_me/players/chromaton.rb +0 -52
- data/productions/examples/sandbox/click_me/props.rb +0 -8
- data/productions/examples/sandbox/click_me/styles.rb +0 -11
- data/productions/examples/sandbox/floaters/players/floater.rb +0 -108
- data/productions/examples/sandbox/floaters/players/surface.rb +0 -21
- data/productions/examples/sandbox/floaters/props.rb +0 -10
- data/productions/examples/sandbox/floaters/styles.rb +0 -24
- data/productions/examples/sandbox/frameing/players/sandbox.rb +0 -17
- data/productions/examples/sandbox/frameing/props.rb +0 -35
- data/productions/examples/sandbox/frameing/styles.rb +0 -45
- data/productions/examples/sandbox/gradients/players/spinner.rb +0 -20
- data/productions/examples/sandbox/gradients/players/teaser.rb +0 -19
- data/productions/examples/sandbox/gradients/players/wave.rb +0 -19
- data/productions/examples/sandbox/gradients/players/waves.rb +0 -19
- data/productions/examples/sandbox/gradients/props.rb +0 -13
- data/productions/examples/sandbox/gradients/styles.rb +0 -47
- data/productions/examples/sandbox/header.rb +0 -22
- data/productions/examples/sandbox/homer/players/homer.rb +0 -24
- data/productions/examples/sandbox/homer/props.rb +0 -10
- data/productions/examples/sandbox/homer/styles.rb +0 -16
- 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 +0 -36
- data/productions/examples/sandbox/images_scene/styles.rb +0 -34
- data/productions/examples/sandbox/inputs/players/button_input.rb +0 -48
- data/productions/examples/sandbox/inputs/players/check_box_input.rb +0 -40
- data/productions/examples/sandbox/inputs/players/combo_box_input.rb +0 -41
- data/productions/examples/sandbox/inputs/players/radio_button_input.rb +0 -43
- data/productions/examples/sandbox/inputs/players/text_area_input.rb +0 -36
- data/productions/examples/sandbox/inputs/players/text_box_input.rb +0 -36
- data/productions/examples/sandbox/inputs/props.rb +0 -40
- data/productions/examples/sandbox/inputs/styles.rb +0 -39
- data/productions/examples/sandbox/kiosk/players/kiosk.rb +0 -39
- data/productions/examples/sandbox/kiosk/props.rb +0 -9
- data/productions/examples/sandbox/kiosk/styles.rb +0 -37
- data/productions/examples/sandbox/players/sandbox.rb +0 -11
- data/productions/examples/sandbox/rounded_corners/players/box.rb +0 -11
- data/productions/examples/sandbox/rounded_corners/props.rb +0 -22
- data/productions/examples/sandbox/rounded_corners/styles.rb +0 -17
- data/productions/examples/sandbox/scrolling/players/add_button.rb +0 -19
- data/productions/examples/sandbox/scrolling/players/cell.rb +0 -15
- data/productions/examples/sandbox/scrolling/props.rb +0 -45
- data/productions/examples/sandbox/scrolling/styles.rb +0 -33
- data/productions/examples/sandbox/sketching/players/sketchpad.rb +0 -46
- data/productions/examples/sandbox/sketching/props.rb +0 -25
- data/productions/examples/sandbox/sketching/styles.rb +0 -35
- 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 +0 -10
- data/productions/examples/sandbox/sounds/props.rb +0 -10
- data/productions/examples/sandbox/sounds/styles.rb +0 -17
- data/productions/examples/sandbox/spec/alerts/alerts_spec.rb +0 -16
- data/productions/examples/sandbox/stage_handles/players/sizer.rb +0 -38
- data/productions/examples/sandbox/stage_handles/props.rb +0 -17
- data/productions/examples/sandbox/stage_handles/styles.rb +0 -58
- data/productions/examples/sandbox/stages.rb +0 -8
- data/productions/examples/sandbox/styles.rb +0 -35
- data/productions/examples/sandbox/teaser/players/fader.rb +0 -58
- data/productions/examples/sandbox/teaser/props.rb +0 -14
- data/productions/examples/sandbox/teaser/styles.rb +0 -21
- data/productions/examples/tutorials/tutorial_1/players/sample.rb +0 -11
- data/productions/examples/tutorials/tutorial_1/props.rb +0 -9
- data/productions/examples/tutorials/tutorial_1/styles.rb +0 -25
- data/productions/stage_composer/init.rb +0 -10
- data/productions/stage_composer/inspector/players/inspector.rb +0 -80
- data/productions/stage_composer/inspector/players/prop_row.rb +0 -12
- data/productions/stage_composer/inspector/players/prop_tree.rb +0 -33
- data/productions/stage_composer/inspector/players/style_table.rb +0 -12
- data/productions/stage_composer/inspector/players/style_value.rb +0 -16
- data/productions/stage_composer/inspector/props.rb +0 -19
- data/productions/stage_composer/inspector/styles.rb +0 -71
- data/productions/stage_composer/lib/init.rb +0 -5
- data/productions/stage_composer/lib/limelight/composer/controller.rb +0 -51
- data/productions/stage_composer/lib/limelight/composer/lethargy.rb +0 -24
- data/productions/stage_composer/production.rb +0 -6
- data/productions/stage_composer/stages.rb +0 -15
- data/productions/startup/images/logo.png +0 -0
- data/productions/startup/images/splash.png +0 -0
- data/productions/startup/production.rb +0 -52
- data/productions/startup/spec/default_scene/default_scene_spec.rb +0 -16
- data/productions/startup/spec/spec_helper.rb +0 -8
- data/productions/startup/stages.rb +0 -9
- data/productions/startup/styles.rb +0 -15
- data/productions/startup/welcome/players/browse_button.rb +0 -10
- data/productions/startup/welcome/players/download_button.rb +0 -17
- data/productions/startup/welcome/players/sandbox_button.rb +0 -11
- data/productions/startup/welcome/props.rb +0 -23
- data/productions/startup/welcome/styles.rb +0 -103
- data/spec/limelight/builtin/players/button_spec.rb +0 -20
- data/spec/limelight/builtin/players/check_box_spec.rb +0 -29
- data/spec/limelight/builtin/players/combo_box_spec.rb +0 -29
- data/spec/limelight/builtin/players/image_spec.rb +0 -43
- data/spec/limelight/builtin/players/password_box_spec.rb +0 -27
- data/spec/limelight/builtin/players/radio_button_spec.rb +0 -64
- data/spec/limelight/builtin/players/stage_mover_spec.rb +0 -36
- data/spec/limelight/builtin/players/stage_sizer_spec.rb +0 -40
- data/spec/limelight/builtin/players/text_area_spec.rb +0 -27
- data/spec/limelight/builtin/players/text_box_spec.rb +0 -27
- data/spec/limelight/builtin/utilities_production/spec_helper.rb +0 -7
- data/spec/limelight/builtin/utilities_production/utilities_production_spec.rb +0 -147
- data/spec/limelight/casting_director_spec.rb +0 -164
- data/spec/limelight/commands/command_spec.rb +0 -26
- data/spec/limelight/commands/create_command_spec.rb +0 -108
- data/spec/limelight/commands/freeze_command_spec.rb +0 -143
- data/spec/limelight/commands/help_command_spec.rb +0 -42
- data/spec/limelight/commands/open_command_spec.rb +0 -53
- data/spec/limelight/commands/pack_command_spec.rb +0 -43
- data/spec/limelight/commands/unpack_command_spec.rb +0 -47
- data/spec/limelight/data_spec.rb +0 -36
- data/spec/limelight/dsl/prop_builder_spec.rb +0 -245
- data/spec/limelight/dsl/stage_builder_spec.rb +0 -90
- data/spec/limelight/dsl/styles_builder_spec.rb +0 -194
- data/spec/limelight/file_chooser_spec.rb +0 -64
- data/spec/limelight/file_filter_spec.rb +0 -29
- data/spec/limelight/file_loader_spec.rb +0 -28
- data/spec/limelight/gems_spec.rb +0 -92
- data/spec/limelight/java_util_spec.rb +0 -37
- data/spec/limelight/main_spec.rb +0 -40
- data/spec/limelight/paint_action_spec.rb +0 -30
- data/spec/limelight/pen_spec.rb +0 -62
- data/spec/limelight/producer_spec.rb +0 -246
- data/spec/limelight/production_spec.rb +0 -97
- data/spec/limelight/prop_spec.rb +0 -431
- data/spec/limelight/scene_spec.rb +0 -173
- data/spec/limelight/stage_spec.rb +0 -247
- data/spec/limelight/string_spec.rb +0 -38
- data/spec/limelight/templates/production_templater_spec.rb +0 -66
- data/spec/limelight/templates/scene_templater_spec.rb +0 -51
- data/spec/limelight/templates/templater_logger_spec.rb +0 -41
- data/spec/limelight/templates/templater_spec.rb +0 -107
- data/spec/limelight/theater_spec.rb +0 -120
- data/spec/limelight/util/downloader_spec.rb +0 -92
- data/spec/spec_helper.rb +0 -64
@@ -1,5 +1,5 @@
|
|
1
|
-
#- Copyright
|
2
|
-
#- Limelight and all included source files are distributed under terms of the
|
1
|
+
#- Copyright © 2008-2011 8th Light, Inc. All Rights Reserved.
|
2
|
+
#- Limelight and all included source files are distributed under terms of the MIT License.
|
3
3
|
|
4
4
|
require 'limelight/pen'
|
5
5
|
|
@@ -8,20 +8,20 @@ module Limelight
|
|
8
8
|
# A PaintAction is created by Prop.after_painting.
|
9
9
|
#
|
10
10
|
class PaintAction #:nodoc:
|
11
|
-
|
11
|
+
|
12
12
|
include UI::Painting::PaintAction
|
13
|
-
|
13
|
+
|
14
14
|
attr_reader :block
|
15
|
-
|
15
|
+
|
16
16
|
def initialize(&block)
|
17
17
|
@block = block
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
def invoke(graphics)
|
21
21
|
pen = Pen.new(graphics)
|
22
22
|
@block.call(pen)
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
end
|
@@ -1,5 +1,5 @@
|
|
1
|
-
#- Copyright
|
2
|
-
#- Limelight and all included source files are distributed under terms of the
|
1
|
+
#- Copyright © 2008-2011 8th Light, Inc. All Rights Reserved.
|
2
|
+
#- Limelight and all included source files are distributed under terms of the MIT License.
|
3
3
|
|
4
4
|
module Limelight
|
5
5
|
|
@@ -7,10 +7,10 @@ module Limelight
|
|
7
7
|
# from which the Pen was acquired.
|
8
8
|
#
|
9
9
|
# All points used by the Pen are relative to the bounds of the Prop. The top left corner of the Prop is represented
|
10
|
-
# by the point (0, 0). If a Prop has margin, border, or padding, the point (0, 0) may appear to be outside the Prop.
|
10
|
+
# by the point (0, 0). If a Prop has margin, border, or padding, the point (0, 0) may appear to be outside the Prop.
|
11
11
|
#
|
12
12
|
class Pen
|
13
|
-
|
13
|
+
|
14
14
|
attr_accessor :context
|
15
15
|
|
16
16
|
# It is constructed with a context which is essentially a java.awt.Graphic2D object. Defaults are set:
|
@@ -72,12 +72,12 @@ module Limelight
|
|
72
72
|
@context.drawOval(x, y, width, height)
|
73
73
|
end
|
74
74
|
|
75
|
-
# Fills an oval specified by the bounding rectangle. See draw_oval.
|
75
|
+
# Fills an oval specified by the bounding rectangle. See draw_oval.
|
76
76
|
#
|
77
77
|
def fill_oval(x, y, width, height)
|
78
78
|
@context.fillOval(x, y, width, height)
|
79
79
|
end
|
80
|
-
|
80
|
+
|
81
81
|
end
|
82
|
-
|
82
|
+
|
83
83
|
end
|
@@ -0,0 +1,148 @@
|
|
1
|
+
#- Copyright © 2008-2011 8th Light, Inc. All Rights Reserved.
|
2
|
+
#- Limelight and all included source files are distributed under terms of the MIT License.
|
3
|
+
|
4
|
+
module Limelight
|
5
|
+
class Player < Module
|
6
|
+
|
7
|
+
include Java::limelight.model.api.Player
|
8
|
+
|
9
|
+
def initialize(player_name, player_path)
|
10
|
+
@name = player_name
|
11
|
+
@path = player_path
|
12
|
+
@__event_cache = {}
|
13
|
+
end
|
14
|
+
|
15
|
+
def cast(prop)
|
16
|
+
prop = prop.is_a?(Limelight::Prop) ? prop : prop.proxy
|
17
|
+
unless prop.is_a?(self)
|
18
|
+
prop.extend(self)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def path
|
23
|
+
@path
|
24
|
+
end
|
25
|
+
alias getPath path
|
26
|
+
|
27
|
+
def name
|
28
|
+
@name
|
29
|
+
end
|
30
|
+
alias getName name
|
31
|
+
|
32
|
+
def applyOptions(prop, options)
|
33
|
+
# nothing to do here because options are already applied to mixed in methods
|
34
|
+
options
|
35
|
+
end
|
36
|
+
|
37
|
+
def __add_action(type, action)
|
38
|
+
actions = @__event_cache[type]
|
39
|
+
if actions == nil
|
40
|
+
actions = @__event_cache[type] = []
|
41
|
+
end
|
42
|
+
actions << action
|
43
|
+
end
|
44
|
+
|
45
|
+
def extended(prop)
|
46
|
+
on_cast_actions = @__event_cache[:on_cast]
|
47
|
+
if on_cast_actions
|
48
|
+
on_cast_actions.each do |action|
|
49
|
+
prop.instance_exec(&action)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
@__event_cache.each do |event, actions|
|
54
|
+
if actions && event != :on_cast
|
55
|
+
actions.each do |action|
|
56
|
+
prop.peer.event_handler.add(event, Proc.new { |e| prop.instance_exec(e, &action) })
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def on_cast(& action)
|
63
|
+
__add_action(:on_cast, action)
|
64
|
+
end
|
65
|
+
|
66
|
+
def on_mouse_pressed(& action)
|
67
|
+
__add_action(Java::limelight.ui.events.panel.MousePressedEvent, action)
|
68
|
+
end
|
69
|
+
|
70
|
+
def on_mouse_released(& action)
|
71
|
+
__add_action(Java::limelight.ui.events.panel.MouseReleasedEvent, action)
|
72
|
+
end
|
73
|
+
|
74
|
+
def on_mouse_clicked(& action)
|
75
|
+
__add_action(Java::limelight.ui.events.panel.MouseClickedEvent, action)
|
76
|
+
end
|
77
|
+
|
78
|
+
def on_mouse_entered(& action)
|
79
|
+
__add_action(Java::limelight.ui.events.panel.MouseEnteredEvent, action)
|
80
|
+
end
|
81
|
+
|
82
|
+
def on_mouse_exited(& action)
|
83
|
+
__add_action(Java::limelight.ui.events.panel.MouseExitedEvent, action)
|
84
|
+
end
|
85
|
+
|
86
|
+
def on_mouse_moved(& action)
|
87
|
+
__add_action(Java::limelight.ui.events.panel.MouseMovedEvent, action)
|
88
|
+
end
|
89
|
+
|
90
|
+
def on_mouse_wheel(& action)
|
91
|
+
__add_action(Java::limelight.ui.events.panel.MouseWheelEvent, action)
|
92
|
+
end
|
93
|
+
|
94
|
+
def on_mouse_dragged(& action)
|
95
|
+
__add_action(Java::limelight.ui.events.panel.MouseDraggedEvent, action)
|
96
|
+
end
|
97
|
+
|
98
|
+
def on_key_pressed(& action)
|
99
|
+
__add_action(Java::limelight.ui.events.panel.KeyPressedEvent, action)
|
100
|
+
end
|
101
|
+
|
102
|
+
def on_key_released(& action)
|
103
|
+
__add_action(Java::limelight.ui.events.panel.KeyReleasedEvent, action)
|
104
|
+
end
|
105
|
+
|
106
|
+
def on_char_typed(& action)
|
107
|
+
__add_action(Java::limelight.ui.events.panel.CharTypedEvent, action)
|
108
|
+
end
|
109
|
+
|
110
|
+
def on_focus_gained(& action)
|
111
|
+
__add_action(Java::limelight.ui.events.panel.FocusGainedEvent, action)
|
112
|
+
end
|
113
|
+
|
114
|
+
def on_focus_lost(& action)
|
115
|
+
__add_action(Java::limelight.ui.events.panel.FocusLostEvent, action)
|
116
|
+
end
|
117
|
+
|
118
|
+
def on_button_pushed(& action)
|
119
|
+
__add_action(Java::limelight.ui.events.panel.ButtonPushedEvent, action)
|
120
|
+
end
|
121
|
+
|
122
|
+
def on_value_changed(& action)
|
123
|
+
__add_action(Java::limelight.ui.events.panel.ValueChangedEvent, action)
|
124
|
+
end
|
125
|
+
|
126
|
+
def on_scene_opened(& action)
|
127
|
+
__add_action(Java::limelight.ui.events.panel.SceneOpenedEvent, action)
|
128
|
+
end
|
129
|
+
|
130
|
+
def on_illuminated(& action)
|
131
|
+
__add_action(Java::limelight.ui.events.panel.IlluminatedEvent, action)
|
132
|
+
end
|
133
|
+
|
134
|
+
def prop_reader(*symbols)
|
135
|
+
symbols.each do |sym|
|
136
|
+
module_eval("def #{sym}; return scene.find('#{sym}'); end")
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
def backstage_reader(*symbols)
|
141
|
+
symbols.each do |sym|
|
142
|
+
name = Java::limelight.util.StringUtil.spearCase(sym.to_s)
|
143
|
+
module_eval("def #{sym}; return backstage['#{name}']; end")
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
end
|
148
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
#- Copyright © 2008-2011 8th Light, Inc. All Rights Reserved.
|
2
|
+
#- Limelight and all included source files are distributed under terms of the MIT License.
|
3
|
+
|
4
|
+
require 'limelight/player'
|
5
|
+
require 'limelight/builtin/players'
|
6
|
+
|
7
|
+
module Limelight
|
8
|
+
|
9
|
+
# The PlayerRecruiter is responsible for finding Players for Props within a Production.
|
10
|
+
# Each scene has a unique instance of a PlayerRecruiter
|
11
|
+
#
|
12
|
+
# Users of Limelight need not be concerned with this class.
|
13
|
+
#
|
14
|
+
class PlayerRecruiter
|
15
|
+
|
16
|
+
attr_reader :cast
|
17
|
+
|
18
|
+
def initialize()
|
19
|
+
@cast = Module.new
|
20
|
+
@fs = Java::limelight.Context.fs
|
21
|
+
end
|
22
|
+
|
23
|
+
def can_recruit?(player_name, players_path)
|
24
|
+
@cast.const_defined?(player_name.camelized) || @fs.exists(player_filename(player_name, players_path))
|
25
|
+
end
|
26
|
+
|
27
|
+
alias :canRecruit :can_recruit?
|
28
|
+
|
29
|
+
def recruit_player(player_name, players_path)
|
30
|
+
module_name = player_name.camelized
|
31
|
+
if @cast.const_defined?(module_name)
|
32
|
+
@cast.const_get(module_name)
|
33
|
+
else
|
34
|
+
player_filename = player_filename(player_name, players_path)
|
35
|
+
src = @fs.read_text_file(player_filename)
|
36
|
+
|
37
|
+
player = Player.new(player_name, player_filename)
|
38
|
+
player.module_eval(src, player_filename)
|
39
|
+
@cast.const_set(module_name, player)
|
40
|
+
player
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
alias :recruitPlayer :recruit_player
|
45
|
+
|
46
|
+
private ###############################################
|
47
|
+
|
48
|
+
def player_filename(player_name, players_path)
|
49
|
+
"#{@fs.join(players_path, player_name.underscored)}.rb"
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
@@ -0,0 +1,257 @@
|
|
1
|
+
#- Copyright © 2008-2011 8th Light, Inc. All Rights Reserved.
|
2
|
+
#- Limelight and all included source files are distributed under terms of the MIT License.
|
3
|
+
|
4
|
+
require 'limelight/limelight_exception'
|
5
|
+
require 'limelight/dsl/styles_builder'
|
6
|
+
require 'limelight/theater'
|
7
|
+
require 'limelight/dsl/stage_builder'
|
8
|
+
require 'limelight/dsl/prop_builder'
|
9
|
+
require 'limelight/dsl/styles_builder'
|
10
|
+
require 'limelight/util/hashes'
|
11
|
+
require 'limelight/scene'
|
12
|
+
require 'drb'
|
13
|
+
|
14
|
+
|
15
|
+
module Limelight
|
16
|
+
|
17
|
+
# The root object of Limelight Production. Every Prop in a production has access to its Production object.
|
18
|
+
# Therefore it is typical to store reasources in the Production.
|
19
|
+
#
|
20
|
+
# Productions are configured, and attributes are added, by the ProductionBuilder.
|
21
|
+
#
|
22
|
+
class Production
|
23
|
+
|
24
|
+
include Java::limelight.model.api.ProductionProxy
|
25
|
+
|
26
|
+
attr_reader :peer
|
27
|
+
attr_accessor :theater
|
28
|
+
|
29
|
+
alias :getTheater :theater
|
30
|
+
alias :getPeer :peer
|
31
|
+
|
32
|
+
# Users typically need not create Production objects.
|
33
|
+
#
|
34
|
+
def initialize(production)
|
35
|
+
@peer = production
|
36
|
+
@theater = Theater.new(self, @peer.theater)
|
37
|
+
|
38
|
+
@peer.proxy = self
|
39
|
+
@fs = Java::limelight.Context.fs
|
40
|
+
end
|
41
|
+
|
42
|
+
# returns the productions "backstage" storage. (A map of map to store stuff)
|
43
|
+
#
|
44
|
+
def backstage
|
45
|
+
if @backstage == nil
|
46
|
+
value = @peer.backstage
|
47
|
+
@backstage = Util::Hashes.for_ruby(value)
|
48
|
+
end
|
49
|
+
@backstage
|
50
|
+
end
|
51
|
+
|
52
|
+
# returns true if the production has been opened, and not yet closed.
|
53
|
+
#
|
54
|
+
def open?
|
55
|
+
@peer.open?
|
56
|
+
end
|
57
|
+
|
58
|
+
# Returns the name of the Production
|
59
|
+
#
|
60
|
+
def name
|
61
|
+
@peer.name
|
62
|
+
end
|
63
|
+
|
64
|
+
# Sets the name of the Production. The name must be unique amongst all Productions in memory.
|
65
|
+
#
|
66
|
+
def name=(value)
|
67
|
+
@peer.name = value
|
68
|
+
end
|
69
|
+
|
70
|
+
# Return the path to the root directory of the production
|
71
|
+
#
|
72
|
+
def path
|
73
|
+
@peer.path
|
74
|
+
end
|
75
|
+
|
76
|
+
# Returns the path to the production's production.rb file
|
77
|
+
#
|
78
|
+
def production_file
|
79
|
+
@fs.path_to(path, "production.rb")
|
80
|
+
end
|
81
|
+
|
82
|
+
# Returns the path to the production's stages file
|
83
|
+
#
|
84
|
+
def stages_file
|
85
|
+
@fs.path_to(path, "stages.rb")
|
86
|
+
end
|
87
|
+
|
88
|
+
# Returns the path to the production's styles file
|
89
|
+
#
|
90
|
+
def styles_file
|
91
|
+
@fs.path_to(path, "styles.rb")
|
92
|
+
end
|
93
|
+
|
94
|
+
# Returns the path to the production's gems directory
|
95
|
+
#
|
96
|
+
def gems_directory
|
97
|
+
@fs.path_to(path, "__resources/gems/gems")
|
98
|
+
end
|
99
|
+
|
100
|
+
# Returns the path to the productions gems root
|
101
|
+
#
|
102
|
+
def gems_root
|
103
|
+
@fs.path_to(path, "__resources/gems")
|
104
|
+
end
|
105
|
+
|
106
|
+
# Returns the path to the named Scene's directory within the Production
|
107
|
+
#
|
108
|
+
def scene_directory(name)
|
109
|
+
name == nil ? path : @fs.path_to(path, name)
|
110
|
+
end
|
111
|
+
|
112
|
+
# Returns true if the production allows itself to be closed. The system will call this methods when
|
113
|
+
# it wishes to close the production, perhaps when the user quits the application. By default the production
|
114
|
+
# will always return true.
|
115
|
+
#
|
116
|
+
def allow_close?
|
117
|
+
@peer.allow_close?
|
118
|
+
end
|
119
|
+
|
120
|
+
# Specifies whether this production will allow itself to be closed. It should be noted that permanently setting
|
121
|
+
# this to false could keep the entire Limelight runtime from shutting down.
|
122
|
+
#
|
123
|
+
def allow_close=(value)
|
124
|
+
@peer.allow_close = value
|
125
|
+
end
|
126
|
+
|
127
|
+
# Specifies the minimum required version of Limelight that should be used to open this production.
|
128
|
+
# Defaults to zero, meaning any version of Limelight may open the production.
|
129
|
+
#
|
130
|
+
def minimum_limelight_version=(value)
|
131
|
+
@peer.minimum_limelight_version = value
|
132
|
+
end
|
133
|
+
|
134
|
+
# Closes the production. If there are no more productions open, the Limelight runtime will shutdown.
|
135
|
+
# The production will actually delegate to it's producer and the producer will close the production down.
|
136
|
+
#
|
137
|
+
def close
|
138
|
+
@peer.close
|
139
|
+
end
|
140
|
+
|
141
|
+
# Publish this production using DRb on the specified port. The production will delegate to its producer to
|
142
|
+
# actually do the publishing.
|
143
|
+
#
|
144
|
+
def publish_on_drb(port)
|
145
|
+
@producer.publish_production_on_drb(port)
|
146
|
+
end
|
147
|
+
|
148
|
+
def on_production_created(&action)
|
149
|
+
@peer.event_handler.add(Java::limelight.model.events.ProductionCreatedEvent, action)
|
150
|
+
end
|
151
|
+
|
152
|
+
def on_production_loaded(&action)
|
153
|
+
@peer.event_handler.add(Java::limelight.model.events.ProductionLoadedEvent, action)
|
154
|
+
end
|
155
|
+
|
156
|
+
def on_production_opened(&action)
|
157
|
+
@peer.event_handler.add(Java::limelight.model.events.ProductionOpenedEvent, action)
|
158
|
+
end
|
159
|
+
|
160
|
+
def on_production_closing(&action)
|
161
|
+
@peer.event_handler.add(Java::limelight.model.events.ProductionClosingEvent, action)
|
162
|
+
end
|
163
|
+
|
164
|
+
def on_production_closed(&action)
|
165
|
+
@peer.event_handler.add(Java::limelight.model.events.ProductionClosedEvent, action)
|
166
|
+
end
|
167
|
+
|
168
|
+
def backstage_pass(name)
|
169
|
+
instance_eval "def #{name}=(value); backstage[:#{name}] = value; end;"
|
170
|
+
instance_eval "def #{name}; backstage[:#{name}]; end;"
|
171
|
+
end
|
172
|
+
|
173
|
+
def callMethod(name, java_obj_array) #:nodoc:
|
174
|
+
args = []
|
175
|
+
java_obj_array.length.times { |i| args << java_obj_array[i] }
|
176
|
+
send(name.to_sym, * args)
|
177
|
+
end
|
178
|
+
|
179
|
+
def open_scene(scene_path, options={})
|
180
|
+
stage_name = options[:stage]
|
181
|
+
if(stage_name)
|
182
|
+
scene_peer = @peer.open_scene(scene_path, stage_name, Util::Hashes.for_java(options))
|
183
|
+
else
|
184
|
+
scene_peer = @peer.open_scene(scene_path, Util::Hashes.for_java(options))
|
185
|
+
end
|
186
|
+
scene_peer.proxy
|
187
|
+
end
|
188
|
+
|
189
|
+
def illuminate
|
190
|
+
path = production_file
|
191
|
+
return unless @fs.exists?(path)
|
192
|
+
content = @fs.read_text_file(path)
|
193
|
+
path = path[5..-1] if path[0...5] == "file:"
|
194
|
+
self.instance_eval(content, path)
|
195
|
+
end
|
196
|
+
|
197
|
+
def load_libraries
|
198
|
+
# use bundler here
|
199
|
+
end
|
200
|
+
|
201
|
+
alias :loadLibraries :load_libraries
|
202
|
+
|
203
|
+
def load_stages
|
204
|
+
return unless @fs.exists?(stages_file)
|
205
|
+
content = @fs.read_text_file(stages_file)
|
206
|
+
prod = self
|
207
|
+
Limelight.build_stages(theater) do
|
208
|
+
begin
|
209
|
+
eval content
|
210
|
+
rescue Exception => e
|
211
|
+
puts e.backtrace
|
212
|
+
raise DSL::BuildException.new(prod.stages_file, content, e)
|
213
|
+
end
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
217
|
+
alias :loadStages :load_stages
|
218
|
+
|
219
|
+
def load_scene(scene_path, options={})
|
220
|
+
options = Util::Hashes.for_ruby(options)
|
221
|
+
instance_variables = options.delete(:instance_variables)
|
222
|
+
log.debug "production.rb - scene options: #{options.inspect}"
|
223
|
+
scene = Scene.new(options)
|
224
|
+
scene.production = self
|
225
|
+
if @fs.exists?(scene.props_file)
|
226
|
+
log.debug "production.rb - loading props: #{scene.props_file}"
|
227
|
+
content = @fs.read_text_file(scene.props_file)
|
228
|
+
options[:root_path] = self.path
|
229
|
+
Limelight.build_props(scene, options.merge(:instance_variables => instance_variables)) do
|
230
|
+
begin
|
231
|
+
eval content
|
232
|
+
rescue Exception => e
|
233
|
+
raise DSL::BuildException.new(scene.props_file, content, e)
|
234
|
+
end
|
235
|
+
end
|
236
|
+
else
|
237
|
+
log.debug "production.rb - props file doesn't exist': #{scene.props_file}"
|
238
|
+
end
|
239
|
+
scene
|
240
|
+
end
|
241
|
+
|
242
|
+
alias :loadScene :load_scene
|
243
|
+
|
244
|
+
def load_styles(source, extendable_styles)
|
245
|
+
result = {}
|
246
|
+
styles_path = @fs.join(source.path, "styles.rb")
|
247
|
+
if @fs.exists?(styles_path)
|
248
|
+
Limelight.build_styles_from_file(styles_path, :styles => result, :extendable_styles => extendable_styles)
|
249
|
+
end
|
250
|
+
result
|
251
|
+
end
|
252
|
+
|
253
|
+
alias :loadStyles :load_styles
|
254
|
+
|
255
|
+
end
|
256
|
+
|
257
|
+
end
|