ruby-processing 1.0.9 → 1.0.10.1

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 (193) hide show
  1. data/CHANGELOG +13 -1
  2. data/bin/rp5 +8 -2
  3. data/lib/core/core.jar +0 -0
  4. data/lib/core/jruby-complete.jar +0 -0
  5. data/lib/ruby-processing.rb +2 -2
  6. data/lib/ruby-processing/app.rb +108 -338
  7. data/lib/ruby-processing/config.rb +6 -0
  8. data/lib/ruby-processing/helper_methods.rb +120 -0
  9. data/lib/ruby-processing/library_loader.rb +140 -0
  10. data/lib/ruby-processing/runner.rb +34 -4
  11. data/lib/ruby-processing/runners/base.rb +10 -11
  12. data/lib/ruby-processing/runners/live.rb +1 -1
  13. data/lib/ruby-processing/runners/run.rb +1 -1
  14. data/lib/ruby-processing/runners/watch.rb +18 -76
  15. data/lib/templates/applet/index.html.erb +8 -9
  16. data/library/control_panel/control_panel.rb +1 -1
  17. data/library/dxf/library/dxf.jar +0 -0
  18. data/library/dxf/library/export.txt +1 -0
  19. data/library/javascript/library/export.txt +3 -1
  20. data/library/minim/library/export.txt +1 -0
  21. data/library/minim/library/jl1.0.jar +0 -0
  22. data/library/minim/library/jsminim.jar +0 -0
  23. data/library/minim/library/minim-spi.jar +0 -0
  24. data/library/minim/library/minim.jar +0 -0
  25. data/library/minim/library/mp3spi1.9.4.jar +0 -0
  26. data/library/minim/library/tritonus_aos.jar +0 -0
  27. data/library/minim/library/tritonus_share.jar +0 -0
  28. data/library/net/library/export.txt +1 -0
  29. data/library/net/library/net.jar +0 -0
  30. data/library/opengl/library/export.txt +7 -10
  31. data/library/opengl/library/gluegen-rt.jar +0 -0
  32. data/library/opengl/library/jogl.jar +0 -0
  33. data/library/opengl/library/{libgluegen-rt.so → linux32/libgluegen-rt.so} +0 -0
  34. data/library/opengl/library/{libjogl.so → linux32/libjogl.so} +0 -0
  35. data/library/opengl/library/{libjogl_awt.so → linux32/libjogl_awt.so} +0 -0
  36. data/library/opengl/library/{libjogl_cg.so → linux32/libjogl_cg.so} +0 -0
  37. data/library/opengl/library/linux64/libgluegen-rt.so +0 -0
  38. data/library/opengl/library/linux64/libjogl.so +0 -0
  39. data/library/opengl/library/linux64/libjogl_awt.so +0 -0
  40. data/library/opengl/library/linux64/libjogl_cg.so +0 -0
  41. data/library/opengl/library/{libgluegen-rt.jnilib → macosx/libgluegen-rt.jnilib} +0 -0
  42. data/library/opengl/library/{libjogl.jnilib → macosx/libjogl.jnilib} +0 -0
  43. data/library/opengl/library/{libjogl_awt.jnilib → macosx/libjogl_awt.jnilib} +0 -0
  44. data/library/opengl/library/{libjogl_cg.jnilib → macosx/libjogl_cg.jnilib} +0 -0
  45. data/library/opengl/library/opengl.jar +0 -0
  46. data/library/opengl/library/{gluegen-rt.dll → windows32/gluegen-rt.dll} +0 -0
  47. data/library/opengl/library/{jogl.dll → windows32/jogl.dll} +0 -0
  48. data/library/opengl/library/{jogl_awt.dll → windows32/jogl_awt.dll} +0 -0
  49. data/library/opengl/library/{jogl_cg.dll → windows32/jogl_cg.dll} +0 -0
  50. data/library/opengl/library/windows64/gluegen-rt.dll +0 -0
  51. data/library/opengl/library/windows64/jogl.dll +0 -0
  52. data/library/opengl/library/windows64/jogl_awt.dll +0 -0
  53. data/library/opengl/library/windows64/jogl_cg.dll +0 -0
  54. data/library/pdf/library/export.txt +1 -0
  55. data/library/pdf/library/itext.jar +0 -0
  56. data/library/pdf/library/pdf.jar +0 -0
  57. data/library/serial/library/RXTXcomm.jar +0 -0
  58. data/library/serial/library/export.txt +1 -3
  59. data/library/serial/library/linux32/librxtxSerial.so +0 -0
  60. data/library/serial/library/linux64/librxtxSerial.so +0 -0
  61. data/library/serial/library/macosx/librxtxSerial.jnilib +0 -0
  62. data/library/serial/library/serial.jar +0 -0
  63. data/library/serial/library/windows32/rxtxSerial.dll +0 -0
  64. data/library/serial/library/windows64/rxtxSerial.dll +0 -0
  65. data/library/video/library/export.txt +1 -0
  66. data/library/video/library/video.jar +0 -0
  67. data/samples/{animator.rb → contributed/animator.rb} +0 -0
  68. data/samples/{bezier_playground.rb → contributed/bezier_playground.rb} +0 -0
  69. data/samples/{circle_collision.rb → contributed/circle_collision.rb} +0 -0
  70. data/samples/contributed/drawolver.rb +182 -0
  71. data/samples/{empathy.rb → contributed/empathy.rb} +7 -7
  72. data/samples/{fern.rb → contributed/fern.rb} +0 -0
  73. data/samples/{flight_patterns.rb → contributed/flight_patterns.rb} +0 -0
  74. data/samples/{full_screen.rb → contributed/full_screen.rb} +0 -0
  75. data/samples/{getting_started.rb → contributed/getting_started.rb} +0 -0
  76. data/samples/{gravity.rb → contributed/gravity.rb} +0 -0
  77. data/samples/{jwishy.rb → contributed/jwishy.rb} +0 -0
  78. data/samples/{orbit.rb → contributed/orbit.rb} +0 -0
  79. data/samples/{pong.rb → contributed/pong.rb} +0 -0
  80. data/samples/{reflection.rb → contributed/reflection.rb} +0 -0
  81. data/samples/{simple_buffer.rb → contributed/simple_buffer.rb} +0 -0
  82. data/samples/{tree.rb → contributed/tree.rb} +0 -0
  83. data/samples/peasy_cam/library/hilbert/hilbert.rb +11 -10
  84. data/samples/processing_app/3D/camera/move_eye.rb +29 -0
  85. data/samples/processing_app/3D/form/brick_tower.rb +11 -11
  86. data/samples/processing_app/3D/form/cubic_grid.rb +51 -0
  87. data/samples/processing_app/3D/form/icosahedra/icosahedra.rb +76 -0
  88. data/samples/processing_app/3D/form/icosahedra/icosahedron.rb +116 -0
  89. data/samples/processing_app/3D/form/icosahedra/shape_3D.rb +25 -0
  90. data/samples/processing_app/3D/form/primitives.rb +42 -0
  91. data/samples/processing_app/3D/form/rgb_cube.rb +88 -0
  92. data/samples/processing_app/3D/form/shape_transform.rb +94 -0
  93. data/samples/processing_app/3D/form/toroid.rb +130 -0
  94. data/samples/processing_app/3D/form/vertices.rb +81 -0
  95. data/samples/processing_app/3D/image/data/eames.jpg +0 -0
  96. data/samples/processing_app/3D/image/data/ystone08.jpg +0 -0
  97. data/samples/processing_app/3D/image/explode.rb +56 -0
  98. data/samples/processing_app/3D/image/extrusion.rb +49 -0
  99. data/samples/processing_app/3D/image/zoom.rb +83 -0
  100. data/samples/processing_app/3D/lights/directional.rb +41 -0
  101. data/samples/processing_app/3D/lights/lights1.rb +39 -0
  102. data/samples/processing_app/3D/lights/lights2.rb +42 -0
  103. data/samples/processing_app/3D/lights/reflection.rb +38 -0
  104. data/samples/processing_app/3D/lights/spot.rb +39 -0
  105. data/samples/processing_app/3D/textures/data/berlin-1.jpg +0 -0
  106. data/samples/processing_app/3D/textures/texture1.rb +41 -0
  107. data/samples/processing_app/3D/textures/texture2.rb +38 -0
  108. data/samples/processing_app/3D/textures/texture3.rb +68 -0
  109. data/samples/processing_app/3D/textures/texture_cube.rb +106 -0
  110. data/samples/processing_app/3D/transform/bird.rb +61 -0
  111. data/samples/processing_app/3D/transform/birds/bird.rb +87 -0
  112. data/samples/processing_app/3D/transform/birds/birds.rb +48 -0
  113. data/samples/processing_app/3D/transform/cubes_in_cube/cube.rb +57 -0
  114. data/samples/processing_app/3D/transform/cubes_in_cube/cubes_in_cube.rb +102 -0
  115. data/samples/processing_app/3D/transform/push_pop_cubes.rb +152 -0
  116. data/samples/processing_app/3D/transform/rotate1.rb +43 -0
  117. data/samples/processing_app/3D/transform/rotate2.rb +45 -0
  118. data/samples/processing_app/3D/typography/data/Univers45.vlw +0 -0
  119. data/samples/processing_app/3D/typography/letter_k.rb +136 -0
  120. data/samples/processing_app/3D/typography/typing.rb +77 -0
  121. data/samples/processing_app/basics/form/triangle_strip.rb +19 -19
  122. data/samples/processing_app/basics/math/distance1.rb +59 -0
  123. data/samples/processing_app/basics/math/distance2.rb +38 -0
  124. data/samples/processing_app/basics/math/double_random.rb +38 -0
  125. data/samples/processing_app/basics/math/graphing_2_d_equation.rb +53 -0
  126. data/samples/processing_app/basics/math/increment_decrement.rb +59 -0
  127. data/samples/processing_app/basics/math/modulo.rb +43 -0
  128. data/samples/processing_app/basics/math/noise_1_d.rb +37 -0
  129. data/samples/processing_app/basics/math/noise_2_d.rb +47 -0
  130. data/samples/processing_app/basics/math/noise_3_d.rb +50 -0
  131. data/samples/processing_app/basics/math/noise_wave.rb +61 -0
  132. data/samples/processing_app/basics/math/operator_precedence.rb +70 -0
  133. data/samples/processing_app/basics/math/polar_to_cartesian.rb +44 -0
  134. data/samples/processing_app/basics/math/random.rb +35 -0
  135. data/samples/processing_app/basics/math/sine.rb +49 -0
  136. data/samples/processing_app/basics/math/sine_cosine.rb +60 -0
  137. data/samples/processing_app/basics/math/sine_wave.rb +62 -0
  138. data/samples/processing_app/basics/objects/composite_objects.rb +139 -0
  139. data/samples/processing_app/basics/objects/inheritance.rb +104 -0
  140. data/samples/processing_app/basics/objects/multiple_constructors.rb +66 -0
  141. data/samples/processing_app/basics/objects/objects.rb +72 -0
  142. data/samples/processing_app/basics/shape/data/bot1.svg +160 -0
  143. data/samples/processing_app/basics/shape/data/usa-wikipedia.svg +452 -0
  144. data/samples/processing_app/basics/shape/disable_style.rb +36 -0
  145. data/samples/processing_app/basics/shape/get_child.rb +43 -0
  146. data/samples/processing_app/basics/shape/load_display_shape.rb +33 -0
  147. data/samples/processing_app/basics/shape/scale_shape.rb +33 -0
  148. data/samples/processing_app/basics/structure/coordinates.rb +55 -0
  149. data/samples/processing_app/basics/structure/create_graphics.rb +39 -0
  150. data/samples/processing_app/basics/structure/functions.rb +41 -0
  151. data/samples/processing_app/basics/structure/loop.rb +39 -0
  152. data/samples/processing_app/basics/structure/noloop.rb +33 -0
  153. data/samples/processing_app/basics/structure/recursion1.rb +42 -0
  154. data/samples/processing_app/basics/structure/recursion2.rb +39 -0
  155. data/samples/processing_app/basics/structure/redraw.rb +36 -0
  156. data/samples/processing_app/basics/structure/setup_draw.rb +30 -0
  157. data/samples/processing_app/basics/structure/statements_comments.rb +32 -0
  158. data/samples/processing_app/basics/structure/width_height.rb +29 -0
  159. data/samples/processing_app/basics/transform/arm.rb +47 -0
  160. data/samples/processing_app/basics/transform/rotate.rb +43 -0
  161. data/samples/processing_app/basics/transform/scale.rb +45 -0
  162. data/samples/processing_app/basics/transform/translate.rb +41 -0
  163. data/samples/processing_app/basics/transform/triangle_flower.rb +69 -0
  164. data/samples/processing_app/basics/typography/data/CourierNew36.vlw +0 -0
  165. data/samples/processing_app/basics/typography/data/Ziggurat-HTF-Black-32.vlw +0 -0
  166. data/samples/processing_app/basics/typography/letters.rb +52 -0
  167. data/samples/processing_app/basics/typography/words.rb +37 -0
  168. data/samples/processing_app/basics/web/embedded_links.rb +58 -0
  169. data/samples/processing_app/basics/web/loading_images.rb +25 -0
  170. metadata +181 -86
  171. data/lib/patches/JRubyApplet.diff +0 -24
  172. data/lib/patches/PATCHES.txt +0 -3
  173. data/lib/patches/PApplet.diff +0 -27
  174. data/library/minim/license.txt +0 -339
  175. data/library/minim/version.txt +0 -1
  176. data/library/opengl/library/gluegen-rt-natives-linux-amd64.jar +0 -0
  177. data/library/opengl/library/gluegen-rt-natives-linux-i586.jar +0 -0
  178. data/library/opengl/library/gluegen-rt-natives-macosx-ppc.jar +0 -0
  179. data/library/opengl/library/gluegen-rt-natives-macosx-universal.jar +0 -0
  180. data/library/opengl/library/gluegen-rt-natives-windows-amd64.jar +0 -0
  181. data/library/opengl/library/gluegen-rt-natives-windows-i586.jar +0 -0
  182. data/library/opengl/library/gluegen-rt.jar.pack.gz +0 -0
  183. data/library/opengl/library/jogl-natives-linux-amd64.jar +0 -0
  184. data/library/opengl/library/jogl-natives-linux-i586.jar +0 -0
  185. data/library/opengl/library/jogl-natives-macosx-ppc.jar +0 -0
  186. data/library/opengl/library/jogl-natives-macosx-universal.jar +0 -0
  187. data/library/opengl/library/jogl-natives-windows-amd64.jar +0 -0
  188. data/library/opengl/library/jogl-natives-windows-i586.jar +0 -0
  189. data/library/opengl/library/jogl.jar.pack.gz +0 -0
  190. data/library/pdf/notes.txt +0 -8
  191. data/library/serial/library/librxtxSerial.jnilib +0 -0
  192. data/library/serial/library/librxtxSerial.so +0 -0
  193. data/library/serial/library/rxtxSerial.dll +0 -0
