picrate 1.2.4-java → 2.1.1-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/Gemfile +3 -1
  4. data/README.md +11 -10
  5. data/Rakefile +10 -9
  6. data/bin/picrate +3 -1
  7. data/docs/_config.yml +1 -1
  8. data/docs/_editors/geany.md +1 -0
  9. data/docs/_gems/gems/gems.md +1 -1
  10. data/docs/_methods/alternative_methods.md +2 -1
  11. data/docs/_posts/2018-05-06-getting_started.md +4 -4
  12. data/docs/_posts/2018-05-06-install_jruby.md +5 -11
  13. data/docs/_posts/2018-05-11-arch-linux-arm.md +1 -11
  14. data/docs/_posts/2018-11-18-building-gem.md +2 -2
  15. data/docs/_posts/2018-11-27-getting_started_geany.md +1 -1
  16. data/docs/_posts/2019-11-11-getting_started_buster.md +4 -7
  17. data/docs/_posts/{2018-06-26-auto_install_picrate.md → 2020-03-09-auto_install_picrate.md} +9 -6
  18. data/docs/_posts/2020-05-11-getting_started_manjaro.md +94 -0
  19. data/docs/about.md +1 -1
  20. data/lib/picrate.rb +1 -1
  21. data/lib/picrate/app.rb +11 -3
  22. data/lib/picrate/creators/parameters.rb +8 -8
  23. data/lib/picrate/creators/sketch_factory.rb +5 -3
  24. data/lib/picrate/helper_methods.rb +21 -21
  25. data/lib/picrate/helpers/numeric.rb +2 -0
  26. data/lib/picrate/library.rb +5 -1
  27. data/lib/picrate/library_loader.rb +2 -0
  28. data/lib/picrate/native_folder.rb +2 -1
  29. data/lib/picrate/native_loader.rb +3 -0
  30. data/lib/picrate/runner.rb +1 -0
  31. data/lib/picrate/version.rb +1 -1
  32. data/library/boids/boids.rb +17 -8
  33. data/library/chooser/chooser.rb +10 -9
  34. data/library/color_group/color_group.rb +2 -0
  35. data/library/control_panel/control_panel.rb +7 -4
  36. data/library/dxf/dxf.rb +2 -0
  37. data/library/library_proxy/library_proxy.rb +2 -0
  38. data/library/net/net.rb +2 -0
  39. data/library/slider/slider.rb +24 -23
  40. data/library/vector_utils/vector_utils.rb +4 -0
  41. data/library/video_event/video_event.rb +2 -0
  42. data/picrate.gemspec +13 -14
  43. data/pom.rb +28 -26
  44. data/pom.xml +18 -6
  45. data/src/main/java/monkstone/ColorUtil.java +1 -1
  46. data/src/main/java/monkstone/MathToolModule.java +1 -1
  47. data/src/main/java/monkstone/PicrateLibrary.java +8 -8
  48. data/src/main/java/monkstone/fastmath/Deglut.java +16 -16
  49. data/src/main/java/monkstone/filechooser/Chooser.java +1 -1
  50. data/src/main/java/monkstone/noise/SimplexNoise.java +3 -3
  51. data/src/main/java/monkstone/slider/CustomHorizontalSlider.java +1 -1
  52. data/src/main/java/monkstone/slider/CustomVerticalSlider.java +1 -1
  53. data/src/main/java/monkstone/slider/SimpleHorizontalSlider.java +12 -12
  54. data/src/main/java/monkstone/slider/SimpleVerticalSlider.java +1 -1
  55. data/src/main/java/monkstone/slider/SliderBar.java +1 -1
  56. data/src/main/java/monkstone/slider/SliderGroup.java +1 -1
  57. data/src/main/java/monkstone/slider/WheelHandler.java +1 -1
  58. data/src/main/java/monkstone/vecmath/package-info.java +1 -1
  59. data/src/main/java/monkstone/vecmath/vec2/Vec2.java +1 -1
  60. data/src/main/java/monkstone/vecmath/vec3/Vec3.java +1 -1
  61. data/src/main/java/monkstone/videoevent/CaptureEvent.java +1 -1
  62. data/src/main/java/monkstone/videoevent/MovieEvent.java +1 -1
  63. data/src/main/java/monkstone/videoevent/package-info.java +1 -1
  64. data/src/main/java/processing/awt/PGraphicsJava2D.java +33 -36
  65. data/src/main/java/processing/awt/PImageAWT.java +377 -0
  66. data/src/main/java/processing/awt/PSurfaceAWT.java +0 -20
  67. data/src/main/java/processing/awt/ShimAWT.java +545 -0
  68. data/src/main/java/processing/core/PApplet.java +699 -1523
  69. data/src/main/java/processing/core/PConstants.java +180 -180
  70. data/src/main/java/processing/core/PFont.java +2 -2
  71. data/src/main/java/processing/core/PGraphics.java +190 -176
  72. data/src/main/java/processing/core/PImage.java +1536 -1721
  73. data/src/main/java/processing/core/PMatrix.java +39 -39
  74. data/src/main/java/processing/core/PSurface.java +69 -103
  75. data/src/main/java/processing/core/PSurfaceNone.java +29 -0
  76. data/src/main/java/processing/core/PVector.java +2 -2
  77. data/src/main/java/processing/data/FloatDict.java +251 -284
  78. data/src/main/java/processing/data/TableRow.java +32 -32
  79. data/src/main/java/processing/dxf/RawDXF.java +3 -3
  80. data/src/main/java/processing/net/Client.java +1 -1
  81. data/src/main/java/processing/opengl/PGL.java +1016 -4132
  82. data/src/main/java/processing/opengl/PGraphicsOpenGL.java +223 -184
  83. data/src/main/java/processing/opengl/PJOGL.java +374 -1526
  84. data/src/main/java/processing/opengl/PShapeOpenGL.java +5 -6
  85. data/src/main/java/processing/opengl/PSurfaceJOGL.java +262 -147
  86. data/test/color_group_test.rb +4 -4
  87. data/test/deglut_spec_test.rb +2 -0
  88. data/test/helper_methods_test.rb +41 -13
  89. data/test/math_tool_test.rb +46 -37
  90. data/test/respond_to_test.rb +5 -3
  91. data/test/sketches/key_event.rb +2 -2
  92. data/test/sketches/library/my_library/my_library.rb +3 -0
  93. data/test/test_helper.rb +2 -0
  94. data/test/vecmath_spec_test.rb +30 -19
  95. data/vendors/Rakefile +8 -5
  96. data/vendors/{picrate_sketches.geany → geany.rb} +32 -7
  97. metadata +25 -46
  98. data/src/main/java/processing/opengl/shaders/LightVert-brcm.glsl +0 -154
  99. data/src/main/java/processing/opengl/shaders/LightVert-vc4.glsl +0 -154
  100. data/src/main/java/processing/opengl/shaders/TexLightVert-brcm.glsl +0 -160
  101. data/src/main/java/processing/opengl/shaders/TexLightVert-vc4.glsl +0 -160
