sgl 0.4.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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