@@ -0,0 +1,36 @@
1
+ # Redraw.
2
+ #
3
+ # The redraw() function makes draw() execute once.
4
+ # In this example, draw() is executed once every time
5
+ # the mouse is clicked.
6
+
7
+ class Redraw < Processing::App
8
+
9
+ def setup
10
+
11
+ size 200, 200
12
+
13
+ @y = 100
14
+
15
+ stroke 255
16
+ no_loop
17
+ end
18
+
19
+ def draw
20
+
21
+ background 0
22
+
23
+ @y = @y - 1
24
+ @y = height if @y < 0
25
+
26
+ line 0, @y, width, @y
27
+ end
28
+
29
+ def mouse_pressed
30
+
31
+ redraw
32
+ end
33
+
34
+ end
35
+
36
+ Redraw.new :title => "Redraw"
@@ -0,0 +1,30 @@
1
+ # Setup and Draw.
2
+ #
3
+ # The draw() function creates a structure in which
4
+ # to write programs that change with time.
5
+
6
+ class SetupDraw < Processing::App
7
+
8
+ def setup
9
+
10
+ size 200, 200
11
+
12
+ @y = 100
13
+
14
+ stroke 255
15
+ frame_rate 30
16
+ end
17
+
18
+ def draw
19
+
20
+ background 0
21
+
22
+ @y = @y - 1
23
+ @y = height if @y < 0
24
+
25
+ line 0, @y, width, @y
26
+ end
27
+
28
+ end
29
+
30
+ SetupDraw.new :title => "Setup Draw"
@@ -0,0 +1,32 @@
1
+ # Statements and Comments.
2
+ #
3
+ # Statements are the elements that make up programs.
4
+ # In Ruby you can end statements with a semi-colon ";" but you don't have to.
5
+ #
6
+ # Comments are used for making notes to help people better understand programs.
7
+ # A comment begins with a "#" in Ruby.
8
+
9
+ class StatementsComments < Processing::App
10
+
11
+ def setup
12
+
13
+ # The size function is a statement that tells the computer
14
+ # how large to make the window.
15
+ # Each function statement has zero or more parameters.
16
+ # Parameters are data passed into the function
17
+ # and used as values for specifying what the computer will do.
18
+ size 200, 200
19
+
20
+ # The background function is a statement that tells the computer
21
+ # which color to make the background of the window
22
+ background 102
23
+
24
+ end
25
+
26
+ def draw
27
+
28
+ end
29
+
30
+ end
31
+
32
+ StatementsComments.new :title => "Statements Comments"
@@ -0,0 +1,29 @@
1
+ # Width and Height.
2
+ #
3
+ # The 'width' and 'height' variables contain the width and height
4
+ # of the display window as defined in the size() function.
5
+
6
+ class WidthHeight < Processing::App
7
+
8
+ def setup
9
+
10
+ size 200, 200
11
+
12
+ background 127
13
+ no_stroke
14
+
15
+ (0...height).step( 20 ) do |i|
16
+ fill 0
17
+ rect 0, i, width, 10
18
+ fill 255
19
+ rect i, 0, 10, height
20
+ end
21
+ end
22
+
23
+ def draw
24
+
25
+ end
26
+
27
+ end
28
+
29
+ WidthHeight.new :title => "Width Height"
@@ -0,0 +1,47 @@
1
+ # Arm.
2
+ #
3
+ # The angle of each segment is controlled with the mouseX and
4
+ # mouseY position. The transformations applied to the first segment
5
+ # are also applied to the second segment because they are inside
6
+ # the same push_matrix and pop_matrix group.
7
+
8
+ class Arm < Processing::App
9
+
10
+ def setup
11
+
12
+ size 200, 200
13
+
14
+ @x, @y = 50, 100
15
+ @angle1, @angle2 = 0.0, 0.0
16
+ @seg_length = 50
17
+
18
+ smooth
19
+ stroke_weight 20
20
+ stroke 0, 100
21
+ end
22
+
23
+ def draw
24
+
25
+ background 226
26
+
27
+ @angle1 = (mouse_x / width.to_f - 0.5) * -PI
28
+ @angle2 = (mouse_y / height.to_f - 0.5) * PI
29
+
30
+ push_matrix
31
+
32
+ segment @x, @y, @angle1
33
+ segment @seg_length, 0, @angle2
34
+ pop_matrix
35
+ end
36
+
37
+ def segment ( x, y, a )
38
+
39
+ translate x, y
40
+ rotate a
41
+
42
+ line 0, 0, @seg_length, 0
43
+ end
44
+
45
+ end
46
+
47
+ Arm.new :title => "Arm"
@@ -0,0 +1,43 @@
1
+ # Rotate.
2
+ #
3
+ # Rotating a square around the Z axis. To get the results
4
+ # you expect, send the rotate function angle parameters that are
5
+ # values between 0 and PI*2 (TWO_PI which is roughly 6.28). If you prefer to
6
+ # think about angles as degrees (0-360), you can use the radians()
7
+ # method to convert your values. For example: scale(radians(90))
8
+ # is identical to the statement scale(PI/2).
9
+
10
+ class Rotate < Processing::App
11
+
12
+ def setup
13
+
14
+ size 200, 200
15
+
16
+ no_stroke
17
+ fill 255
18
+ frame_rate 30
19
+ rect_mode CENTER
20
+
21
+ @angle = 0.0
22
+ @cosine = 0.0
23
+ @jitter = 0.0
24
+ end
25
+
26
+ def draw
27
+
28
+ background 102
29
+
30
+ @jitter = random -0.1, 0.1 if second % 2 == 0
31
+
32
+ @angle += @jitter
33
+ @cosine = cos( @angle )
34
+
35
+ translate width/2, height/2
36
+ rotate @cosine
37
+
38
+ rect 0, 0, 115, 115
39
+ end
40
+
41
+ end
42
+
43
+ Rotate.new :title => "Rotate"
@@ -0,0 +1,45 @@
1
+ # Scale
2
+ # by Denis Grutze.
3
+ #
4
+ # Paramenters for the scale() function are values specified
5
+ # as decimal percentages. For example, the method call scale(2.0)
6
+ # will increase the dimension of the shape by 200 percent.
7
+ # Objects always scale from the origin.
8
+
9
+ class Scale < Processing::App
10
+
11
+ def setup
12
+
13
+ size 200, 200
14
+
15
+ no_stroke
16
+ rect_mode CENTER
17
+
18
+ frame_rate 30
19
+
20
+ @a, @s = 0.0, 0.0
21
+ end
22
+
23
+ def draw
24
+
25
+ background 102
26
+
27
+ @a += 0.04
28
+ @s = cos( @a ) * 2
29
+
30
+ translate width/2, height/2
31
+ scale @s
32
+
33
+ fill 51
34
+ rect 0, 0, 50, 50
35
+
36
+ translate 75, 0
37
+
38
+ fill 255
39
+ scale @s
40
+ rect 0, 0, 50, 50
41
+ end
42
+
43
+ end
44
+
45
+ Scale.new :title => "Scale"
@@ -0,0 +1,41 @@
1
+ # Translate.
2
+ #
3
+ # The translate() function allows objects to be moved
4
+ # to any location within the window. The first parameter
5
+ # sets the x-axis offset and the second parameter sets the
6
+ # y-axis offset.
7
+
8
+ class Translate < Processing::App
9
+
10
+ def setup
11
+
12
+ size 200, 200
13
+ no_stroke
14
+ frame_rate 30
15
+
16
+ @x, @y = 0.0, 0.0
17
+ @size = 40.0
18
+ end
19
+
20
+ def draw
21
+
22
+ background 102
23
+
24
+ @x += 0.8
25
+
26
+ @x = -@size if @x > width + @size
27
+
28
+ translate @x, height/2 - @size/2
29
+
30
+ fill 255
31
+ rect -@size/2, -@size/2, @size, @size
32
+
33
+ translate @x, @size
34
+
35
+ fill 0
36
+ rect -@size/2, -@size/2, @size, @size
37
+ end
38
+
39
+ end
40
+
41
+ Translate.new :title => "Translate"
@@ -0,0 +1,69 @@
1
+ # Triangle Flower
2
+ # by Ira Greenberg.
3
+ #
4
+ # Using rotate() and triangle() functions generate a pretty
5
+ # flower. Uncomment the line "// rotate(rot+=radians(spin));"
6
+ # in the triBlur() function for a nice variation.
7
+
8
+ class TriangleFlower < Processing::App
9
+
10
+ def setup
11
+
12
+ size 200, 200
13
+
14
+ background 0
15
+ smooth
16
+
17
+ @fill_color = 0.0
18
+ @shift = 1.0
19
+ @rot = 0.0
20
+ @fade = 255.0 / ( width / 2.0 / @shift )
21
+ @spin = 360.0 / ( width / 2.0 / @shift )
22
+
23
+ @p = []
24
+ @p.push Point.new -width / 2.0, height / 2.0
25
+ @p.push Point.new width / 2.0, height / 2.0
26
+ @p.push Point.new 0.0, -height / 2.0
27
+
28
+ no_stroke
29
+ translate width/2, height/2
30
+
31
+ while @p[0].x < 0 do
32
+ tri_blur
33
+ end
34
+ end
35
+
36
+ def tri_blur
37
+
38
+ fill @fill_color
39
+ @fill_color += @fade
40
+
41
+ rotate @spin
42
+
43
+ # try these lines also ..
44
+ #@rot += radians @spin
45
+ #rotate @rot
46
+
47
+ @p[0].x += @shift
48
+ @p[0].y -= @shift / 2
49
+ @p[1].x -= @shift
50
+ @p[1].y -= @shift / 2
51
+ @p[2].y += @shift
52
+
53
+ triangle @p[0].x, @p[0].y, @p[1].x, @p[1].y, @p[2].x, @p[2].y
54
+ end
55
+
56
+ end
57
+
58
+ class Point
59
+
60
+ attr_accessor :x, :y
61
+
62
+ def initialize ( x, y )
63
+
64
+ @x, @y = x, y
65
+ end
66
+
67
+ end
68
+
69
+ TriangleFlower.new :title => "Triangle Flower"
@@ -0,0 +1,52 @@
1
+ # Letters.
2
+ #
3
+ # Draws letters to the screen. This requires loading a font,
4
+ # setting the font, and then drawing the letters.
5
+
6
+ class Letters < Processing::App
7
+
8
+ def setup
9
+
10
+ size 200, 200
11
+
12
+ smooth
13
+
14
+ @font = load_font "CourierNew36.vlw" # you need the Processing IDE to
15
+ # generate .vlw fonts ..
16
+ text_font @font, 32
17
+ text_align CENTER
18
+
19
+ end
20
+
21
+ def draw
22
+
23
+ background 0
24
+
25
+ translate 24, 32
26
+
27
+ x, y = 0.0, 0.0
28
+ gap = 30
29
+
30
+ letters = ("A".."Z").to_a + ("0".."9").to_a # ranges -> arrays -> joined!
31
+
32
+ letters.each do |letter|
33
+
34
+ fill 255
35
+ fill 204, 204, 0 if letter =~ /[AEIOU]/
36
+ fill 153 if letter =~ /[0-9]/
37
+ fill 255, 100, 0 if key_pressed? && (letter.downcase.eql? key)
38
+
39
+ text letter, x, y
40
+
41
+ x += gap
42
+
43
+ if x > width - 30
44
+ x = 0
45
+ y += gap
46
+ end
47
+ end
48
+ end
49
+
50
+ end
51
+
52
+ Letters.new :title => "Letters"
@@ -0,0 +1,37 @@
1
+ # Words.
2
+ #
3
+ # The text() function is used for writing words to the screen.
4
+
5
+ class Words < Processing::App
6
+
7
+ def setup
8
+
9
+ size 200, 200
10
+
11
+ @x = 30
12
+
13
+ @font = load_font "Ziggurat-HTF-Black-32.vlw" # generate with Processing IDE
14
+
15
+ text_font @font, 32
16
+
17
+ no_loop
18
+ end
19
+
20
+ def draw
21
+
22
+ background 102
23
+
24
+ fill 0
25
+ text "ichi", @x, 60
26
+ fill 51
27
+ text "ni", @x, 95
28
+ fill 204
29
+ text "san", @x, 130
30
+ fill 255
31
+ text "shi", @x, 165
32
+
33
+ end
34
+
35
+ end
36
+
37
+ Words.new :title => "Words"