limelight 0.0.1-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. data/bin/icons/icon.ico +0 -0
  2. data/bin/icons/icon_48.gif +0 -0
  3. data/bin/icons/limelight.icns +0 -0
  4. data/bin/icons/splash.png +0 -0
  5. data/bin/limelight +6 -0
  6. data/bin/ll +10 -0
  7. data/bin/ll.bat +5 -0
  8. data/lib/init.rb +11 -0
  9. data/lib/limelight/build_exception.rb +45 -0
  10. data/lib/limelight/button_group_cache.rb +11 -0
  11. data/lib/limelight/casting_director.rb +72 -0
  12. data/lib/limelight/commands.rb +66 -0
  13. data/lib/limelight/file_chooser.rb +55 -0
  14. data/lib/limelight/file_filter.rb +26 -0
  15. data/lib/limelight/java_util.rb +29 -0
  16. data/lib/limelight/limelight_exception.rb +9 -0
  17. data/lib/limelight/loaders/file_scene_loader.rb +48 -0
  18. data/lib/limelight/menu_bar.rb +49 -0
  19. data/lib/limelight/paint_action.rb +25 -0
  20. data/lib/limelight/pen.rb +53 -0
  21. data/lib/limelight/players/button.rb +29 -0
  22. data/lib/limelight/players/check_box.rb +38 -0
  23. data/lib/limelight/players/combo_box.rb +44 -0
  24. data/lib/limelight/players/radio_button.rb +47 -0
  25. data/lib/limelight/players/text_area.rb +25 -0
  26. data/lib/limelight/players/text_box.rb +25 -0
  27. data/lib/limelight/players.rb +9 -0
  28. data/lib/limelight/producer.rb +141 -0
  29. data/lib/limelight/production.rb +64 -0
  30. data/lib/limelight/production_builder.rb +49 -0
  31. data/lib/limelight/prop.rb +241 -0
  32. data/lib/limelight/prop_builder.rb +60 -0
  33. data/lib/limelight/scene.rb +75 -0
  34. data/lib/limelight/stage.rb +93 -0
  35. data/lib/limelight/stage_builder.rb +62 -0
  36. data/lib/limelight/styles.rb +37 -0
  37. data/lib/limelight/styles_builder.rb +61 -0
  38. data/lib/limelight/theater.rb +42 -0
  39. data/lib/limelight/util.rb +26 -0
  40. data/lib/limelight/version.rb +20 -0
  41. data/lib/limelight.jar +0 -0
  42. data/productions/examples/8thlight.com/about/about.txt +24 -0
  43. data/productions/examples/8thlight.com/about/props.rb +11 -0
  44. data/productions/examples/8thlight.com/about/styles.rb +2 -0
  45. data/productions/examples/8thlight.com/footer.rb +6 -0
  46. data/productions/examples/8thlight.com/home/props.rb +28 -0
  47. data/productions/examples/8thlight.com/home/styles.rb +2 -0
  48. data/productions/examples/8thlight.com/images/anvil.jpg +0 -0
  49. data/productions/examples/8thlight.com/images/bg.jpg +0 -0
  50. data/productions/examples/8thlight.com/images/botticelli.jpg +0 -0
  51. data/productions/examples/8thlight.com/images/button_bg.jpg +0 -0
  52. data/productions/examples/8thlight.com/images/canvas_bg.jpg +0 -0
  53. data/productions/examples/8thlight.com/images/footer_bg.jpg +0 -0
  54. data/productions/examples/8thlight.com/images/header.jpg +0 -0
  55. data/productions/examples/8thlight.com/images/moses.jpg +0 -0
  56. data/productions/examples/8thlight.com/images/statemachine_thumbnail.png +0 -0
  57. data/productions/examples/8thlight.com/images/thumbnail_book.jpg +0 -0
  58. data/productions/examples/8thlight.com/menu.rb +11 -0
  59. data/productions/examples/8thlight.com/services/props.rb +11 -0
  60. data/productions/examples/8thlight.com/services/services.txt +8 -0
  61. data/productions/examples/8thlight.com/services/styles.rb +2 -0
  62. data/productions/examples/8thlight.com/stages.rb +8 -0
  63. data/productions/examples/8thlight.com/styles.rb +205 -0
  64. data/productions/examples/calculator/players/button.rb +24 -0
  65. data/productions/examples/calculator/players/calculator.rb +15 -0
  66. data/productions/examples/calculator/players/calculator_model.rb +13 -0
  67. data/productions/examples/calculator/props.rb +23 -0
  68. data/productions/examples/calculator/styles.rb +38 -0
  69. data/productions/examples/langstons_ant/html_javascript/ant.css +39 -0
  70. data/productions/examples/langstons_ant/html_javascript/ant.html +22 -0
  71. data/productions/examples/langstons_ant/html_javascript/ant.js +23 -0
  72. data/productions/examples/langstons_ant/players/ant.rb +103 -0
  73. data/productions/examples/langstons_ant/players/log.rb +29 -0
  74. data/productions/examples/langstons_ant/players/start_stop_button.rb +37 -0
  75. data/productions/examples/langstons_ant/players/world.rb +61 -0
  76. data/productions/examples/langstons_ant/props.rb +22 -0
  77. data/productions/examples/langstons_ant/styles.rb +105 -0
  78. data/productions/examples/sandbox/click_me/players/chromaton.rb +47 -0
  79. data/productions/examples/sandbox/click_me/props.rb +8 -0
  80. data/productions/examples/sandbox/click_me/styles.rb +12 -0
  81. data/productions/examples/sandbox/floaters/players/floater.rb +92 -0
  82. data/productions/examples/sandbox/floaters/players/surface.rb +17 -0
  83. data/productions/examples/sandbox/floaters/props.rb +10 -0
  84. data/productions/examples/sandbox/floaters/styles.rb +25 -0
  85. data/productions/examples/sandbox/gradients/players/spinner.rb +23 -0
  86. data/productions/examples/sandbox/gradients/players/teaser.rb +26 -0
  87. data/productions/examples/sandbox/gradients/players/wave.rb +26 -0
  88. data/productions/examples/sandbox/gradients/players/waves.rb +26 -0
  89. data/productions/examples/sandbox/gradients/props.rb +13 -0
  90. data/productions/examples/sandbox/gradients/styles.rb +47 -0
  91. data/productions/examples/sandbox/header.rb +15 -0
  92. data/productions/examples/sandbox/homer/players/homer.rb +20 -0
  93. data/productions/examples/sandbox/homer/props.rb +10 -0
  94. data/productions/examples/sandbox/homer/styles.rb +17 -0
  95. data/productions/examples/sandbox/images/arch.jpg +0 -0
  96. data/productions/examples/sandbox/images/beach.jpg +0 -0
  97. data/productions/examples/sandbox/images/homer.jpg +0 -0
  98. data/productions/examples/sandbox/images/limelight_spotlight.jpg +0 -0
  99. data/productions/examples/sandbox/images/marilyn.jpg +0 -0
  100. data/productions/examples/sandbox/inputs/players/button_input.rb +48 -0
  101. data/productions/examples/sandbox/inputs/players/check_box_input.rb +40 -0
  102. data/productions/examples/sandbox/inputs/players/combo_box_input.rb +41 -0
  103. data/productions/examples/sandbox/inputs/players/radio_button_input.rb +43 -0
  104. data/productions/examples/sandbox/inputs/players/text_area_input.rb +36 -0
  105. data/productions/examples/sandbox/inputs/players/text_box_input.rb +36 -0
  106. data/productions/examples/sandbox/inputs/props.rb +40 -0
  107. data/productions/examples/sandbox/inputs/styles.rb +39 -0
  108. data/productions/examples/sandbox/players/sandbox.rb +11 -0
  109. data/productions/examples/sandbox/rounded_corners/players/box.rb +11 -0
  110. data/productions/examples/sandbox/rounded_corners/props.rb +22 -0
  111. data/productions/examples/sandbox/rounded_corners/styles.rb +18 -0
  112. data/productions/examples/sandbox/scrolling/players/cell.rb +16 -0
  113. data/productions/examples/sandbox/scrolling/props.rb +40 -0
  114. data/productions/examples/sandbox/scrolling/styles.rb +25 -0
  115. data/productions/examples/sandbox/sketching/players/sketchpad.rb +46 -0
  116. data/productions/examples/sandbox/sketching/props.rb +25 -0
  117. data/productions/examples/sandbox/sketching/styles.rb +36 -0
  118. data/productions/examples/sandbox/stages.rb +6 -0
  119. data/productions/examples/sandbox/styles.rb +37 -0
  120. data/productions/examples/sandbox/teaser/players/fader.rb +58 -0
  121. data/productions/examples/sandbox/teaser/props.rb +14 -0
  122. data/productions/examples/sandbox/teaser/styles.rb +22 -0
  123. data/productions/examples/tutorials/tutorial_1/players/sample.rb +11 -0
  124. data/productions/examples/tutorials/tutorial_1/props.rb +9 -0
  125. data/productions/examples/tutorials/tutorial_1/styles.rb +27 -0
  126. data/productions/stage_composer/init.rb +10 -0
  127. data/productions/stage_composer/inspector/players/inspector.rb +80 -0
  128. data/productions/stage_composer/inspector/players/prop_row.rb +12 -0
  129. data/productions/stage_composer/inspector/players/prop_tree.rb +33 -0
  130. data/productions/stage_composer/inspector/players/style_table.rb +12 -0
  131. data/productions/stage_composer/inspector/players/style_value.rb +16 -0
  132. data/productions/stage_composer/inspector/props.rb +19 -0
  133. data/productions/stage_composer/inspector/styles.rb +71 -0
  134. data/productions/stage_composer/lib/init.rb +5 -0
  135. data/productions/stage_composer/lib/limelight/composer/controller.rb +51 -0
  136. data/productions/stage_composer/lib/limelight/composer/lethargy.rb +24 -0
  137. data/productions/stage_composer/production.rb +6 -0
  138. data/productions/stage_composer/stages.rb +15 -0
  139. data/productions/startup/props.rb +5 -0
  140. data/spec/casting_director_spec.rb +94 -0
  141. data/spec/commands_spec.rb +33 -0
  142. data/spec/file_chooser_spec.rb +64 -0
  143. data/spec/file_filter_spec.rb +29 -0
  144. data/spec/java_util_spec.rb +53 -0
  145. data/spec/loaders/file_loader_spec.rb +28 -0
  146. data/spec/paint_action_spec.rb +30 -0
  147. data/spec/pen_spec.rb +62 -0
  148. data/spec/players/button_spec.rb +31 -0
  149. data/spec/players/check_box_spec.rb +40 -0
  150. data/spec/players/combo_box_spec.rb +39 -0
  151. data/spec/players/radio_button_spec.rb +75 -0
  152. data/spec/players/text_area_spec.rb +37 -0
  153. data/spec/players/text_box_spec.rb +37 -0
  154. data/spec/producer_spec.rb +157 -0
  155. data/spec/production_builder_spec.rb +48 -0
  156. data/spec/production_spec.rb +75 -0
  157. data/spec/prop_builder_spec.rb +178 -0
  158. data/spec/prop_spec.rb +216 -0
  159. data/spec/scene_spec.rb +34 -0
  160. data/spec/spec_helper.rb +18 -0
  161. data/spec/stage_builder_spec.rb +90 -0
  162. data/spec/stage_spec.rb +57 -0
  163. data/spec/styles_builder_spec.rb +123 -0
  164. data/spec/theater_spec.rb +66 -0
  165. metadata +275 -0
