limelight 0.5.5-java → 0.6.14-java
Sign up to get free protection for your applications and to get access to all the features.
- 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
|