picrate 2.0.1-java → 2.3.0-java

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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/.mvn/extensions.xml +1 -1
  3. data/.mvn/wrapper/MavenWrapperDownloader.java +1 -1
  4. data/.mvn/wrapper/maven-wrapper.properties +2 -2
  5. data/CHANGELOG.md +10 -0
  6. data/README.md +6 -3
  7. data/Rakefile +2 -1
  8. data/docs/_includes/footer.html +1 -1
  9. data/docs/_layouts/post.html +1 -1
  10. data/docs/_methods/alternative_methods.md +2 -1
  11. data/docs/_methods/noise_mode.md +88 -0
  12. data/docs/_posts/2018-05-06-install_jruby.md +3 -3
  13. data/docs/_posts/2018-11-18-building-gem.md +3 -1
  14. data/docs/_posts/2020-03-09-auto_install_picrate.md +2 -3
  15. data/docs/_posts/2020-05-11-getting_started_manjaro.md +20 -8
  16. data/docs/classes.md +2 -2
  17. data/docs/editors.md +2 -2
  18. data/docs/gems.md +3 -3
  19. data/docs/index.html +1 -1
  20. data/docs/libraries.md +2 -2
  21. data/docs/live.md +2 -2
  22. data/docs/magic.md +2 -2
  23. data/docs/methods.md +2 -2
  24. data/docs/modules.md +3 -3
  25. data/docs/objects.md +2 -2
  26. data/lib/picrate.rb +2 -1
  27. data/lib/picrate/app.rb +7 -2
  28. data/lib/picrate/helper_methods.rb +1 -1
  29. data/lib/picrate/native_folder.rb +1 -3
  30. data/lib/picrate/runner.rb +4 -4
  31. data/lib/picrate/version.rb +1 -1
  32. data/library/jcomplex/jcomplex.rb +1 -0
  33. data/library/pdf/pdf.rb +6 -0
  34. data/mvnw +2 -2
  35. data/mvnw.cmd +2 -2
  36. data/picrate.gemspec +3 -2
  37. data/pom.rb +22 -8
  38. data/pom.xml +27 -5
  39. data/src/main/java/monkstone/PicrateLibrary.java +1 -1
  40. data/src/main/java/monkstone/complex/JComplex.java +252 -0
  41. data/src/main/java/monkstone/fastmath/DegLutTables.java +111 -0
  42. data/src/main/java/monkstone/fastmath/Deglut.java +41 -93
  43. data/src/main/java/monkstone/noise/FastTerrain.java +874 -0
  44. data/src/main/java/monkstone/noise/Noise.java +90 -0
  45. data/src/main/java/monkstone/noise/NoiseGenerator.java +75 -0
  46. data/src/main/java/monkstone/noise/NoiseMode.java +28 -0
  47. data/src/main/java/monkstone/noise/OpenSimplex2F.java +881 -0
  48. data/src/main/java/monkstone/noise/OpenSimplex2S.java +1106 -0
  49. data/src/main/java/monkstone/noise/SmoothTerrain.java +1099 -0
  50. data/src/main/java/monkstone/vecmath/package-info.java +1 -1
  51. data/src/main/java/monkstone/vecmath/vec3/Vec3.java +1 -1
  52. data/src/main/java/monkstone/videoevent/package-info.java +1 -1
  53. data/src/main/java/processing/awt/PGraphicsJava2D.java +22 -23
  54. data/src/main/java/processing/awt/PImageAWT.java +377 -0
  55. data/src/main/java/processing/awt/ShimAWT.java +711 -0
  56. data/src/main/java/processing/core/PApplet.java +14880 -14101
  57. data/src/main/java/processing/core/PConstants.java +5 -5
  58. data/src/main/java/processing/core/PFont.java +1 -1
  59. data/src/main/java/processing/core/PGraphics.java +284 -271
  60. data/src/main/java/processing/core/PImage.java +1620 -1815
  61. data/src/main/java/processing/core/PShape.java +18 -18
  62. data/src/main/java/processing/core/PSurface.java +105 -139
  63. data/src/main/java/processing/core/PSurfaceNone.java +29 -0
  64. data/src/main/java/processing/core/PVector.java +23 -23
  65. data/src/main/java/processing/data/Table.java +4 -4
  66. data/src/main/java/processing/net/Client.java +13 -13
  67. data/src/main/java/processing/net/Server.java +5 -5
  68. data/src/main/java/processing/opengl/PGL.java +649 -3699
  69. data/src/main/java/processing/opengl/PGraphicsOpenGL.java +2503 -2278
  70. data/src/main/java/processing/opengl/PJOGL.java +374 -1526
  71. data/src/main/java/processing/opengl/PSurfaceJOGL.java +220 -86
  72. data/src/main/java/processing/pdf/PGraphicsPDF.java +607 -0
  73. data/test/deglut_spec_test.rb +2 -2
  74. data/test/respond_to_test.rb +0 -1
  75. data/vendors/Rakefile +33 -21
  76. data/vendors/{picrate_sketches.geany → geany.rb} +32 -7
  77. metadata +24 -9
  78. data/src/main/java/monkstone/noise/SimplexNoise.java +0 -465