@@ -0,0 +1,41 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module ComboBoxInput
5
+
6
+ def key_pressed(e)
7
+ print("#{e.key_char} pressed")
8
+ end
9
+
10
+ def key_typed(e)
11
+ print("#{e.key_char} typed")
12
+ end
13
+
14
+ def key_released(e)
15
+ print("#{e.key_char} released")
16
+ end
17
+
18
+ def focus_gained(e)
19
+ print("gained focused")
20
+ end
21
+
22
+ def focus_lost(e)
23
+ print("lost focus")
24
+ end
25
+
26
+ def item_state_changed(e)
27
+ print("Item State Changed")
28
+ end
29
+
30
+ def print(value)
31
+ log = scene.find("combo_box_log")
32
+ return if log.nil?
33
+ log.text += value + "\n"
34
+ log.update
35
+
36
+ results = scene.find("combo_box_results")
37
+ results.text = "Selected value: #{self.value}"
38
+ results.update
39
+ end
40
+
41
+ end
@@ -0,0 +1,43 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module RadioButtonInput
5
+
6
+ def key_pressed(e)
7
+ print("#{e.key_char} pressed")
8
+ end
9
+
10
+ def key_typed(e)
11
+ print("#{e.key_char} typed")
12
+ end
13
+
14
+ def key_released(e)
15
+ print("#{e.key_char} released")
16
+ end
17
+
18
+ def focus_gained(e)
19
+ print("gained focused")
20
+ end
21
+
22
+ def focus_lost(e)
23
+ print("lost focus")
24
+ end
25
+
26
+ def button_pressed(e)
27
+ print("pressed")
28
+ end
29
+
30
+ def print(value)
31
+ log = scene.find("radio_button_log")
32
+ log.text += "#{id}:#{value}\n"
33
+ log.update
34
+
35
+ results = scene.find("radio_button_results")
36
+ radio1 = scene.find("radio_1")
37
+ radio2 = scene.find("radio_2")
38
+ radio3 = scene.find("radio_3")
39
+ results.text = "One: #{radio1.selected?}\nTwo: #{radio2.selected?}\nThree: #{radio3.selected?}"
40
+ results.update
41
+ end
42
+
43
+ end
@@ -0,0 +1,36 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module TextAreaInput
5
+
6
+ def key_pressed(e)
7
+ print("#{e.key_char} pressed")
8
+ end
9
+
10
+ def key_typed(e)
11
+ print("#{e.key_char} typed")
12
+ end
13
+
14
+ def key_released(e)
15
+ print("#{e.key_char} released")
16
+ end
17
+
18
+ def focus_gained(e)
19
+ print("gained focused")
20
+ end
21
+
22
+ def focus_lost(e)
23
+ print("lost focus")
24
+ end
25
+
26
+ def print(value)
27
+ log = scene.find("text_area_log")
28
+ log.text += value + "\n"
29
+ log.update
30
+
31
+ results = scene.find("text_area_results")
32
+ results.text = self.text
33
+ results.update
34
+ end
35
+
36
+ end
@@ -0,0 +1,36 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module TextBoxInput
5
+
6
+ def key_pressed(e)
7
+ print("#{e.key_char} pressed")
8
+ end
9
+
10
+ def key_typed(e)
11
+ print("#{e.key_char} typed")
12
+ end
13
+
14
+ def key_released(e)
15
+ print("#{e.key_char} released")
16
+ end
17
+
18
+ def focus_gained(e)
19
+ print("gained focused")
20
+ end
21
+
22
+ def focus_lost(e)
23
+ print("lost focus")
24
+ end
25
+
26
+ def print(value)
27
+ log = scene.find("text_box_log")
28
+ log.text += value + "\n"
29
+ log.update
30
+
31
+ results = scene.find("text_box_results")
32
+ results.text = self.text
33
+ results.update
34
+ end
35
+
36
+ end
@@ -0,0 +1,40 @@
1
+ #- Copyright 2008 8th Light, Inc.
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 do
7
+ table do
8
+ cell { text_box_input :players => "text_box" }
9
+ cell(:border_width => "1") { input_log :id => "text_box_log" }
10
+ cell(:border_width => "1") { input_results :id => "text_box_results" }
11
+ # end row
12
+ cell { text_area_input :players => "text_area" }
13
+ cell { input_log :id => "text_area_log" }
14
+ cell(:border_width => "1") { input_results :id => "text_area_results" }
15
+ # end row
16
+ cell { check_box_input :players => "check_box" }
17
+ cell { input_log :id => "check_box_log" }
18
+ cell(:border_width => "1") { input_results :id => "check_box_results" }
19
+ # end row
20
+ cell do
21
+ radio_button_input :players => "radio_button", :id => "radio_1", :group => "radios"
22
+ radio_label :text => "One"
23
+ radio_button_input :players => "radio_button", :id => "radio_2", :group => "radios"
24
+ radio_label :text => "Two"
25
+ radio_button_input :players => "radio_button", :id => "radio_3", :group => "radios"
26
+ radio_label :text => "Three"
27
+ end
28
+ cell { input_log :id => "radio_button_log" }
29
+ cell(:border_width => "1") { input_results :id => "radio_button_results" }
30
+ # end row
31
+ cell { combo_box_input :players => "combo_box", :choices => "%w{Red Orange Yellow Green Blue Indigo Violet}" }
32
+ cell { input_log :id => "combo_box_log" }
33
+ cell(:border_width => "1") { input_results :id => "combo_box_results" }
34
+ # end row
35
+ cell { button_input :players => "button", :text => "A Button" }
36
+ cell { input_log :id => "button_log" }
37
+ cell(:border_width => "1") { input_results :id => "button_results" }
38
+ # end row
39
+ end
40
+ end
@@ -0,0 +1,39 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ table {
5
+ width 752
6
+ height 620
7
+ border_width 1
8
+ border_color :orange
9
+ }
10
+
11
+ cell {
12
+ width 250
13
+ height 100
14
+ vertical_alignment :center
15
+ horizontal_alignment :center
16
+ border_width 1
17
+ border_color :blue
18
+ }
19
+
20
+ input_log {
21
+ height "100%"
22
+ width "100%"
23
+ background_color "#999"
24
+ text_color "black"
25
+ }
26
+
27
+ input_results {
28
+ height "100%"
29
+ width "100%"
30
+ background_color "#FFD"
31
+ text_color :black
32
+ }
33
+
34
+ radio_label {
35
+ width 220
36
+ height 20
37
+ text_color :black
38
+ vertical_alignment :center
39
+ }
@@ -0,0 +1,11 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ puts "SANDBOX EXTENSION"
5
+
6
+ module Sandbox
7
+
8
+ def self.extended(extended_block)
9
+ end
10
+
11
+ end
@@ -0,0 +1,11 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module Box
5
+
6
+ def mouse_clicked(e)
7
+ style.border_width = (style.top_border_width.to_i + 2).to_s
8
+ update
9
+ end
10
+
11
+ end
@@ -0,0 +1,22 @@
1
+ #- Copyright 2008 8th Light, Inc.
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 do
7
+ row do
8
+ 5.times do |i|
9
+ box :rounded_corner_radius => (i * 10).to_s
10
+ end
11
+ end
12
+ row do
13
+ 5.times do |i|
14
+ box :rounded_corner_radius => (i * 10).to_s, :background_color => "red", :border_color => "#00fa"
15
+ end
16
+ end
17
+ row do
18
+ 5.times do |i|
19
+ box :rounded_corner_radius => (i * 10).to_s, :border_width => "0", :background_color => "red", :secondary_background_color => "green", :gradient => "on", :gradient_angle => "0", :gradient_penetration => "100"
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ box {
5
+ width 100
6
+ height 100
7
+ # background_color :red
8
+ border_color :blue
9
+ border_width 5
10
+ margin 5
11
+ }
12
+
13
+ row {
14
+ width 500
15
+ height 100
16
+ horizontal_alignment :center
17
+ vertical_alignment :center
18
+ }
@@ -0,0 +1,16 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module Cell
5
+
6
+ def self.extended(prop)
7
+ end
8
+
9
+ def mouse_clicked(e)
10
+ puts "mouse clicked"
11
+ p = parent
12
+ parent.remove(self)
13
+ p.parent.update # update the whole table incase a row can be removed.
14
+ end
15
+
16
+ end
@@ -0,0 +1,40 @@
1
+ #- Copyright 2008 8th Light, Inc.
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 do
7
+ table do
8
+ 10.times do |y|
9
+ row :id => y.to_s do
10
+ 10.times do |x|
11
+ id = "#{x},#{y}"
12
+ bg_color = ( (x + y) % 2 == 0 ) ? "blue" : "#DDDDDD"
13
+ cell :id => id, :text => id, :background_color => bg_color
14
+ end
15
+ end
16
+ end
17
+ end
18
+ table do
19
+ 2.times do |y|
20
+ row :id => y.to_s do
21
+ 10.times do |x|
22
+ id = "#{x},#{y}"
23
+ bg_color = ( (x + y) % 2 == 0 ) ? "blue" : "#DDDDDD"
24
+ cell :id => id, :text => id, :background_color => bg_color
25
+ end
26
+ end
27
+ end
28
+ end
29
+ table do
30
+ 10.times do |y|
31
+ row :id => y.to_s do
32
+ 2.times do |x|
33
+ id = "#{x},#{y}"
34
+ bg_color = ( (x + y) % 2 == 0 ) ? "blue" : "#DDDDDD"
35
+ cell :id => id, :text => id, :background_color => bg_color
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,25 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ table {
5
+ width 214
6
+ height 214
7
+ border_width 2
8
+ border_color :black
9
+ background_color :yellow
10
+ padding 5
11
+ margin 5
12
+ }
13
+
14
+ row {
15
+ width 500
16
+ height :auto
17
+ }
18
+
19
+ cell {
20
+ width 50
21
+ height 50
22
+ text_color :black
23
+ vertical_alignment :center
24
+ horizontal_alignment :center
25
+ }
@@ -0,0 +1,46 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module Sketchpad
5
+
6
+ def activate(mode)
7
+ @mode = mode
8
+ end
9
+
10
+ def clear
11
+ puts "Clearing"
12
+ update
13
+ end
14
+
15
+ def mouse_pressed(e)
16
+ return if @mode.nil?
17
+ self.send(@mode, e.x, e.y)
18
+ end
19
+
20
+ def mouse_dragged(e)
21
+ if(@mode == :line && !@line_start.nil?)
22
+ pen.draw_line(@line_start[0], @line_start[1], e.x, e.y)
23
+ @line_start = [e.x, e.y]
24
+ end
25
+ end
26
+
27
+ def line(x, y)
28
+ @line_start = [x, y]
29
+ end
30
+
31
+ def square(x, y)
32
+ pen = self.pen
33
+ pen.width = 2
34
+ pen.color = "blue"
35
+ pen.draw_rectangle(x, y, 25, 25)
36
+ end
37
+
38
+ def circle(x, y)
39
+ pen = self.pen
40
+ pen.smooth = true
41
+ pen.width = 5
42
+ pen.color = "red"
43
+ pen.draw_oval(x, y, 25, 25)
44
+ end
45
+
46
+ end
@@ -0,0 +1,25 @@
1
+ #- Copyright 2008 8th Light, Inc.
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 do
7
+ toolbar do
8
+ tool do
9
+ label :text => "Line\n(press and drag to draw)"
10
+ selector :players => "radio_button", :group => "tools", :id => "line", :on_button_pressed => "scene.find('sketchpad').activate(:line)"
11
+ end
12
+ tool do
13
+ label :text => "Square\n(click to draw)"
14
+ selector :players => "radio_button", :group => "tools", :id => "square", :on_button_pressed => "scene.find('sketchpad').activate(:square)"
15
+ end
16
+ tool do
17
+ label :text => "Circle\n(click to draw)"
18
+ selector :players => "radio_button", :group => "tools", :id => "circle", :on_button_pressed => "scene.find('sketchpad').activate(:circle)"
19
+ end
20
+ tool do
21
+ button :text => "Clear", :on_button_pressed => "scene.find('sketchpad').clear"
22
+ end
23
+ end
24
+ sketchpad :id => "sketchpad"
25
+ end
@@ -0,0 +1,36 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ toolbar {
5
+ width "100%"
6
+ height :auto
7
+ margin 25
8
+ horizontal_alignment :center
9
+ }
10
+
11
+ tool {
12
+ width 200
13
+ height 100
14
+ horizontal_alignment :center
15
+ }
16
+
17
+ label {
18
+ width 200
19
+ height :auto
20
+ horizontal_alignment :center
21
+ text_color :black
22
+ font_face :Arial
23
+ font_size 12
24
+ }
25
+
26
+ sketchpad {
27
+ width 600
28
+ height 600
29
+ border_color :black
30
+ border_width 2
31
+ background_color "#eeecb3"
32
+ gradient :on
33
+ secondary_background_color "#f2ee80"
34
+ gradient_penetration 100
35
+ gradient_angle 270
36
+ }
@@ -0,0 +1,6 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ stage "Limelight Sandbox" do
5
+ default_scene "click_me"
6
+ end
@@ -0,0 +1,37 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ sandbox {
5
+ width 900
6
+ height 900
7
+ vertical_alignment :top
8
+ }
9
+
10
+ arena {
11
+ width 900
12
+ height 800
13
+ horizontal_alignment :center
14
+ vertical_alignment :center
15
+ }
16
+
17
+ header {
18
+ width 900
19
+ height 100
20
+ background_color "#888"
21
+ border_color :blue
22
+ border_width 1
23
+ horizontal_alignment :center
24
+ }
25
+
26
+ example_link {
27
+ width 100
28
+ height 48
29
+ font_size 12
30
+ horizontal_alignment :center
31
+ vertical_alignment :center
32
+ text_color :blue
33
+ hover {
34
+ text_color :white
35
+ }
36
+ }
37
+
@@ -0,0 +1,58 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module Fader
5
+
6
+ def self.extended(extended_block)
7
+ end
8
+
9
+ def mouse_entered(e)
10
+ @color = style.background_color
11
+ @base_alpha = (style.background_color[4..-1] + style.background_color[4..-1]).hex
12
+ @step = (255 - @base_alpha) / 80
13
+ @step = 1 if @step == 0
14
+ @should_loop = true
15
+ @thread = Thread.new { do_shading }
16
+ end
17
+
18
+ def mouse_exited(e)
19
+ @should_loop = false
20
+ @thread.join
21
+ style.background_color = @color
22
+ update
23
+ end
24
+
25
+ def do_shading
26
+ while @should_loop
27
+ shade_up
28
+ shade_down
29
+ end
30
+ end
31
+
32
+ def shade_up
33
+ current_alpha = @base_alpha
34
+ while @should_loop and current_alpha < 255
35
+ current_alpha += @step
36
+ update_with_alpha(current_alpha)
37
+ end
38
+ end
39
+
40
+ def shade_down
41
+ current_alpha = 255
42
+ while @should_loop and current_alpha > @base_alpha
43
+ current_alpha -= @step
44
+ update_with_alpha(current_alpha)
45
+ end
46
+ end
47
+
48
+ def update_with_alpha(alpha)
49
+ alpha_string = sprintf("%x", alpha)
50
+ if alpha_string.length == 1
51
+ alpha_string = alpha_string + "0" if alpha > 15
52
+ alpha_string = "0" + alpha_string if alpha < 16
53
+ end
54
+ style.background_color = "#000000#{alpha_string}"
55
+ update_now
56
+ end
57
+
58
+ end
@@ -0,0 +1,14 @@
1
+ #- Copyright 2008 8th Light, Inc.
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 do
7
+ pattern do
8
+ fader :background_color => "#0000", :text => "0% Alpha"
9
+ fader :background_color => "#0008", :text => "50% Alpha"
10
+ fader :background_color => "#000B", :text => "75% Alpha"
11
+ fader :background_color => "#000D", :text => "88% Alpha"
12
+ fader :background_color => "#000F", :text => "100% Alpha"
13
+ end
14
+ end
@@ -0,0 +1,22 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ pattern {
5
+ width 521
6
+ height 640
7
+ horizontal_alignment :center
8
+ vertical_alignment :center
9
+ background_image "images/marilyn.jpg"
10
+ background_image_fill_strategy :static
11
+ }
12
+
13
+ fader {
14
+ width 521
15
+ height 128
16
+ background_color "#0000"
17
+ vertical_alignment :center
18
+ text_color "#0F0"
19
+ padding 10
20
+ font_size 15
21
+ font_style :bold
22
+ }
@@ -0,0 +1,11 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ module Sample
5
+ def mouse_clicked(e)
6
+ puts "mouse clicked"
7
+ selection = scene.find('the_selection')
8
+ selection.style.background_color = self.style.background_color
9
+ selection.update
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ #- Copyright 2008 8th Light, Inc.
2
+ #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
+
4
+ backdrop do
5
+ %w{ red orange yellow green blue magenta }.each do |color|
6
+ sample :background_color => color, :text => color
7
+ end
8
+ selection :id => "the_selection"
9
+ end