@@ -39,13 +39,13 @@ public interface PMatrix {
39
39
  /**
40
40
  * Make this an identity matrix. Multiplying by it will have no effect.
41
41
  */
42
- public void reset();
42
+ void reset();
43
43
 
44
44
  /**
45
45
  * Returns a copy of this PMatrix.
46
46
  * @return
47
47
  */
48
- public PMatrix get();
48
+ PMatrix get();
49
49
 
50
50
  /**
51
51
  * Copies the matrix contents into a float array.
@@ -53,21 +53,21 @@ public interface PMatrix {
53
53
  * @param target
54
54
  * @return
55
55
  */
56
- public float[] get(float[] target);
56
+ float[] get(float[] target);
57
57
 
58
58
 
59
59
  /**
60
60
  * Make this matrix become a copy of src.
61
61
  * @param src
62
62
  */
63
- public void set(PMatrix src);
63
+ void set(PMatrix src);
64
64
 
65
65
  /**
66
66
  * Set the contents of this matrix to the contents of source. Fills the
67
67
  * matrix left-to-right, starting in the top row.
68
68
  * @param source
69
69
  */
70
- public void set(float[] source);
70
+ void set(float[] source);
71
71
 
72
72
  /**
73
73
  * Set the matrix content to this 2D matrix or its 3D equivalent.
@@ -78,7 +78,7 @@ public interface PMatrix {
78
78
  * @param m12
79
79
  * @param m11
80
80
  */
81
- public void set(float m00, float m01, float m02,
81
+ void set(float m00, float m01, float m02,
82
82
  float m10, float m11, float m12);
83
83
 
84
84
  /**
@@ -100,7 +100,7 @@ public interface PMatrix {
100
100
  * @param m21
101
101
  * @param m32
102
102
  */
103
- public void set(float m00, float m01, float m02, float m03,
103
+ void set(float m00, float m01, float m02, float m03,
104
104
  float m10, float m11, float m12, float m13,
105
105
  float m20, float m21, float m22, float m23,
106
106
  float m30, float m31, float m32, float m33);
@@ -110,7 +110,7 @@ public interface PMatrix {
110
110
  * @param tx
111
111
  * @param ty
112
112
  */
113
- public void translate(float tx, float ty);
113
+ void translate(float tx, float ty);
114
114
 
115
115
  /**
116
116
  *
@@ -118,31 +118,31 @@ public interface PMatrix {
118
118
  * @param ty
119
119
  * @param tz
120
120
  */
121
- public void translate(float tx, float ty, float tz);
121
+ void translate(float tx, float ty, float tz);
122
122
 
123
123
  /**
124
124
  *
125
125
  * @param angle
126
126
  */
127
- public void rotate(float angle);
127
+ void rotate(float angle);
128
128
 
129
129
  /**
130
130
  *
131
131
  * @param angle
132
132
  */
133
- public void rotateX(float angle);
133
+ void rotateX(float angle);
134
134
 
135
135
  /**
136
136
  *
137
137
  * @param angle
138
138
  */
139
- public void rotateY(float angle);
139
+ void rotateY(float angle);
140
140
 
141
141
  /**
142
142
  *
143
143
  * @param angle
144
144
  */
145
- public void rotateZ(float angle);
145
+ void rotateZ(float angle);
146
146
 
147
147
  /**
148
148
  *
@@ -151,20 +151,20 @@ public interface PMatrix {
151
151
  * @param v1
152
152
  * @param v2
153
153
  */
154
- public void rotate(float angle, float v0, float v1, float v2);
154
+ void rotate(float angle, float v0, float v1, float v2);
155
155
 
156
156
  /**
157
157
  *
158
158
  * @param s
159
159
  */
160
- public void scale(float s);
160
+ void scale(float s);
161
161
 
162
162
  /**
163
163
  *
164
164
  * @param sx
165
165
  * @param sy
166
166
  */
167
- public void scale(float sx, float sy);
167
+ void scale(float sx, float sy);
168
168
 
169
169
  /**
170
170
  *
@@ -172,37 +172,37 @@ public interface PMatrix {
172
172
  * @param y
173
173
  * @param z
174
174
  */
175
- public void scale(float x, float y, float z);
175
+ void scale(float x, float y, float z);
176
176
 
177
177
  /**
178
178
  *
179
179
  * @param angle
180
180
  */
181
- public void shearX(float angle);
181
+ void shearX(float angle);
182
182
 
183
183
  /**
184
184
  *
185
185
  * @param angle
186
186
  */
187
- public void shearY(float angle);
187
+ void shearY(float angle);
188
188
 
189
189
  /**
190
190
  * Multiply this matrix by another.
191
191
  * @param source
192
192
  */
193
- public void apply(PMatrix source);
193
+ void apply(PMatrix source);
194
194
 
195
195
  /**
196
196
  * Multiply this matrix by another.
197
197
  * @param source
198
198
  */
199
- public void apply(PMatrix2D source);
199
+ void apply(PMatrix2D source);
200
200
 
201
201
  /**
202
202
  * Multiply this matrix by another.
203
203
  * @param source
204
204
  */
205
- public void apply(PMatrix3D source);
205
+ void apply(PMatrix3D source);
206
206
 
207
207
  /**
208
208
  * Multiply this matrix by another.
@@ -213,7 +213,7 @@ public interface PMatrix {
213
213
  * @param n01
214
214
  * @param n12
215
215
  */
216
- public void apply(float n00, float n01, float n02,
216
+ void apply(float n00, float n01, float n02,
217
217
  float n10, float n11, float n12);
218
218
 
219
219
  /**
@@ -235,7 +235,7 @@ public interface PMatrix {
235
235
  * @param n30
236
236
  * @param n33
237
237
  */
238
- public void apply(float n00, float n01, float n02, float n03,
238
+ void apply(float n00, float n01, float n02, float n03,
239
239
  float n10, float n11, float n12, float n13,
240
240
  float n20, float n21, float n22, float n23,
241
241
  float n30, float n31, float n32, float n33);
@@ -244,19 +244,19 @@ public interface PMatrix {
244
244
  * Apply another matrix to the left of this one.
245
245
  * @param left
246
246
  */
247
- public void preApply(PMatrix left);
247
+ void preApply(PMatrix left);
248
248
 
249
249
  /**
250
250
  * Apply another matrix to the left of this one.
251
251
  * @param left
252
252
  */
253
- public void preApply(PMatrix2D left);
253
+ void preApply(PMatrix2D left);
254
254
 
255
255
  /**
256
256
  * Apply another matrix to the left of this one. 3D only.
257
257
  * @param left
258
258
  */
259
- public void preApply(PMatrix3D left);
259
+ void preApply(PMatrix3D left);
260
260
 
261
261
  /**
262
262
  * Apply another matrix to the left of this one.
@@ -267,7 +267,7 @@ public interface PMatrix {
267
267
  * @param n01
268
268
  * @param n11
269
269
  */
270
- public void preApply(float n00, float n01, float n02,
270
+ void preApply(float n00, float n01, float n02,
271
271
  float n10, float n11, float n12);
272
272
 
273
273
  /**
@@ -289,7 +289,7 @@ public interface PMatrix {
289
289
  * @param n32
290
290
  * @param n31
291
291
  */
292
- public void preApply(float n00, float n01, float n02, float n03,
292
+ void preApply(float n00, float n01, float n02, float n03,
293
293
  float n10, float n11, float n12, float n13,
294
294
  float n20, float n21, float n22, float n23,
295
295
  float n30, float n31, float n32, float n33);
@@ -304,7 +304,7 @@ public interface PMatrix {
304
304
  * @param target
305
305
  * @return
306
306
  */
307
- public PVector mult(PVector source, PVector target);
307
+ PVector mult(PVector source, PVector target);
308
308
 
309
309
 
310
310
  /**
@@ -315,21 +315,21 @@ public interface PMatrix {
315
315
  * @param target
316
316
  * @return
317
317
  */
318
- public float[] mult(float[] source, float[] target);
318
+ float[] mult(float[] source, float[] target);
319
319
 
320
320
 
321
- // public float multX(float x, float y);
322
- // public float multY(float x, float y);
321
+ // float multX(float x, float y);
322
+ // float multY(float x, float y);
323
323
 
324
- // public float multX(float x, float y, float z);
325
- // public float multY(float x, float y, float z);
326
- // public float multZ(float x, float y, float z);
324
+ // float multX(float x, float y, float z);
325
+ // float multY(float x, float y, float z);
326
+ // float multZ(float x, float y, float z);
327
327
 
328
328
 
329
329
  /**
330
330
  * Transpose this matrix; rows become columns and columns rows.
331
331
  */
332
- public void transpose();
332
+ void transpose();
333
333
 
334
334
 
335
335
  /**
@@ -337,11 +337,11 @@ public interface PMatrix {
337
337
  * map more than one point to the same image point, and so are irreversible.
338
338
  * @return true if successful
339
339
  */
340
- public boolean invert();
340
+ boolean invert();
341
341
 
342
342
 
343
343
  /**
344
344
  * @return the determinant of the matrix
345
345
  */
346
- public float determinant();
346
+ float determinant();
347
347
  }
@@ -1,6 +1,6 @@
1
1
  /* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2
2
 
3
- /*
3
+ /*
4
4
  Part of the Processing project - http://processing.org
5
5
 
6
6
  Copyright (c) 2014-15 The Processing Foundation
@@ -18,131 +18,112 @@
18
18
  Public License along with this library; if not, write to the
19
19
  Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20
20
  Boston, MA 02111-1307 USA
21
- */
21
+ */
22
+
22
23
  package processing.core;
23
24
 
24
- /**
25
- *
26
- * @author Martin Prout
27
- */
28
- public interface PSurface {
25
+ import java.io.File;
29
26
 
27
+ public interface PSurface {
30
28
  /**
31
- * Minimum dimensions for the window holding an applet.
29
+ * Minimum dimensions for the window holding an applet. This varies between
30
+ * platforms, Mac OS X 10.3 (confirmed with 10.7 and Java 6) can do any
31
+ * height but requires at least 128 pixels width. Windows XP has another
32
+ * set of limitations. And for all I know, Linux probably allows window
33
+ * sizes to be negative numbers.
32
34
  */
33
35
  static public final int MIN_WINDOW_WIDTH = 128;
34
-
35
- /**
36
- *
37
- */
38
36
  static public final int MIN_WINDOW_HEIGHT = 128;
39
37
 
38
+ //public int displayDensity();
39
+
40
+ //public int displayDensity(int display);
41
+
42
+ //
43
+
40
44
  // renderer that doesn't draw to the screen
41
- /**
42
- *
43
- * @param sketch
44
- */
45
45
  public void initOffscreen(PApplet sketch);
46
46
 
47
47
  // considering removal in favor of separate Component classes for appropriate renderers
48
48
  // (i.e. for Java2D or a generic Image surface, but not PDF, debatable for GL or FX)
49
49
  //public Component initComponent(PApplet sketch);
50
+
50
51
  //public Frame initFrame(PApplet sketch, Color backgroundColor,
51
52
  // public void initFrame(PApplet sketch, int backgroundColor,
52
53
  // int deviceIndex, boolean fullScreen, boolean spanDisplays);
53
- /**
54
- *
55
- * @param sketch
56
- */
57
54
  public void initFrame(PApplet sketch);
58
55
 
56
+ //
57
+
58
+ public PImage loadImage(String path, Object... args);
59
+
60
+ //
61
+
62
+ public void selectInput(String prompt, String callback,
63
+ File file, Object callbackObject);
64
+
65
+ public void selectOutput(String prompt, String callback,
66
+ File file, Object callbackObject);
67
+
68
+ public void selectFolder(String prompt, String callback,
69
+ File file, Object callbackObject);
70
+
71
+ //
72
+
59
73
  /**
60
- * Get the native window object associated with this drawing surface. For
61
- * Java2D, this will be an AWT Frame object. For OpenGL, the window. The data
62
- * returned here is subject to the whims of the renderer, and using this
63
- * method means you're willing to deal with underlying implementation changes
64
- * and that you won't throw a fit like a toddler if your code breaks sometime
65
- * in the future.
66
- *
67
- * @return
74
+ * Get the native window object associated with this drawing surface.For Java2D, this will be an AWT Frame object.
75
+ * For OpenGL, the window.
76
+ The data returned here is subject to the whims of the renderer,
77
+ and using this method means you're willing to deal with underlying
78
+ implementation changes and that you won't throw a fit like a toddler
79
+ if your code breaks sometime in the future.
80
+ * @return
68
81
  */
69
82
  public Object getNative();
70
83
 
71
84
  //
85
+
72
86
  // Just call these on an AWT Frame object stored in PApplet.
73
87
  // Silly, but prevents a lot of rewrite and extra methods for little benefit.
74
88
  // However, maybe prevents us from having to document the 'frame' variable?
75
- /**
76
- * Set the window (and dock, or whatever necessary) title.
77
- *
78
- * @param title
79
- */
89
+
90
+ /** Set the window (and dock, or whatever necessary) title.
91
+ * @param title */
80
92
  public void setTitle(String title);
81
93
 
82
- /**
83
- * Show or hide the window.
84
- *
85
- * @param visible
86
- */
94
+ /** Show or hide the window.
95
+ * @param visible */
87
96
  public void setVisible(boolean visible);
88
97
 
89
- /**
90
- * Set true if we want to resize things (default is not resizable)
91
- *
92
- * @param resizable
93
- */
98
+ /** Set true if we want to resize things (default is not resizable)
99
+ * @param resizable */
94
100
  public void setResizable(boolean resizable);
95
101
 
96
- /**
97
- * Dumb name, but inherited from Frame and no better ideas.
98
- *
99
- * @param always
100
- */
102
+ /** Dumb name, but inherited from Frame and no better ideas.
103
+ * @param always */
101
104
  public void setAlwaysOnTop(boolean always);
102
105
 
103
- /**
104
- *
105
- * @param icon
106
- */
107
106
  public void setIcon(PImage icon);
108
107
 
109
108
  //
109
+
110
110
  // public void placeWindow(int[] location);
111
- /**
112
- *
113
- * @param location
114
- * @param editorLocation
115
- */
111
+
116
112
  public void placeWindow(int[] location, int[] editorLocation);
117
113
 
118
114
  //public void placeFullScreen(boolean hideStop);
119
- /**
120
- *
121
- * @param stopColor
122
- */
123
115
  public void placePresent(int stopColor);
124
116
 
125
117
  // Sketch is running from the PDE, set up messaging back to the PDE
126
- /**
127
- *
128
- */
129
118
  public void setupExternalMessages();
130
119
 
131
120
  //
121
+
132
122
  // sets displayWidth/Height inside PApplet
133
123
  //public void checkDisplaySize();
134
- /**
135
- *
136
- * @param x
137
- * @param y
138
- */
124
+
139
125
  public void setLocation(int x, int y);
140
126
 
141
- /**
142
- *
143
- * @param width
144
- * @param height
145
- */
146
127
  public void setSize(int width, int height);
147
128
 
148
129
  // /**
@@ -157,52 +138,45 @@ public interface PSurface {
157
138
  //public void initImage(PGraphics gr, int wide, int high);
158
139
  // create pixel buffer, called from allocate() to produce a compatible image for rendering efficiently
159
140
  // public void initImage(PGraphics gr);
141
+
160
142
  //public Component getComponent();
143
+
161
144
  // /**
162
145
  // * Sometimes smoothing must be set at the drawing surface level
163
146
  // * not just inside the renderer itself.
164
147
  // */
165
148
  // public void setSmooth(int level);
166
- /**
167
- *
168
- * @param fps
169
- */
149
+
170
150
  public void setFrameRate(float fps);
171
151
 
172
152
  // // called on the first frame so that the now-visible drawing surface can
173
153
  // // receive key and mouse events
174
154
  // public void requestFocus();
155
+
175
156
  // // finish rendering to the screen (called by PApplet)
176
157
  // public void blit();
158
+
177
159
  //
178
- /**
179
- *
180
- * @param kind
181
- */
160
+
182
161
  public void setCursor(int kind);
183
162
 
184
- /**
185
- *
186
- * @param image
187
- * @param hotspotX
188
- * @param hotspotY
189
- */
190
163
  public void setCursor(PImage image, int hotspotX, int hotspotY);
191
164
 
192
- /**
193
- *
194
- */
195
165
  public void showCursor();
196
166
 
197
- /**
198
- *
199
- */
200
167
  public void hideCursor();
201
168
 
202
169
  //
170
+
203
171
  /**
204
- * Start the animation thread
172
+ * @param url the link to open
173
+ * @return false if unable to find a viable way to open
205
174
  */
175
+ public boolean openLink(String url);
176
+
177
+ //
178
+
179
+ /** Start the animation thread */
206
180
  public void startThread();
207
181
 
208
182
  /**
@@ -212,21 +186,13 @@ public interface PSurface {
212
186
  */
213
187
  public void pauseThread();
214
188
 
215
- /**
216
- *
217
- */
218
189
  public void resumeThread();
219
190
 
220
191
  /**
221
192
  * Stop the animation thread (set it null)
222
- *
223
193
  * @return false if already stopped
224
194
  */
225
195
  public boolean stopThread();
226
196
 
227
- /**
228
- *
229
- * @return
230
- */
231
197
  public boolean isStopped();
232
198
  }