shoes 4.0.0.pre2 → 4.0.0.pre3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +32 -21
- metadata +18 -337
- data/CHANGELOG +0 -84
- data/Gemfile +0 -24
- data/Guardfile +0 -11
- data/Rakefile +0 -14
- data/app.yaml +0 -60
- data/benchmark/app_clear.rb +0 -21
- data/benchmark/clear.rb +0 -69
- data/benchmark/memory/text_dispose.rb +0 -9
- data/benchmark/para_creator.rb +0 -9
- data/benchmark/paras.rb +0 -52
- data/benchmark/urls.rb +0 -40
- data/bin/ruby-shoes +0 -6
- data/bin/shoes-guard +0 -8
- data/bin/shoes-stub +0 -59
- data/ext/install/Rakefile +0 -29
- data/ext/install/shoes.bat +0 -9
- data/lib/shoes.rb +0 -5
- data/lib/shoes/ui/cli.rb +0 -102
- data/lib/shoes/ui/help.rb +0 -535
- data/lib/shoes/ui/manual.rb +0 -6
- data/lib/shoes/version.rb +0 -3
- data/manifests/common.rb +0 -34
- data/manifests/shoes.rb +0 -44
- data/samples/Gemfile +0 -3
- data/samples/Gemfile.lock +0 -35
- data/samples/README +0 -97
- data/samples/boom.rb +0 -239
- data/samples/class-book-adjusted.rb +0 -45
- data/samples/class-book.rb +0 -43
- data/samples/class-book.yaml +0 -387
- data/samples/clicky.rb +0 -24
- data/samples/cy.png +0 -0
- data/samples/expert-definr.rb +0 -23
- data/samples/expert-funnies.rb +0 -60
- data/samples/expert-game-of-life-adjusted.rb +0 -249
- data/samples/expert-game-of-life.rb +0 -243
- data/samples/expert-irb-adjusted.rb +0 -110
- data/samples/expert-irb.rb +0 -112
- data/samples/expert-minesweeper-adjusted.rb +0 -272
- data/samples/expert-minesweeper.rb +0 -267
- data/samples/expert-othello-adjusted.rb +0 -325
- data/samples/expert-othello.rb +0 -318
- data/samples/expert-pong.rb +0 -62
- data/samples/expert-snake.rb +0 -78
- data/samples/expert-tankspank.rb +0 -385
- data/samples/flow.rb +0 -63
- data/samples/good-arc.rb +0 -45
- data/samples/good-clock.rb +0 -51
- data/samples/good-displace.rb +0 -98
- data/samples/good-follow.rb +0 -26
- data/samples/good-potato-chopping.rb +0 -22
- data/samples/good-reminder.rb +0 -174
- data/samples/good-vjot.rb +0 -58
- data/samples/gray.rb +0 -11
- data/samples/loogink.png +0 -0
- data/samples/nks_booklist.rb +0 -24
- data/samples/nks_breadsticks.rb +0 -7
- data/samples/nks_dancing_circle.rb +0 -13
- data/samples/nks_dictionary.rb +0 -23
- data/samples/nks_edit_box.rb +0 -4
- data/samples/nks_edit_line.rb +0 -6
- data/samples/nks_notes.rb +0 -16
- data/samples/nks_poem.rb +0 -22
- data/samples/nks_self.rb +0 -6
- data/samples/nks_text_sizes.rb +0 -10
- data/samples/nks_trurl.rb +0 -5
- data/samples/original-manual-adjusted.rb +0 -475
- data/samples/original-manual.rb +0 -472
- data/samples/packaging/package_me.rb +0 -6
- data/samples/potato_chopping/1258_s001.gif +0 -0
- data/samples/potato_chopping/1258_s002.gif +0 -0
- data/samples/potato_chopping/1258_s003.gif +0 -0
- data/samples/potato_chopping/1258_s004.gif +0 -0
- data/samples/potato_chopping/1258_s005.gif +0 -0
- data/samples/potato_chopping/1258_s006.gif +0 -0
- data/samples/potato_chopping/1258_s007.gif +0 -0
- data/samples/potato_chopping/1258_s008.gif +0 -0
- data/samples/potato_chopping/1258_s009.gif +0 -0
- data/samples/potato_chopping/1258_s010.gif +0 -0
- data/samples/potato_chopping/1258_s011.gif +0 -0
- data/samples/potato_chopping/1258_s012.gif +0 -0
- data/samples/potato_chopping/1258_s013.gif +0 -0
- data/samples/potato_chopping/1258_s014.gif +0 -0
- data/samples/potato_chopping/1258_s015.gif +0 -0
- data/samples/potato_chopping/1258_s016.gif +0 -0
- data/samples/potato_chopping/1258_s017.gif +0 -0
- data/samples/potato_chopping/1258_s018.gif +0 -0
- data/samples/potato_chopping/1258_s019.gif +0 -0
- data/samples/potato_chopping/1258_s020.gif +0 -0
- data/samples/potato_chopping/1258_s021.gif +0 -0
- data/samples/potato_chopping/1258_s022.gif +0 -0
- data/samples/potato_chopping/1258_s023.gif +0 -0
- data/samples/potato_chopping/1258_s024.gif +0 -0
- data/samples/potato_chopping/1258_s025.gif +0 -0
- data/samples/potato_chopping/1258_s026.gif +0 -0
- data/samples/potato_chopping/1258_s027.gif +0 -0
- data/samples/potato_chopping/1258_s028.gif +0 -0
- data/samples/potato_chopping/1258_s029.gif +0 -0
- data/samples/potato_chopping/1258_s030.gif +0 -0
- data/samples/potato_chopping/1258_s031.gif +0 -0
- data/samples/potato_chopping/1258_s032.gif +0 -0
- data/samples/potato_chopping/1258_s033.gif +0 -0
- data/samples/potato_chopping/1258_s034.gif +0 -0
- data/samples/potato_chopping/1258_s035.gif +0 -0
- data/samples/potato_chopping/1258_s036.gif +0 -0
- data/samples/potato_chopping/1258_s037.gif +0 -0
- data/samples/potato_chopping/1258_s038.gif +0 -0
- data/samples/potato_chopping/1258_s039.gif +0 -0
- data/samples/potato_chopping/1258_s040.gif +0 -0
- data/samples/potato_chopping/1258_s041.gif +0 -0
- data/samples/potato_chopping/1258_s042.gif +0 -0
- data/samples/potato_chopping/1258_s043.gif +0 -0
- data/samples/potato_chopping/1258_s044.gif +0 -0
- data/samples/potato_chopping/1258_s045.gif +0 -0
- data/samples/potato_chopping/1258_s046.gif +0 -0
- data/samples/potato_chopping/1258_s047.gif +0 -0
- data/samples/potato_chopping/1258_s048.gif +0 -0
- data/samples/potato_chopping/1258_s049.gif +0 -0
- data/samples/potato_chopping/1258_s050.gif +0 -0
- data/samples/potato_chopping/1258_s051.gif +0 -0
- data/samples/potato_chopping/1258_s052.gif +0 -0
- data/samples/potato_chopping/1258_s053.gif +0 -0
- data/samples/potato_chopping/1258_s054.gif +0 -0
- data/samples/potato_chopping/1258_s055.gif +0 -0
- data/samples/potato_chopping/1258_s056.gif +0 -0
- data/samples/potato_chopping/1258_s057.gif +0 -0
- data/samples/potato_chopping/1258_s058.gif +0 -0
- data/samples/potato_chopping/1258_s059.gif +0 -0
- data/samples/present.rb +0 -27
- data/samples/progress.rb +0 -10
- data/samples/sample1.rb +0 -30
- data/samples/sample12.rb +0 -21
- data/samples/sample13.rb +0 -13
- data/samples/sample14.rb +0 -64
- data/samples/sample15.rb +0 -18
- data/samples/sample16.rb +0 -10
- data/samples/sample17.rb +0 -10
- data/samples/sample2.rb +0 -14
- data/samples/sample21.rb +0 -5
- data/samples/sample23.rb +0 -8
- data/samples/sample24.rb +0 -21
- data/samples/sample27.rb +0 -18
- data/samples/sample3.rb +0 -14
- data/samples/sample31.rb +0 -22
- data/samples/sample34.rb +0 -27
- data/samples/sample35.rb +0 -32
- data/samples/sample37.rb +0 -8
- data/samples/sample4.rb +0 -7
- data/samples/sample42.rb +0 -14
- data/samples/sample45.rb +0 -11
- data/samples/sample56.rb +0 -10
- data/samples/sample6.rb +0 -9
- data/samples/sample7.rb +0 -3
- data/samples/sample8.rb +0 -7
- data/samples/sample9.rb +0 -10
- data/samples/simple-accordion.rb +0 -75
- data/samples/simple-anim-shapes.rb +0 -17
- data/samples/simple-anim-text.rb +0 -13
- data/samples/simple-animate.rb +0 -12
- data/samples/simple-arc.rb +0 -23
- data/samples/simple-bounce.rb +0 -24
- data/samples/simple-brightness-transitions.rb +0 -8
- data/samples/simple-button-animate.rb +0 -16
- data/samples/simple-calc-2.rb +0 -34
- data/samples/simple-calc.rb +0 -70
- data/samples/simple-color-selector.rb +0 -10
- data/samples/simple-color-transitions.rb +0 -11
- data/samples/simple-control-sizes.rb +0 -24
- data/samples/simple-curve.rb +0 -26
- data/samples/simple-dialogs-outside.rb +0 -12
- data/samples/simple-dialogs.rb +0 -32
- data/samples/simple-displace.rb +0 -15
- data/samples/simple-downloader.rb +0 -27
- data/samples/simple-draw.rb +0 -13
- data/samples/simple-editor.rb +0 -28
- data/samples/simple-face.rb +0 -14
- data/samples/simple-flow-wrap.rb +0 -11
- data/samples/simple-font.rb +0 -17
- data/samples/simple-form.rb +0 -29
- data/samples/simple-form.shy +0 -0
- data/samples/simple-fullscreen.rb +0 -4
- data/samples/simple-guess-game.rb +0 -28
- data/samples/simple-keypress.rb +0 -14
- data/samples/simple-manual.rb +0 -2
- data/samples/simple-mask.rb +0 -21
- data/samples/simple-menu.rb +0 -47
- data/samples/simple-mouse-follow.rb +0 -8
- data/samples/simple-move.rb +0 -13
- data/samples/simple-oval.rb +0 -3
- data/samples/simple-sample-executor.rb +0 -6
- data/samples/simple-shoes-intro.rb +0 -22
- data/samples/simple-slide.rb +0 -56
- data/samples/simple-sound.rb +0 -30
- data/samples/simple-sphere.rb +0 -28
- data/samples/simple-stripes.rb +0 -8
- data/samples/simple-tictactoe.rb +0 -238
- data/samples/simple-timer.rb +0 -15
- data/samples/simple-video.rb +0 -13
- data/samples/simple-visibility.rb +0 -11
- data/samples/simple-widget.rb +0 -9
- data/samples/sounds/102719__sarge4267__explosion.mp3 +0 -0
- data/samples/sounds/145622__andybrannan__train-fog-horn-long-wyomming.aiff +0 -0
- data/samples/sounds/46492__phreaksaccount__shields1.ogg +0 -0
- data/samples/sounds/61847__simon-rue__boink-v3.wav +0 -0
- data/samples/swt-raw.rb +0 -20
- data/samples/troll.rb +0 -22
- data/shoes.gemspec +0 -29
- data/snapshots/sample1.png +0 -0
- data/snapshots/sample10.png +0 -0
- data/snapshots/sample11.png +0 -0
- data/snapshots/sample12.png +0 -0
- data/snapshots/sample13.png +0 -0
- data/snapshots/sample14.png +0 -0
- data/snapshots/sample15.png +0 -0
- data/snapshots/sample16.png +0 -0
- data/snapshots/sample17.png +0 -0
- data/snapshots/sample18.png +0 -0
- data/snapshots/sample19.png +0 -0
- data/snapshots/sample2.png +0 -0
- data/snapshots/sample20.png +0 -0
- data/snapshots/sample21.png +0 -0
- data/snapshots/sample22.png +0 -0
- data/snapshots/sample23.png +0 -0
- data/snapshots/sample24.png +0 -0
- data/snapshots/sample27.png +0 -0
- data/snapshots/sample28.png +0 -0
- data/snapshots/sample29.png +0 -0
- data/snapshots/sample3.png +0 -0
- data/snapshots/sample30.png +0 -0
- data/snapshots/sample31.png +0 -0
- data/snapshots/sample34.png +0 -0
- data/snapshots/sample35.png +0 -0
- data/snapshots/sample36.png +0 -0
- data/snapshots/sample37.png +0 -0
- data/snapshots/sample4.png +0 -0
- data/snapshots/sample42.png +0 -0
- data/snapshots/sample44.png +0 -0
- data/snapshots/sample45.png +0 -0
- data/snapshots/sample46.png +0 -0
- data/snapshots/sample5.png +0 -0
- data/snapshots/sample56.png +0 -0
- data/snapshots/sample6.png +0 -0
- data/snapshots/sample7.png +0 -0
- data/snapshots/sample8.png +0 -0
- data/snapshots/sample9.png +0 -0
- data/snapshots/sample99.png +0 -0
- data/static/PKGBUILD +0 -47
- data/static/Shoes.icns +0 -0
- data/static/avatar.png +0 -0
- data/static/code_highlighter.js +0 -188
- data/static/code_highlighter_ruby.js +0 -26
- data/static/downloading.png +0 -0
- data/static/icon-debug.png +0 -0
- data/static/icon-error.png +0 -0
- data/static/icon-info.png +0 -0
- data/static/icon-warn.png +0 -0
- data/static/listbox_button1.png +0 -0
- data/static/listbox_button2.png +0 -0
- data/static/man-app.png +0 -0
- data/static/man-builds.png +0 -0
- data/static/man-builds1.png +0 -0
- data/static/man-editor-notepad.png +0 -0
- data/static/man-editor-osx.png +0 -0
- data/static/man-ele-background.png +0 -0
- data/static/man-ele-border.png +0 -0
- data/static/man-ele-button.png +0 -0
- data/static/man-ele-check.png +0 -0
- data/static/man-ele-editbox.png +0 -0
- data/static/man-ele-editline.png +0 -0
- data/static/man-ele-image.png +0 -0
- data/static/man-ele-listbox.png +0 -0
- data/static/man-ele-progress.png +0 -0
- data/static/man-ele-radio.png +0 -0
- data/static/man-ele-shape.png +0 -0
- data/static/man-ele-textblock.png +0 -0
- data/static/man-ele-video.png +0 -0
- data/static/man-intro-dmg.png +0 -0
- data/static/man-intro-exe.png +0 -0
- data/static/man-look-tiger.png +0 -0
- data/static/man-look-ubuntu.png +0 -0
- data/static/man-look-vista.png +0 -0
- data/static/man-run-osx.png +0 -0
- data/static/man-run-vista.png +0 -0
- data/static/man-run-xp.png +0 -0
- data/static/man-shot1.png +0 -0
- data/static/manual-en.txt +0 -3531
- data/static/manual-ja.txt +0 -2829
- data/static/manual.css +0 -184
- data/static/menu-corner1.png +0 -0
- data/static/menu-corner2.png +0 -0
- data/static/menu-gray.png +0 -0
- data/static/menu-left.png +0 -0
- data/static/menu-right.png +0 -0
- data/static/menu-top.png +0 -0
- data/static/shoes-dmg.jpg +0 -0
- data/static/shoes-icon-blue.png +0 -0
- data/static/shoes-icon-brown.png +0 -0
- data/static/shoes-icon.png +0 -0
- data/static/shoes-manual-apps.gif +0 -0
- data/static/shoes-manual-apps.png +0 -0
- data/static/shoes_main_window.png +0 -0
- data/static/stripe.png +0 -0
- data/static/tutor-back.png +0 -0
- data/tasks/changelog.rb +0 -92
- data/tasks/gem.rb +0 -38
- data/tasks/rspec.rb +0 -106
- data/tasks/sample.rb +0 -66
- data/tasks/yard.rb +0 -13
data/samples/sample3.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
class Range
|
2
|
-
def rand
|
3
|
-
Random.new.rand self
|
4
|
-
end
|
5
|
-
end
|
6
|
-
|
7
|
-
Shoes.app width: 300, height: 400 do
|
8
|
-
fill rgb(0, 0.6, 0.9, 0.1)
|
9
|
-
stroke rgb(0, 0.6, 0.9, 0.3)
|
10
|
-
strokewidth 1
|
11
|
-
100.times do
|
12
|
-
oval left: rand(-30..width), top: rand(-30..height), diameter: rand(25..100)
|
13
|
-
end
|
14
|
-
end
|
data/samples/sample31.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
Shoes.app do
|
2
|
-
strokewidth 3
|
3
|
-
eles = []
|
4
|
-
eles << oval(0, 0, 600, angle: 90)
|
5
|
-
eles << rect(50, 50, 350, 350, curve: 10)
|
6
|
-
eles << star(300, 300, 30, 200, 180)
|
7
|
-
eles << shape(left: 200, top: 150, width: 300, height: 300, rotate: [45, 300, 300]){
|
8
|
-
move_to 200, 200
|
9
|
-
line_to 200, 100
|
10
|
-
curve_to 100, 100, 20, 200, 50, 150
|
11
|
-
line_to 20, 100
|
12
|
-
}
|
13
|
-
eles << line(100, 100, 480, 480)
|
14
|
-
|
15
|
-
button 'change colors' do
|
16
|
-
eles.each do |ele|
|
17
|
-
colors = []
|
18
|
-
4.times{colors << send(Shoes::COLORS.keys[rand(Shoes::COLORS.keys.size)])}
|
19
|
-
ele.style fill: gradient(colors[0], colors[1]), stroke: gradient(colors[2], colors[3])
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/samples/sample34.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
# Refer to NKS (Nobody Knows Shoes) page 21.
|
2
|
-
|
3
|
-
Shoes.app width: 280, height: 350 do
|
4
|
-
flow width: 1.0, margin: 10 do
|
5
|
-
flow do
|
6
|
-
background gold, curve: 10
|
7
|
-
stack width: 1.0 do
|
8
|
-
banner "A POEM"
|
9
|
-
end
|
10
|
-
stack width: 80 do
|
11
|
-
para "Goes like:"
|
12
|
-
end
|
13
|
-
stack width: 180 do
|
14
|
-
para "the sun.\n",
|
15
|
-
"a lemon.\n",
|
16
|
-
"the goalie.\n",
|
17
|
-
"a fireplace.\n\n",
|
18
|
-
"i want to write\n",
|
19
|
-
"a poem for the\n",
|
20
|
-
"kids who haven't\n",
|
21
|
-
"even heard one yet.\n\n",
|
22
|
-
"and the goalie guards\n",
|
23
|
-
"the fireplace."
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
data/samples/sample35.rb
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
class PhotoFrame < Shoes
|
2
|
-
url '/', :index
|
3
|
-
url '/cy', :cy
|
4
|
-
url '/loogink', :loogink
|
5
|
-
|
6
|
-
def index
|
7
|
-
eval(['loogink', 'cy'].sample)
|
8
|
-
end
|
9
|
-
|
10
|
-
def loogink
|
11
|
-
display tomato, white, "Loogink", "Cy", "She is Loogink"
|
12
|
-
end
|
13
|
-
|
14
|
-
def cy
|
15
|
-
display paleturquoise, gray, "Cy", "Loogink", "He is Cy"
|
16
|
-
end
|
17
|
-
|
18
|
-
def display(bg_color, fg_color, name, other, message)
|
19
|
-
background bg_color
|
20
|
-
stack do
|
21
|
-
inscription 'Shoes 4', left: 80
|
22
|
-
image File.join(Shoes::DIR, "samples/#{name.downcase}.png"),
|
23
|
-
left: 75, top: 25
|
24
|
-
para fg(strong(message), fg_color),
|
25
|
-
' ->',
|
26
|
-
link(strong(other), click:"/#{other.downcase}"),
|
27
|
-
left: 35, top: 85
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
Shoes.app width: 200, height: 120, title: 'Photo Frame'
|
data/samples/sample37.rb
DELETED
data/samples/sample4.rb
DELETED
data/samples/sample42.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
Shoes.app height: 200 do
|
2
|
-
stack margin_left: 10 do
|
3
|
-
title 'Progress Example'
|
4
|
-
@p = para
|
5
|
-
end
|
6
|
-
|
7
|
-
pg = progress width: width - 20, height: 20
|
8
|
-
pg.move 10, 100
|
9
|
-
animate do |i|
|
10
|
-
j = i % 100 + 1
|
11
|
-
pg.fraction = j / 100.0
|
12
|
-
@p.text = "%2d%" % (pg.fraction * 100)
|
13
|
-
end
|
14
|
-
end
|
data/samples/sample45.rb
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
Shoes.app height: 200 do
|
2
|
-
font File.join(Shoes::DIR, 'fonts/Coolvetica.ttf')
|
3
|
-
stack do
|
4
|
-
title 'Good Question'
|
5
|
-
title 'Good Question', font: 'Coolvetica'
|
6
|
-
title 'Good Question', font: 'Lucida console'
|
7
|
-
end
|
8
|
-
para 'Arial (default)', left: 400, top: 25
|
9
|
-
para 'Coolvetica', left: 400, top: 70
|
10
|
-
para 'Lucida Console', left: 400, top: 120
|
11
|
-
end
|
data/samples/sample56.rb
DELETED
data/samples/sample6.rb
DELETED
data/samples/sample7.rb
DELETED
data/samples/sample8.rb
DELETED
data/samples/sample9.rb
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
Shoes.app do
|
2
|
-
flow(width: 300){ 3.times{ |i| button "hello#{i}" } }
|
3
|
-
stack(width: 100){ 3.times{ |i| button "hello#{i}" } }
|
4
|
-
button 'bye bye1'
|
5
|
-
flow(width: 0.5){ 2.times{ |i| flow(width: 0.5){ 2.times{ |j| button "Yayyyy#{j}" } } } }
|
6
|
-
flow(width: 0.3){ button 'go go go go go' }
|
7
|
-
stack(width: 0.3){ edit_line; 3.times{ para 'hello' } }
|
8
|
-
flow(width: 0.3){ image File.join(Shoes::DIR, 'static/shoes-icon.png') }
|
9
|
-
button 'bye bye2'
|
10
|
-
end
|
data/samples/simple-accordion.rb
DELETED
@@ -1,75 +0,0 @@
|
|
1
|
-
module Accordion
|
2
|
-
def open_page stack
|
3
|
-
active = app.slot.contents.map { |x| x.contents[1] }.
|
4
|
-
detect { |x| x.height > 0 }
|
5
|
-
return if active == stack
|
6
|
-
a = animate 60 do
|
7
|
-
stack.height += 20
|
8
|
-
active.height = 240 - stack.height if active
|
9
|
-
a.stop if stack.height == 240
|
10
|
-
end
|
11
|
-
end
|
12
|
-
def page title, text
|
13
|
-
@pages ||= []
|
14
|
-
@pages <<
|
15
|
-
stack do
|
16
|
-
page_text = nil
|
17
|
-
stack width: "100%" do
|
18
|
-
background "#fff".."#eed"
|
19
|
-
hi = background "#ddd".."#ba9", hidden: true
|
20
|
-
para link(title) {}, size: 26
|
21
|
-
hover { hi.show }
|
22
|
-
leave { hi.hide }
|
23
|
-
click { open_page page_text }
|
24
|
-
end
|
25
|
-
page_text =
|
26
|
-
stack width: "100%", height: (@pages.empty? ? 240 : 0) do
|
27
|
-
stack margin: 10 do
|
28
|
-
text.split(/\n{2,}/).each do |pg|
|
29
|
-
para pg
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
Shoes.app do
|
38
|
-
extend Accordion
|
39
|
-
style(Link, stroke: black, underline: nil, weight: "strong")
|
40
|
-
style(LinkHover, stroke: black, fill: nil, underline: nil)
|
41
|
-
|
42
|
-
page "0.0", <<-'END'
|
43
|
-
There is a thought
|
44
|
-
I have just had
|
45
|
-
Which I don’t care to pass to
|
46
|
-
Anyone at all at this time.
|
47
|
-
|
48
|
-
I have even forgotten it now,
|
49
|
-
But kept only the pleasures
|
50
|
-
Of my property
|
51
|
-
And of my controlled mental slippage.
|
52
|
-
END
|
53
|
-
page "0.1", <<-'END'
|
54
|
-
My eyes have blinked again
|
55
|
-
And I have just realized
|
56
|
-
This upright world
|
57
|
-
I have been in.
|
58
|
-
|
59
|
-
My eyelids wipe
|
60
|
-
My eyes hundreds of times
|
61
|
-
Reseting and renovating
|
62
|
-
The scenery.
|
63
|
-
END
|
64
|
-
page "0.2", <<-'END'
|
65
|
-
Sister, without you,
|
66
|
-
The universe would
|
67
|
-
Have such a hole through it,
|
68
|
-
Where infinity has been shot.
|
69
|
-
|
70
|
-
This cannot be, though.
|
71
|
-
There will always be room
|
72
|
-
For you—all of us are
|
73
|
-
Holding the way open.
|
74
|
-
END
|
75
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
Shoes.app do
|
2
|
-
background rgb(0, 0, 0)
|
3
|
-
fill rgb(255, 255, 255)
|
4
|
-
rects = [
|
5
|
-
rect(0, 0, 50, 50),
|
6
|
-
rect(0, 0, 100, 100),
|
7
|
-
rect(0, 0, 75, 75)
|
8
|
-
]
|
9
|
-
animate(24) do |i|
|
10
|
-
rects.each do |r|
|
11
|
-
r.move(rand(0..400), rand(0..400))
|
12
|
-
end
|
13
|
-
end
|
14
|
-
button "OK", top: 0.5, left: 0.5 do
|
15
|
-
quit unless confirm "You ARE sure you're OK??"
|
16
|
-
end
|
17
|
-
end
|
data/samples/simple-anim-text.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
Shoes.app do
|
2
|
-
stack top: 0.5, left: 0.5 do
|
3
|
-
para "Counting up:"
|
4
|
-
l = para "0"
|
5
|
-
animate(24) do |i|
|
6
|
-
f = ['Arial 14px', 'Serif 34px', 'Monospace 18px', 'Arial 48px'][rand(3)]
|
7
|
-
l.replace "#{i}", font: f
|
8
|
-
end
|
9
|
-
motion do |x, y|
|
10
|
-
Shoes.p [x, y]
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
data/samples/simple-animate.rb
DELETED
data/samples/simple-arc.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# a translation from a processing example
|
3
|
-
# http://vormplus.be/weging/an-introduction-to-processing/
|
4
|
-
#
|
5
|
-
Shoes.app width: 420, height: 420, resizable: false do
|
6
|
-
rotation = -(Shoes::HALF_PI / 3)
|
7
|
-
step = 20
|
8
|
-
|
9
|
-
background gray(240)
|
10
|
-
stroke gray(127)
|
11
|
-
cap :curve
|
12
|
-
nofill
|
13
|
-
|
14
|
-
10.times do |i|
|
15
|
-
strokewidth i
|
16
|
-
size = 200 + (step * i)
|
17
|
-
shape do
|
18
|
-
arc self.width / 2, self.height / 2,
|
19
|
-
size, size,
|
20
|
-
rotation * i, rotation * i + Shoes::TWO_PI - Shoes::HALF_PI
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
data/samples/simple-bounce.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
xspeed, yspeed = 8.4, 6.6
|
2
|
-
xdir, ydir = 1, 1
|
3
|
-
|
4
|
-
Shoes.app do
|
5
|
-
background "#DFA"
|
6
|
-
border black, strokewidth: 6
|
7
|
-
|
8
|
-
nostroke
|
9
|
-
@icon = image "#{Shoes::DIR}/static/shoes-icon.png", left: 100, top: 100 do
|
10
|
-
alert "You're soooo quick."
|
11
|
-
end
|
12
|
-
|
13
|
-
x, y = self.width / 2, self.height / 2
|
14
|
-
size = [@icon.height, @icon.width]
|
15
|
-
animate(30) do
|
16
|
-
x += xspeed * xdir
|
17
|
-
y += yspeed * ydir
|
18
|
-
|
19
|
-
xdir *= -1 if x > self.width - size[0] or x < 0
|
20
|
-
ydir *= -1 if y > self.height - size[1] or y < 0
|
21
|
-
|
22
|
-
@icon.move x.to_i, y.to_i
|
23
|
-
end
|
24
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
Shoes.app do
|
2
|
-
flow margin: 12 do
|
3
|
-
# Set up three buttons
|
4
|
-
button "Stop" do
|
5
|
-
@anim.stop
|
6
|
-
end
|
7
|
-
@two = button "Watch Me!"
|
8
|
-
button "Start" do
|
9
|
-
@anim.start
|
10
|
-
end
|
11
|
-
# Bounce the second button
|
12
|
-
@anim = animate do |frame|
|
13
|
-
@two.displace(0, (Math.sin(frame) * 30).to_i)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
data/samples/simple-calc-2.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
Shoes.app height: 250, width: 198 do
|
2
|
-
def do_calc
|
3
|
-
@number = @previous.send(@op, @number) if @op
|
4
|
-
@op = nil
|
5
|
-
end
|
6
|
-
|
7
|
-
@previous, @number, @op = 0, 0, nil
|
8
|
-
background rgb(235, 235, 210)
|
9
|
-
flow margin: 5 do
|
10
|
-
flow height: 240, width: 190, margin: [2, 5, 0, 0] do
|
11
|
-
background "#996".."#333", curve: 5
|
12
|
-
number_field = para strong(@number, ' '*20), stroke: white, margin: 8
|
13
|
-
flow width: 218 do
|
14
|
-
%w(7 8 9 / 4 5 6 * 1 2 3 - 0 Clr = +).each do |btn|
|
15
|
-
button btn, width: 46, height: 46 do
|
16
|
-
case btn
|
17
|
-
when /[0-9]/
|
18
|
-
@number = @number.to_i * 10 + btn.to_i
|
19
|
-
when 'Clr'
|
20
|
-
@previous, @number, @op = 0, 0, nil
|
21
|
-
when '='
|
22
|
-
do_calc
|
23
|
-
else
|
24
|
-
do_calc
|
25
|
-
@previous, @number = @number, nil
|
26
|
-
@op = btn
|
27
|
-
end
|
28
|
-
number_field.text = @number.to_s
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
data/samples/simple-calc.rb
DELETED
@@ -1,70 +0,0 @@
|
|
1
|
-
class Calc
|
2
|
-
def initialize
|
3
|
-
@number = 0
|
4
|
-
@previous = nil
|
5
|
-
@op = nil
|
6
|
-
end
|
7
|
-
|
8
|
-
def to_s
|
9
|
-
@number.to_s
|
10
|
-
end
|
11
|
-
|
12
|
-
(0..9).each do |n|
|
13
|
-
define_method "press_#{n}" do
|
14
|
-
@number = @number.to_i * 10 + n
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def press_clear
|
19
|
-
@number = 0
|
20
|
-
end
|
21
|
-
|
22
|
-
{add: '+', sub: '-', times: '*', div: '/'}.each do |meth, op|
|
23
|
-
define_method "press_#{meth}" do
|
24
|
-
if @op
|
25
|
-
press_equals
|
26
|
-
end
|
27
|
-
@op = op
|
28
|
-
@previous, @number = @number, nil
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def press_equals
|
33
|
-
@number = @previous.send(@op, @number.to_i) unless (@previous.nil? or @op.nil? or @number.nil?)
|
34
|
-
@op = nil
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
number_field = nil
|
40
|
-
number = Calc.new
|
41
|
-
Shoes.app height: 250, width: 200, resizable: false do
|
42
|
-
background "#EEC".."#996", curve: 5, margin: 2
|
43
|
-
|
44
|
-
stack margin: 2 do
|
45
|
-
|
46
|
-
stack margin: 8 do
|
47
|
-
number_field = para strong(number)
|
48
|
-
end
|
49
|
-
|
50
|
-
flow width: 218, margin: 4 do
|
51
|
-
%w(7 8 9 / 4 5 6 * 1 2 3 - 0 Clr = +).each do |btn|
|
52
|
-
button btn, width: 46, height: 46 do
|
53
|
-
method = case btn
|
54
|
-
when /[0-9]/; 'press_'+btn
|
55
|
-
when 'Clr'; 'press_clear'
|
56
|
-
when '='; 'press_equals'
|
57
|
-
when '+'; 'press_add'
|
58
|
-
when '-'; 'press_sub'
|
59
|
-
when '*'; 'press_times'
|
60
|
-
when '/'; 'press_div'
|
61
|
-
end
|
62
|
-
|
63
|
-
number.send(method)
|
64
|
-
number_field.replace strong(number)
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
end
|