sgl 0.4.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. data/ChangeLog +254 -234
  2. data/History.txt +6 -0
  3. data/Manifest.txt +10 -0
  4. data/Rakefile +27 -7
  5. data/examples/cocoa1-basic.rb +14 -14
  6. data/examples/cocoa10-transparent.rb +26 -26
  7. data/examples/cocoa11-application.rb +13 -13
  8. data/examples/cocoa2-draw.rb +23 -23
  9. data/examples/cocoa3-affine.rb +29 -29
  10. data/examples/cocoa4-font.rb +24 -24
  11. data/examples/cocoa5-image.rb +22 -22
  12. data/examples/cocoa6-sound.rb +24 -24
  13. data/examples/cocoa7-movie.rb +40 -40
  14. data/examples/cocoa8-movieoverlay.rb +42 -42
  15. data/examples/cocoa9-streaming.rb +40 -40
  16. data/examples/opengl1-basic.rb +14 -14
  17. data/examples/opengl11-application.rb +13 -13
  18. data/examples/opengl2-draw.rb +23 -23
  19. data/examples/opengl3-affine.rb +29 -29
  20. data/examples/sample1.rb +11 -11
  21. data/examples/sample10.rb +16 -16
  22. data/examples/sample11.rb +22 -22
  23. data/examples/sample11a.rb +33 -33
  24. data/examples/sample12.rb +30 -30
  25. data/examples/sample12a.rb +35 -35
  26. data/examples/sample13.rb +116 -116
  27. data/examples/sample15.rb +24 -24
  28. data/examples/sample16.rb +31 -31
  29. data/examples/sample16a.rb +35 -35
  30. data/examples/sample6.rb +18 -18
  31. data/examples/sample7.rb +16 -16
  32. data/examples/sample9.rb +20 -20
  33. data/examples/testgl.rb +169 -169
  34. data/lib/sgl/bass.rb +46 -46
  35. data/lib/sgl/cocoa-app.rb +43 -43
  36. data/lib/sgl/cocoa-color.rb +65 -65
  37. data/lib/sgl/cocoa-draw.rb +72 -72
  38. data/lib/sgl/cocoa-event.rb +229 -229
  39. data/lib/sgl/cocoa-media.rb +144 -144
  40. data/lib/sgl/cocoa-notuse.rb +493 -493
  41. data/lib/sgl/cocoa-window.rb +203 -203
  42. data/lib/sgl/cocoa.rb +8 -8
  43. data/lib/sgl/opengl-app.rb +38 -38
  44. data/lib/sgl/opengl-color.rb +44 -44
  45. data/lib/sgl/opengl-draw.rb +260 -260
  46. data/lib/sgl/opengl-event.rb +325 -325
  47. data/lib/sgl/opengl-modules.rb +22 -22
  48. data/lib/sgl/opengl-window.rb +224 -224
  49. data/lib/sgl/opengl.rb +7 -7
  50. data/lib/sgl/sgl-button.rb +135 -135
  51. data/lib/sgl/sgl-client.rb +21 -21
  52. data/lib/sgl/sgl-color.rb +68 -82
  53. data/lib/sgl/sgl-connect.rb +9 -9
  54. data/lib/sgl/sgl-server.rb +58 -58
  55. data/lib/sgl/sgl-spring.rb +216 -216
  56. data/lib/sgl/version.rb +2 -2
  57. data/scripts/lib-txt2html.rb +130 -0
  58. data/scripts/txt2html +2 -63
  59. data/spec/sgl_spec.rb +13 -0
  60. data/spec/spec.opts +1 -0
  61. data/spec/spec_helper.rb +1 -0
  62. data/test/test_cocoa_app.rb +291 -291
  63. data/test/test_module_ruby16.rb +30 -30
  64. data/test/test_opengl_app.rb +147 -147
  65. data/test/test_opengl_basic.rb +22 -22
  66. data/test/test_opengl_fullscreen.rb +23 -23
  67. data/test/test_opengl_novice.rb +35 -35
  68. data/website/challenge1.html +91 -91
  69. data/website/challenge1.txt +3 -3
  70. data/website/challenge2.html +143 -144
  71. data/website/challenge2.txt +13 -14
  72. data/website/challenge3.html +66 -63
  73. data/website/challenge3.txt +7 -7
  74. data/website/cocoa.html +85 -88
  75. data/website/cocoa.txt +2 -4
  76. data/website/description.html +138 -138
  77. data/website/description.txt +1 -1
  78. data/website/exercise1.html +262 -264
  79. data/website/exercise1.txt +58 -53
  80. data/website/exercise2.html +241 -683
  81. data/website/exercise2.txt +11 -427
  82. data/website/exercise3.html +206 -0
  83. data/website/exercise3.txt +155 -0
  84. data/website/exercise4.html +198 -0
  85. data/website/exercise4.txt +151 -0
  86. data/website/exercise5.html +162 -0
  87. data/website/exercise5.txt +113 -0
  88. data/website/exhibition.html +84 -84
  89. data/website/howto.html +146 -134
  90. data/website/howto.txt +9 -0
  91. data/website/index.html +178 -178
  92. data/website/index.txt +20 -19
  93. data/website/sound.html +141 -141
  94. metadata +16 -3