@@ -61,12 +61,12 @@ import java.util.Map;
61
61
  * For the time being, this class and its shape() and loadShape() friends in
62
62
  * PApplet exist as placeholders for more exciting things to come. If you'd like
63
63
  * to work with this class, make a subclass (see how PShapeSVG works) and you
64
- * can play with its internal methods all you like.</p>
64
+ * can play with its internal methods all you like.
65
65
  *
66
66
  * <p>
67
67
  * Library developers are encouraged to create PShape objects when loading shape
68
68
  * data, so that they can eventually hook into the bounty that will be the
69
- * PShape interface, and the ease of loadShape() and shape().</p>
69
+ * PShape interface, and the ease of loadShape() and shape().
70
70
  *
71
71
  * @webref shape
72
72
  * @usage Web &amp; Application
@@ -171,7 +171,7 @@ public class PShape implements PConstants {
171
171
  *
172
172
  * The width of the PShape document.
173
173
  *
174
- * ( end auto-generated )
174
+
175
175
  *
176
176
  * @webref pshape:field
177
177
  * @usage web_application
@@ -184,7 +184,7 @@ public class PShape implements PConstants {
184
184
  *
185
185
  * The height of the PShape document.
186
186
  *
187
- * ( end auto-generated )
187
+
188
188
  *
189
189
  * @webref pshape:field
190
190
  * @usage web_application
@@ -597,7 +597,7 @@ public class PShape implements PConstants {
597
597
  * SVG file. For instance, this parameter is controlled by showing or hiding
598
598
  * the shape in the layers palette in Adobe Illustrator.
599
599
  *
600
- * ( end auto-generated )
600
+
601
601
  *
602
602
  * @return
603
603
  * @webref pshape:method
@@ -620,7 +620,7 @@ public class PShape implements PConstants {
620
620
  * the SVG file. For instance, this parameter is controlled by showing or
621
621
  * hiding the shape in the layers palette in Adobe Illustrator.
622
622
  *
623
- * ( end auto-generated )
623
+
624
624
  *
625
625
  * @webref pshape:mathod
626
626
  * @usage web_application
@@ -639,7 +639,7 @@ public class PShape implements PConstants {
639
639
  * Disables the shape's style data and uses Processing's current styles.
640
640
  * Styles include attributes such as colors, stroke weight, and stroke joints.
641
641
  *
642
- * ( end auto-generated )
642
+
643
643
  * <h3>Advanced</h3>
644
644
  * Overrides this shape's style information and uses PGraphics styles and
645
645
  * colors. Identical to ignoreStyles(true). Also disables styles for all child
@@ -664,7 +664,7 @@ public class PShape implements PConstants {
664
664
  * Enables the shape's style data and ignores Processing's current styles.
665
665
  * Styles include attributes such as colors, stroke weight, and stroke joints.
666
666
  *
667
- * ( end auto-generated )
667
+
668
668
  *
669
669
  * @webref pshape:method
670
670
  * @usage web_application
@@ -2419,7 +2419,7 @@ public class PShape implements PConstants {
2419
2419
  * with the <b>target</b> parameter. The shape is returned as a
2420
2420
  * <b>PShape</b> object, or <b>null</b> is returned if there is an error.
2421
2421
  *
2422
- * ( end auto-generated )
2422
+
2423
2423
  *
2424
2424
  * @return
2425
2425
  * @webref pshape:method
@@ -3025,7 +3025,7 @@ public class PShape implements PConstants {
3025
3025
  * created, only the <b>setFill()</b> method can define a new fill value for
3026
3026
  * the <b>PShape</b>.
3027
3027
  *
3028
- * ( end auto-generated )
3028
+
3029
3029
  *
3030
3030
  * @webref
3031
3031
  * @param fill
@@ -3202,7 +3202,7 @@ public class PShape implements PConstants {
3202
3202
  * after the shape is created, only the <b>setStroke()</b> method can define a
3203
3203
  * new stroke value for the <b>PShape</b>.
3204
3204
  *
3205
- * ( end auto-generated )
3205
+
3206
3206
  *
3207
3207
  * @webref
3208
3208
  * @param stroke
@@ -3678,7 +3678,7 @@ public class PShape implements PConstants {
3678
3678
  * Using this method with the <b>z</b> parameter requires using the P3D
3679
3679
  * parameter in combination with size.
3680
3680
  *
3681
- * ( end auto-generated )
3681
+
3682
3682
  *
3683
3683
  * @webref pshape:method
3684
3684
  * @usage web_application
@@ -3721,7 +3721,7 @@ public class PShape implements PConstants {
3721
3721
  * This method requires a 3D renderer. You need to use P3D as a third
3722
3722
  * parameter for the <b>size()</b> function as shown in the example above.
3723
3723
  *
3724
- * ( end auto-generated )
3724
+
3725
3725
  *
3726
3726
  * @webref pshape:method
3727
3727
  * @usage web_application
@@ -3755,7 +3755,7 @@ public class PShape implements PConstants {
3755
3755
  * This method requires a 3D renderer. You need to use P3D as a third
3756
3756
  * parameter for the <b>size()</b> function as shown in the example above.
3757
3757
  *
3758
- * ( end auto-generated )
3758
+
3759
3759
  *
3760
3760
  * @webref pshape:method
3761
3761
  * @usage web_application
@@ -3789,7 +3789,7 @@ public class PShape implements PConstants {
3789
3789
  * This method requires a 3D renderer. You need to use P3D as a third
3790
3790
  * parameter for the <b>size()</b> function as shown in the example above.
3791
3791
  *
3792
- * ( end auto-generated )
3792
+
3793
3793
  *
3794
3794
  * @webref pshape:method
3795
3795
  * @usage web_application
@@ -3821,7 +3821,7 @@ public class PShape implements PConstants {
3821
3821
  * <b>rotate(PI)</b>. This transformation is applied directly to the shape,
3822
3822
  * it's not refreshed each time <b>draw()</b> is run.
3823
3823
  *
3824
- * ( end auto-generated )
3824
+
3825
3825
  *
3826
3826
  * @webref pshape:method
3827
3827
  * @usage web_application
@@ -3875,7 +3875,7 @@ public class PShape implements PConstants {
3875
3875
  * Using this method with the <b>z</b> parameter requires using the P3D
3876
3876
  * parameter in combination with size.
3877
3877
  *
3878
- * ( end auto-generated )
3878
+
3879
3879
  *
3880
3880
  * @webref pshape:method
3881
3881
  * @usage web_application
@@ -3917,7 +3917,7 @@ public class PShape implements PConstants {
3917
3917
  * Replaces the current matrix of a shape with the identity matrix. The
3918
3918
  * equivalent function in OpenGL is glLoadIdentity().
3919
3919
  *
3920
- * ( end auto-generated )
3920
+
3921
3921
  *
3922
3922
  * @webref pshape:method
3923
3923
  * @brief Replaces the current matrix of a shape with the identity matrix
@@ -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,132 +18,113 @@
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
- int MIN_WINDOW_WIDTH = 128;
35
+ static public final int MIN_WINDOW_WIDTH = 128;
36
+ static public final int MIN_WINDOW_HEIGHT = 128;
34
37
 
35
- /**
36
- *
37
- */
38
- int MIN_WINDOW_HEIGHT = 128;
38
+ //public int displayDensity();
39
+
40
+ //public int displayDensity(int display);
41
+
42
+ //
39
43
 
40
44
  // renderer that doesn't draw to the screen
41
- /**
42
- *
43
- * @param sketch
44
- */
45
- void initOffscreen(PApplet sketch);
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
- //Component initComponent(PApplet sketch);
50
- //Frame initFrame(PApplet sketch, Color backgroundColor,
51
- // void initFrame(PApplet sketch, int backgroundColor,
49
+ //public Component initComponent(PApplet sketch);
50
+
51
+ //public Frame initFrame(PApplet sketch, Color backgroundColor,
52
+ // public void initFrame(PApplet sketch, int backgroundColor,
52
53
  // int deviceIndex, boolean fullScreen, boolean spanDisplays);
53
- /**
54
- *
55
- * @param sketch
56
- */
57
- void initFrame(PApplet sketch);
54
+ public void initFrame(PApplet sketch);
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
+ //
58
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
- Object getNative();
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
- */
80
- void setTitle(String title);
81
89
 
82
- /**
83
- * Show or hide the window.
84
- *
85
- * @param visible
86
- */
87
- void setVisible(boolean visible);
90
+ /** Set the window (and dock, or whatever necessary) title.
91
+ * @param title */
92
+ public void setTitle(String title);
88
93
 
89
- /**
90
- * Set true if we want to resize things (default is not resizable)
91
- *
92
- * @param resizable
93
- */
94
- void setResizable(boolean resizable);
94
+ /** Show or hide the window.
95
+ * @param visible */
96
+ public void setVisible(boolean visible);
95
97
 
96
- /**
97
- * Dumb name, but inherited from Frame and no better ideas.
98
- *
99
- * @param always
100
- */
101
- void setAlwaysOnTop(boolean always);
98
+ /** Set true if we want to resize things (default is not resizable)
99
+ * @param resizable */
100
+ public void setResizable(boolean resizable);
102
101
 
103
- /**
104
- *
105
- * @param icon
106
- */
107
- void setIcon(PImage icon);
102
+ /** Dumb name, but inherited from Frame and no better ideas.
103
+ * @param always */
104
+ public void setAlwaysOnTop(boolean always);
105
+
106
+ public void setIcon(PImage icon);
108
107
 
109
108
  //
110
- // void placeWindow(int[] location);
111
- /**
112
- *
113
- * @param location
114
- * @param editorLocation
115
- */
116
- void placeWindow(int[] location, int[] editorLocation);
117
109
 
118
- //void placeFullScreen(boolean hideStop);
119
- /**
120
- *
121
- * @param stopColor
122
- */
123
- void placePresent(int stopColor);
110
+ // public void placeWindow(int[] location);
111
+
112
+ public void placeWindow(int[] location, int[] editorLocation);
113
+
114
+ //public void placeFullScreen(boolean hideStop);
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
- void setupExternalMessages();
118
+ public void setupExternalMessages();
130
119
 
131
120
  //
121
+
132
122
  // sets displayWidth/Height inside PApplet
133
- //void checkDisplaySize();
134
- /**
135
- *
136
- * @param x
137
- * @param y
138
- */
139
- void setLocation(int x, int y);
123
+ //public void checkDisplaySize();
140
124
 
141
- /**
142
- *
143
- * @param width
144
- * @param height
145
- */
146
- void setSize(int width, int height);
125
+ public void setLocation(int x, int y);
126
+
127
+ public void setSize(int width, int height);
147
128
 
148
129
  // /**
149
130
  // * Called by {@link PApplet#createGraphics} to initialize the
@@ -154,79 +135,64 @@ public interface PSurface {
154
135
  // * @param high
155
136
  // */
156
137
  // create pixel buffer (pulled out for offscreen graphics)
157
- //void initImage(PGraphics gr, int wide, int high);
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
- // void initImage(PGraphics gr);
160
- //Component getComponent();
140
+ // public void initImage(PGraphics gr);
141
+
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
- // void setSmooth(int level);
166
- /**
167
- *
168
- * @param fps
169
- */
170
- void setFrameRate(float fps);
148
+ // public void setSmooth(int level);
149
+
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
- // void requestFocus();
154
+ // public void requestFocus();
155
+
175
156
  // // finish rendering to the screen (called by PApplet)
176
- // void blit();
157
+ // public void blit();
158
+
177
159
  //
178
- /**
179
- *
180
- * @param kind
181
- */
182
- void setCursor(int kind);
183
160
 
184
- /**
185
- *
186
- * @param image
187
- * @param hotspotX
188
- * @param hotspotY
189
- */
190
- void setCursor(PImage image, int hotspotX, int hotspotY);
161
+ public void setCursor(int kind);
191
162
 
192
- /**
193
- *
194
- */
195
- void showCursor();
163
+ public void setCursor(PImage image, int hotspotX, int hotspotY);
196
164
 
197
- /**
198
- *
199
- */
200
- void hideCursor();
165
+ public void showCursor();
166
+
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
  */
206
- void startThread();
175
+ public boolean openLink(String url);
176
+
177
+ //
178
+
179
+ /** Start the animation thread */
180
+ public void startThread();
207
181
 
208
182
  /**
209
183
  * On the next trip through the animation thread, things should go sleepy-bye.
210
184
  * Does not pause the thread immediately because that needs to happen on the
211
185
  * animation thread itself, so fires on the next trip through draw().
212
186
  */
213
- void pauseThread();
187
+ public void pauseThread();
214
188
 
215
- /**
216
- *
217
- */
218
- void resumeThread();
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
- boolean stopThread();
195
+ public boolean stopThread();
226
196
 
227
- /**
228
- *
229
- * @return
230
- */
231
- boolean isStopped();
197
+ public boolean isStopped();
232
198
  }