@@ -1,40 +1,40 @@
1
- #!/usr/bin/env ruby
2
- # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
-
4
- require "sgl/cocoa"
5
-
6
- def setup
7
- $windowShadow = 0
8
- window 700, 700
9
- backgroundHSV 66, 100, 20
10
- $movie = movie("/Applications/iDVD 3/Tutorial/Media/Background Movie.mov")
11
- $movie.loop = 1
12
- end
13
-
14
- def onMouseDown(x, y)
15
- if 100 < x && x < 120 && 100 < y && y < 120
16
- #p x
17
- $movie.play
18
- end
19
-
20
- if 150 < x && x < 170 && 100 < y && y < 120
21
- $movie.stop
22
- end
23
- end
24
-
25
- def display
26
- x, y = mouseX, mouseY
27
- backgroundHSV 66, 100, 20, y/2
28
-
29
- $movie.rect 100, 200, 500, 500
30
- $movie.rate = x-350
31
- $movie.volume = y/7
32
-
33
- colorHSV 0, 100, 100
34
- rect 100, 100, 120, 120
35
-
36
- colorHSV 33, 100, 100
37
- rect 150, 100, 170, 120
38
- end
39
-
40
- mainloop
1
+ #!/usr/bin/env ruby
2
+ # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
+
4
+ require "sgl/cocoa"
5
+
6
+ def setup
7
+ $windowShadow = 0
8
+ window 700, 700
9
+ backgroundHSV 66, 100, 20
10
+ $movie = movie("/Applications/iDVD 3/Tutorial/Media/Background Movie.mov")
11
+ $movie.loop = 1
12
+ end
13
+
14
+ def onMouseDown(x, y)
15
+ if 100 < x && x < 120 && 100 < y && y < 120
16
+ #p x
17
+ $movie.play
18
+ end
19
+
20
+ if 150 < x && x < 170 && 100 < y && y < 120
21
+ $movie.stop
22
+ end
23
+ end
24
+
25
+ def display
26
+ x, y = mouseX, mouseY
27
+ backgroundHSV 66, 100, 20, y/2
28
+
29
+ $movie.rect 100, 200, 500, 500
30
+ $movie.rate = x-350
31
+ $movie.volume = y/7
32
+
33
+ colorHSV 0, 100, 100
34
+ rect 100, 100, 120, 120
35
+
36
+ colorHSV 33, 100, 100
37
+ rect 150, 100, 170, 120
38
+ end
39
+
40
+ mainloop
@@ -1,42 +1,42 @@
1
- #!/usr/bin/env ruby
2
- # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
-
4
- require "sgl/cocoa"
5
-
6
- def setup
7
- $windowShadow = 0
8
- # $windowBackground = 0
9
- window 900, 700
10
- backgroundHSV 66, 100, 20
11
- $movie = movie("/Applications/iDVD 3/Tutorial/Media/Background Movie.mov")
12
- $movie.loop = 1
13
- end
14
-
15
- def onMouseDown(x, y)
16
- if 100 < x && x < 120 && 100 < y && y < 120
17
- $movie.play
18
- end
19
- if 150 < x && x < 170 && 100 < y && y < 120
20
- $movie.stop
21
- end
22
- end
23
-
24
- def display
25
- x, y = mouseX, mouseY
26
- backgroundHSV 66, 100, 20, y/2
27
- $movie.frame 100, 200, 640, 480
28
- $movie.rate = x-350
29
- $movie.volume = y/7
30
- colorHSV 0, 100, 100
31
- rect 100, 100, 120, 120
32
- colorHSV 33, 100, 100
33
- rect 150, 100, 170, 120
34
- end
35
-
36
- def displayOverlay
37
- x, y = mouseX, mouseY
38
- colorHSV 66, 100, 100, 50
39
- circle x, y, 20
40
- end
41
-
42
- mainloop
1
+ #!/usr/bin/env ruby
2
+ # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
+
4
+ require "sgl/cocoa"
5
+
6
+ def setup
7
+ $windowShadow = 0
8
+ # $windowBackground = 0
9
+ window 900, 700
10
+ backgroundHSV 66, 100, 20
11
+ $movie = movie("/Applications/iDVD 3/Tutorial/Media/Background Movie.mov")
12
+ $movie.loop = 1
13
+ end
14
+
15
+ def onMouseDown(x, y)
16
+ if 100 < x && x < 120 && 100 < y && y < 120
17
+ $movie.play
18
+ end
19
+ if 150 < x && x < 170 && 100 < y && y < 120
20
+ $movie.stop
21
+ end
22
+ end
23
+
24
+ def display
25
+ x, y = mouseX, mouseY
26
+ backgroundHSV 66, 100, 20, y/2
27
+ $movie.frame 100, 200, 640, 480
28
+ $movie.rate = x-350
29
+ $movie.volume = y/7
30
+ colorHSV 0, 100, 100
31
+ rect 100, 100, 120, 120
32
+ colorHSV 33, 100, 100
33
+ rect 150, 100, 170, 120
34
+ end
35
+
36
+ def displayOverlay
37
+ x, y = mouseX, mouseY
38
+ colorHSV 66, 100, 100, 50
39
+ circle x, y, 20
40
+ end
41
+
42
+ mainloop
@@ -1,40 +1,40 @@
1
- #!/usr/bin/env ruby
2
- # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
-
4
- require "sgl/cocoa"
5
-
6
- def setup
7
- # $windowShadow = 0
8
- # $windowBackground = 0
9
- # $windowDelay = 1
10
- # $windowDelay = 10
11
- window 900, 700
12
- backgroundHSV 66, 100, 20
13
- $bgh = 0
14
- # $movie1 = movie("../media/tower1.mov")
15
- $movie1 = movie("../media/sample1.mov")
16
- $movie1.frame(100, 100, 320, 240)
17
- $movie1.play
18
- # $movie2 = movie("../media/powerbook1.mov")
19
- # $movie2.frame 500, 100, 320, 240
20
- # $movie2.play
21
- # $movie3 = movie("../media/imstudio.mov")
22
- # $movie3.frame 100, 400, 320, 240
23
- # $movie3.play
24
- end
25
-
26
- def display
27
- x, y = mouseX, mouseY
28
- backgroundHSV $bgh, 100, 20, y/2
29
- $bgh = $bgh + 1
30
- if 100 < $bgh then $bgh = 0; end
31
- colorHSV 0, 100, 100
32
- rect 100, 50, 120, 70
33
- circle x, y, 20
34
- $movie1.frame(x, y, 320, 240)
35
- end
36
-
37
- def nudisplayOverlay
38
- end
39
-
40
- mainloop
1
+ #!/usr/bin/env ruby
2
+ # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
+
4
+ require "sgl/cocoa"
5
+
6
+ def setup
7
+ # $windowShadow = 0
8
+ # $windowBackground = 0
9
+ # $windowDelay = 1
10
+ # $windowDelay = 10
11
+ window 900, 700
12
+ backgroundHSV 66, 100, 20
13
+ $bgh = 0
14
+ # $movie1 = movie("../media/tower1.mov")
15
+ $movie1 = movie("../media/sample1.mov")
16
+ $movie1.frame(100, 100, 320, 240)
17
+ $movie1.play
18
+ # $movie2 = movie("../media/powerbook1.mov")
19
+ # $movie2.frame 500, 100, 320, 240
20
+ # $movie2.play
21
+ # $movie3 = movie("../media/imstudio.mov")
22
+ # $movie3.frame 100, 400, 320, 240
23
+ # $movie3.play
24
+ end
25
+
26
+ def display
27
+ x, y = mouseX, mouseY
28
+ backgroundHSV $bgh, 100, 20, y/2
29
+ $bgh = $bgh + 1
30
+ if 100 < $bgh then $bgh = 0; end
31
+ colorHSV 0, 100, 100
32
+ rect 100, 50, 120, 70
33
+ circle x, y, 20
34
+ $movie1.frame(x, y, 320, 240)
35
+ end
36
+
37
+ def nudisplayOverlay
38
+ end
39
+
40
+ mainloop
@@ -1,14 +1,14 @@
1
- #!/usr/bin/env ruby
2
- # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
-
4
- require "sgl"
5
-
6
- def setup
7
- window 100, 100
8
- end
9
-
10
- def display
11
- line 0, 0, 100, 100
12
- end
13
-
14
- mainloop
1
+ #!/usr/bin/env ruby
2
+ # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
+
4
+ require "sgl"
5
+
6
+ def setup
7
+ window 100, 100
8
+ end
9
+
10
+ def display
11
+ line 0, 0, 100, 100
12
+ end
13
+
14
+ mainloop
@@ -1,13 +1,13 @@
1
- #!/usr/bin/env ruby
2
- # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
-
4
- require "sgl/opengl-app"
5
-
6
- app = SGL::Application.new
7
- app.set_setup {
8
- app.window(100, 100)
9
- }
10
- app.set_display {
11
- app.line(0, 0, 100, 100)
12
- }
13
- app.mainloop
1
+ #!/usr/bin/env ruby
2
+ # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
+
4
+ require "sgl/opengl-app"
5
+
6
+ app = SGL::Application.new
7
+ app.set_setup {
8
+ app.window(100, 100)
9
+ }
10
+ app.set_display {
11
+ app.line(0, 0, 100, 100)
12
+ }
13
+ app.mainloop
@@ -1,23 +1,23 @@
1
- #!/usr/bin/env ruby
2
- # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
-
4
- require "sgl"
5
-
6
- def setup
7
- window 300, 300
8
- backgroundHSV 66, 100, 20
9
- end
10
-
11
- def display
12
- x, y = mouseX, mouseY
13
- colorHSV 0, 50, 100
14
- lineWidth 3
15
- line 0, 0, x, y
16
- line 300, 0, x, y
17
- line 0, 300, x, y
18
- line 300, 300, x, y
19
- colorHSV 0, 100, 100
20
- rect x-10, y-10, x+10, y+10
21
- end
22
-
23
- mainloop
1
+ #!/usr/bin/env ruby
2
+ # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
+
4
+ require "sgl"
5
+
6
+ def setup
7
+ window 300, 300
8
+ backgroundHSV 66, 100, 20
9
+ end
10
+
11
+ def display
12
+ x, y = mouseX, mouseY
13
+ colorHSV 0, 50, 100
14
+ lineWidth 3
15
+ line 0, 0, x, y
16
+ line 300, 0, x, y
17
+ line 0, 300, x, y
18
+ line 300, 300, x, y
19
+ colorHSV 0, 100, 100
20
+ rect x-10, y-10, x+10, y+10
21
+ end
22
+
23
+ mainloop
@@ -1,29 +1,29 @@
1
- #!/usr/bin/env ruby
2
- # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
-
4
- require "sgl"
5
-
6
- def setup
7
- window 700, 700
8
- backgroundHSV 66, 100, 20
9
- # $font1 = font("Helvetica", 25)
10
- end
11
-
12
- def display
13
- x, y = mouseX, mouseY
14
- colorHSV 0, 50, 100
15
- lineWidth 3
16
- line 0, 0, x, y
17
- line 700, 0, x, y
18
- line 0, 700, x, y
19
- line 700, 700, x, y
20
- colorHSV 0, 100, 100
21
-
22
- translate x, y
23
- rotateZ y
24
- colorHSV y, 100, 100
25
- # $font1.text(10, 10, "hello")
26
- rect -10, -10, +10, +10
27
- end
28
-
29
- mainloop
1
+ #!/usr/bin/env ruby
2
+ # Copyright (C) 2004-2007 Kouichirou Eto, All rights reserved.
3
+
4
+ require "sgl"
5
+
6
+ def setup
7
+ window 700, 700
8
+ backgroundHSV 66, 100, 20
9
+ # $font1 = font("Helvetica", 25)
10
+ end
11
+
12
+ def display
13
+ x, y = mouseX, mouseY
14
+ colorHSV 0, 50, 100
15
+ lineWidth 3
16
+ line 0, 0, x, y
17
+ line 700, 0, x, y
18
+ line 0, 700, x, y
19
+ line 700, 700, x, y
20
+ colorHSV 0, 100, 100
21
+
22
+ translate x, y
23
+ rotateZ y
24
+ colorHSV y, 100, 100
25
+ # $font1.text(10, 10, "hello")
26
+ rect -10, -10, +10, +10
27
+ end
28
+
29
+ mainloop
data/examples/sample1.rb CHANGED
@@ -1,11 +1,11 @@
1
- require "sgl/opengl"
2
-
3
- def setup
4
- window 100, 100
5
- end
6
-
7
- def display
8
- line 0, 0, 100, 100
9
- end
10
-
11
- mainloop
1
+ require "sgl/opengl"
2
+
3
+ def setup
4
+ window 100, 100
5
+ end
6
+
7
+ def display
8
+ line 0, 0, 100, 100
9
+ end
10
+
11
+ mainloop
data/examples/sample10.rb CHANGED
@@ -1,16 +1,16 @@
1
- require "sgl"
2
-
3
- def setup
4
- window -200, -200, 200, 200
5
- end
6
-
7
- def display
8
- push
9
- translate 100, 0
10
- rotateZ 10
11
- scale 2
12
- rect -5, -5, 5, 5
13
- pop
14
- end
15
-
16
- mainloop
1
+ require "sgl"
2
+
3
+ def setup
4
+ window -200, -200, 200, 200
5
+ end
6
+
7
+ def display
8
+ push
9
+ translate 100, 0
10
+ rotateZ 10
11
+ scale 2
12
+ rect -5, -5, 5, 5
13
+ pop
14
+ end
15
+
16
+ mainloop