propane 3.8.0-java → 4.0.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.mvn/extensions.xml +1 -1
- data/.mvn/wrapper/maven-wrapper.properties +1 -1
- data/.travis.yml +1 -1
- data/CHANGELOG.md +7 -1
- data/README.md +7 -7
- data/Rakefile +6 -5
- data/lib/propane/app.rb +10 -17
- data/lib/propane/helper_methods.rb +6 -6
- data/lib/propane/version.rb +1 -1
- data/lib/propane-4.0.0.jar +0 -0
- data/library/pdf/itextpdf-5.5.13.2.jar +0 -0
- data/library/pdf/pdf.rb +7 -0
- data/library/slider/slider.rb +1 -1
- data/library/svg/batik-all-1.14.jar +0 -0
- data/library/svg/svg.rb +7 -0
- data/mvnw +3 -3
- data/mvnw.cmd +2 -2
- data/pom.rb +35 -8
- data/pom.xml +60 -9
- data/propane.gemspec +9 -7
- data/src/main/java/monkstone/ColorUtil.java +1 -1
- data/src/main/java/monkstone/FastNoiseModuleJava.java +127 -0
- data/src/main/java/monkstone/MathToolModule.java +31 -31
- data/src/main/java/monkstone/PropaneLibrary.java +3 -1
- data/src/main/java/monkstone/SmoothNoiseModuleJava.java +127 -0
- data/src/main/java/monkstone/fastmath/DegLutTables.java +25 -26
- data/src/main/java/monkstone/fastmath/Deglut.java +1 -1
- data/src/main/java/monkstone/filechooser/Chooser.java +2 -2
- data/src/main/java/monkstone/noise/LICENSE +121 -0
- data/src/main/java/monkstone/noise/OpenSimplex2F.java +914 -0
- data/src/main/java/monkstone/noise/OpenSimplex2S.java +1138 -0
- data/src/main/java/monkstone/slider/CustomHorizontalSlider.java +1 -1
- data/src/main/java/monkstone/slider/CustomVerticalSlider.java +1 -1
- data/src/main/java/monkstone/slider/SimpleHorizontalSlider.java +1 -1
- data/src/main/java/monkstone/slider/SimpleVerticalSlider.java +1 -1
- data/src/main/java/monkstone/slider/SliderBar.java +1 -1
- data/src/main/java/monkstone/slider/SliderGroup.java +1 -1
- data/src/main/java/monkstone/slider/WheelHandler.java +2 -2
- data/src/main/java/monkstone/vecmath/JRender.java +6 -6
- data/src/main/java/monkstone/vecmath/package-info.java +1 -1
- data/src/main/java/monkstone/vecmath/vec2/Vec2.java +103 -83
- data/src/main/java/monkstone/vecmath/vec3/Vec3.java +27 -41
- data/src/main/java/monkstone/videoevent/CaptureEvent.java +1 -1
- data/src/main/java/monkstone/videoevent/MovieEvent.java +1 -1
- data/src/main/java/monkstone/videoevent/package-info.java +1 -1
- data/src/main/java/processing/awt/PGraphicsJava2D.java +11 -4
- data/src/main/java/processing/awt/PImageAWT.java +8 -8
- data/src/main/java/processing/core/PApplet.java +245 -254
- data/src/main/java/processing/core/PConstants.java +155 -163
- data/src/main/java/processing/core/PGraphics.java +116 -109
- data/src/main/java/processing/core/PImage.java +3025 -3047
- data/src/main/java/processing/core/PMatrix.java +5 -2
- data/src/main/java/processing/data/DoubleDict.java +72 -43
- data/src/main/java/processing/data/DoubleList.java +6 -2
- data/src/main/java/processing/data/FloatDict.java +744 -756
- data/src/main/java/processing/data/FloatList.java +68 -26
- data/src/main/java/processing/data/IntDict.java +72 -45
- data/src/main/java/processing/data/IntList.java +63 -26
- data/src/main/java/processing/data/JSONArray.java +892 -931
- data/src/main/java/processing/data/JSONObject.java +1169 -1262
- data/src/main/java/processing/data/JSONTokener.java +30 -49
- data/src/main/java/processing/data/LongDict.java +699 -712
- data/src/main/java/processing/data/LongList.java +676 -700
- data/src/main/java/processing/data/Sort.java +1 -0
- data/src/main/java/processing/data/Table.java +4040 -3661
- data/src/main/java/processing/data/TableRow.java +16 -0
- data/src/main/java/processing/data/XML.java +1041 -956
- data/src/main/java/processing/event/TouchEvent.java +1 -1
- data/src/main/java/processing/opengl/FontTexture.java +2 -2
- data/src/main/java/processing/opengl/PGraphicsOpenGL.java +28 -31
- data/src/main/java/processing/opengl/PJOGL.java +8 -7
- data/src/main/java/processing/opengl/PShader.java +1 -6
- data/src/main/java/processing/opengl/PShapeOpenGL.java +23 -24
- data/src/main/java/processing/opengl/PSurfaceJOGL.java +6 -6
- data/src/main/java/processing/pdf/PGraphicsPDF.java +581 -0
- data/src/main/java/processing/svg/PGraphicsSVG.java +378 -0
- data/src/main/{java/processing/opengl → resources}/cursors/arrow.png +0 -0
- data/src/main/{java/processing/opengl → resources}/cursors/cross.png +0 -0
- data/src/main/{java/processing/opengl → resources}/cursors/hand.png +0 -0
- data/src/main/{java/processing/opengl → resources}/cursors/license.txt +0 -0
- data/src/main/{java/processing/opengl → resources}/cursors/move.png +0 -0
- data/src/main/{java/processing/opengl → resources}/cursors/text.png +0 -0
- data/src/main/{java/processing/opengl → resources}/cursors/wait.png +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/ColorFrag.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/ColorVert.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/LightFrag.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/LightVert.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/LineFrag.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/LineVert.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/MaskFrag.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/PointFrag.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/PointVert.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/TexFrag.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/TexLightFrag.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/TexLightVert.glsl +0 -0
- data/src/main/{java/processing/opengl → resources}/shaders/TexVert.glsl +0 -0
- data/test/test_helper.rb +1 -0
- data/test/vecmath_spec_test.rb +14 -3
- data/vendors/Rakefile +1 -1
- metadata +53 -53
- data/lib/propane-3.8.0.jar +0 -0
- data/src/main/java/monkstone/noise/Noise.java +0 -116
- data/src/main/java/monkstone/noise/NoiseGenerator.java +0 -63
- data/src/main/java/monkstone/noise/NoiseMode.java +0 -15
- data/src/main/java/monkstone/noise/SimplexNoise.java +0 -470
- data/src/main/java/monkstone/noise/ValueNoise.java +0 -170
@@ -3,7 +3,7 @@
|
|
3
3
|
/*
|
4
4
|
Part of the Processing project - http://processing.org
|
5
5
|
|
6
|
-
Copyright (c) 2012-
|
6
|
+
Copyright (c) 2012-22 The Processing Foundation
|
7
7
|
Copyright (c) 2004-12 Ben Fry and Casey Reas
|
8
8
|
Copyright (c) 2001-04 Massachusetts Institute of Technology
|
9
9
|
|
@@ -39,8 +39,8 @@ import java.util.zip.*;
|
|
39
39
|
|
40
40
|
// loadXML() error handling
|
41
41
|
import javax.xml.parsers.ParserConfigurationException;
|
42
|
-
import monkstone.noise.NoiseMode;
|
43
|
-
import monkstone.noise.Noise;
|
42
|
+
// import monkstone.noise.NoiseMode;
|
43
|
+
// import monkstone.noise.Noise;
|
44
44
|
import org.xml.sax.SAXException;
|
45
45
|
|
46
46
|
// TODO have this removed by 4.0 final
|
@@ -49,9 +49,7 @@ import processing.awt.ShimAWT;
|
|
49
49
|
import processing.data.*;
|
50
50
|
import processing.event.*;
|
51
51
|
import processing.opengl.*;
|
52
|
-
import monkstone.noise.NoiseGenerator;
|
53
|
-
import monkstone.noise.SimplexNoise;
|
54
|
-
import monkstone.noise.ValueNoise;
|
52
|
+
// import monkstone.noise.NoiseGenerator;
|
55
53
|
|
56
54
|
/**
|
57
55
|
* Base class for all sketches that use processing.core.
|
@@ -120,8 +118,8 @@ public class PApplet implements PConstants {
|
|
120
118
|
* For 3.3.5, this defaults to true on all platforms.
|
121
119
|
*/
|
122
120
|
static public boolean useNativeSelect = true;
|
123
|
-
|
124
|
-
|
121
|
+
|
122
|
+
// Noise noiseGenerator = new NoiseGenerator();
|
125
123
|
|
126
124
|
/**
|
127
125
|
* The PGraphics renderer associated with this PApplet
|
@@ -261,13 +259,13 @@ public class PApplet implements PConstants {
|
|
261
259
|
/**
|
262
260
|
* ( begin auto-generated from pixelWidth.xml )
|
263
261
|
*
|
264
|
-
* When <b>pixelDensity(2)</
|
262
|
+
* When <b>pixelDensity(2)</b> is used to make use of a high resolution
|
265
263
|
* display (called a Retina display on OS X or high-dpi on Windows and
|
266
264
|
* Linux), the width and height of the sketch do not change, but the number
|
267
265
|
* of pixels is doubled. As a result, all operations that use pixels (like
|
268
266
|
* <b>loadPixels()</b>, <b>get()</b>, <b>set()</b>, etc.) happen in this
|
269
267
|
* doubled space. As a convenience, the variables <b>pixelWidth</b>
|
270
|
-
* and <b>pixelHeight
|
268
|
+
* and <b>pixelHeight</b> hold the actual width and height of the sketch in
|
271
269
|
* pixels. This is useful for any sketch that uses the <b>pixels[]</b>
|
272
270
|
* array, for instance, because the number of elements in the array will be
|
273
271
|
* <b>pixelWidth*pixelHeight</b>, not <b>width*height</b>.
|
@@ -284,13 +282,13 @@ public class PApplet implements PConstants {
|
|
284
282
|
/**
|
285
283
|
* ( begin auto-generated from pixelHeight.xml )
|
286
284
|
*
|
287
|
-
* When <b>pixelDensity(2)</
|
285
|
+
* When <b>pixelDensity(2)</b> is used to make use of a high resolution
|
288
286
|
* display (called a Retina display on OS X or high-dpi on Windows and
|
289
287
|
* Linux), the width and height of the sketch do not change, but the number
|
290
288
|
* of pixels is doubled. As a result, all operations that use pixels (like
|
291
289
|
* <b>loadPixels()</b>, <b>get()</b>, <b>set()</b>, etc.) happen in this
|
292
290
|
* doubled space. As a convenience, the variables <b>pixelWidth</b>
|
293
|
-
* and <b>pixelHeight
|
291
|
+
* and <b>pixelHeight</b> hold the actual width and height of the sketch in
|
294
292
|
* pixels. This is useful for any sketch that uses the <b>pixels[]</b>
|
295
293
|
* array, for instance, because the number of elements in the array will be
|
296
294
|
* <b>pixelWidth*pixelHeight</b>, not <b>width*height</b>.
|
@@ -372,8 +370,8 @@ public class PApplet implements PConstants {
|
|
372
370
|
* <b>draw()</b>). But, inside mouse events, they update each time the event
|
373
371
|
* is called. If they weren't separated, then the mouse would be read only
|
374
372
|
* once per frame, making response choppy. If the mouse variables were
|
375
|
-
* always updated multiple times per frame, using <
|
376
|
-
* pmouseY, mouseX, mouseY)</b
|
373
|
+
* always updated multiple times per frame, using <b>line(pmouseX,
|
374
|
+
* pmouseY, mouseX, mouseY)</b> inside <b>draw()</b> would have lots
|
377
375
|
* of gaps, because <b>pmouseX</b> may have changed several times in between
|
378
376
|
* the calls to <b>line()</b>. Use <b>pmouseX</b> and
|
379
377
|
* <b>pmouseY</b> inside <b>draw()</b> if you want values relative to the
|
@@ -969,11 +967,10 @@ public class PApplet implements PConstants {
|
|
969
967
|
*
|
970
968
|
* This function returns the number "2" if the screen is a high-density
|
971
969
|
* screen (called a Retina display on OS X or high-dpi on Windows and Linux)
|
972
|
-
* and a "1" if not.
|
973
|
-
|
974
|
-
*
|
975
|
-
* ( end auto-generated )
|
970
|
+
* and a "1" if not.This information is useful for a program to adapt to
|
971
|
+
run at double the pixel density on a screen that supports it. ( end auto-generated )
|
976
972
|
*
|
973
|
+
* @return
|
977
974
|
* @webref environment
|
978
975
|
* @see PApplet#pixelDensity(int)
|
979
976
|
* @see PApplet#size(int,int)
|
@@ -1003,6 +1000,7 @@ public class PApplet implements PConstants {
|
|
1003
1000
|
/**
|
1004
1001
|
* @param display the display number to check (1-indexed to match the
|
1005
1002
|
* Preferences dialog box)
|
1003
|
+
* @return
|
1006
1004
|
*/
|
1007
1005
|
public int displayDensity(int display) {
|
1008
1006
|
if (!disableAWT) {
|
@@ -1057,6 +1055,8 @@ public class PApplet implements PConstants {
|
|
1057
1055
|
/**
|
1058
1056
|
* Called by PSurface objects to set the width and height variables, and
|
1059
1057
|
* update the pixelWidth and pixelHeight variables.
|
1058
|
+
* @param width
|
1059
|
+
* @param height
|
1060
1060
|
*/
|
1061
1061
|
public void setSize(int width, int height) {
|
1062
1062
|
this.width = width;
|
@@ -1322,7 +1322,7 @@ public class PApplet implements PConstants {
|
|
1322
1322
|
* <li>resume – called when the sketch is resumed
|
1323
1323
|
* <li>dispose – when the sketch is shutting down (definitely not safe to
|
1324
1324
|
* draw)
|
1325
|
-
*
|
1325
|
+
* </ul>
|
1326
1326
|
* In addition, the new (for 2.0) processing.event classes are passed to the
|
1327
1327
|
* following event types:
|
1328
1328
|
* <ul>
|
@@ -1337,17 +1337,19 @@ public class PApplet implements PConstants {
|
|
1337
1337
|
* @param target the target object that should receive the event
|
1338
1338
|
*/
|
1339
1339
|
public void registerMethod(String methodName, Object target) {
|
1340
|
-
|
1341
|
-
|
1342
|
-
|
1343
|
-
|
1344
|
-
|
1345
|
-
|
1346
|
-
|
1347
|
-
|
1348
|
-
|
1349
|
-
|
1350
|
-
|
1340
|
+
switch (methodName) {
|
1341
|
+
case "mouseEvent":
|
1342
|
+
registerWithArgs("mouseEvent", target, new Class[]{processing.event.MouseEvent.class});
|
1343
|
+
break;
|
1344
|
+
case "keyEvent":
|
1345
|
+
registerWithArgs("keyEvent", target, new Class[]{processing.event.KeyEvent.class});
|
1346
|
+
break;
|
1347
|
+
case "touchEvent":
|
1348
|
+
registerWithArgs("touchEvent", target, new Class[]{processing.event.TouchEvent.class});
|
1349
|
+
break;
|
1350
|
+
default:
|
1351
|
+
registerNoArgs(methodName, target);
|
1352
|
+
break;
|
1351
1353
|
}
|
1352
1354
|
}
|
1353
1355
|
|
@@ -1683,6 +1685,7 @@ public class PApplet implements PConstants {
|
|
1683
1685
|
}
|
1684
1686
|
|
1685
1687
|
/**
|
1688
|
+
* @param renderer
|
1686
1689
|
* @param display the screen to run the sketch on (1, 2, 3, etc. or on
|
1687
1690
|
* multiple screens using SPAN)
|
1688
1691
|
*/
|
@@ -1802,6 +1805,10 @@ public class PApplet implements PConstants {
|
|
1802
1805
|
}
|
1803
1806
|
|
1804
1807
|
/**
|
1808
|
+
* @param width
|
1809
|
+
* @param height
|
1810
|
+
* @param renderer
|
1811
|
+
* @param path
|
1805
1812
|
* @nowebref
|
1806
1813
|
*/
|
1807
1814
|
public void size(int width, int height, String renderer, String path) {
|
@@ -1893,9 +1900,9 @@ public class PApplet implements PConstants {
|
|
1893
1900
|
* ( begin auto-generated from createGraphics.xml )
|
1894
1901
|
*
|
1895
1902
|
* Creates and returns a new <b>PGraphics</b> object of the types P2D or
|
1896
|
-
* P3D.
|
1897
|
-
|
1898
|
-
|
1903
|
+
* P3D.Use this class if you need to draw into an off-screen graphics
|
1904
|
+
buffer. The PDF renderer requires the filename parameter. The DXF
|
1905
|
+
renderer should not be used with <b>createGraphics()</b>, it's only built
|
1899
1906
|
* for use with <b>beginRaw()</b> and <b>endRaw()</b>.
|
1900
1907
|
*
|
1901
1908
|
* It's important to call any drawing functions between <b>beginDraw()</b>
|
@@ -1957,6 +1964,7 @@ public class PApplet implements PConstants {
|
|
1957
1964
|
* <A HREF="http://dev.processing.org/reference/core/javadoc/processing/core/PImage.html#save(java.lang.String)">PImage.save()</A>.
|
1958
1965
|
* </UL>
|
1959
1966
|
*
|
1967
|
+
* @return
|
1960
1968
|
* @webref rendering
|
1961
1969
|
* @param w width in pixels
|
1962
1970
|
* @param h height in pixels
|
@@ -1972,7 +1980,11 @@ public class PApplet implements PConstants {
|
|
1972
1980
|
* Create an offscreen graphics surface for drawing, in this case for a
|
1973
1981
|
* renderer that writes to a file (such as PDF or DXF).
|
1974
1982
|
*
|
1983
|
+
* @param w
|
1975
1984
|
* @param path the name of the file (can be an absolute or relative path)
|
1985
|
+
* @param renderer
|
1986
|
+
* @param h
|
1987
|
+
* @return
|
1976
1988
|
*/
|
1977
1989
|
public PGraphics createGraphics(int w, int h,
|
1978
1990
|
String renderer, String path) {
|
@@ -1995,8 +2007,13 @@ public class PApplet implements PConstants {
|
|
1995
2007
|
/**
|
1996
2008
|
* Version of createGraphics() used internally.
|
1997
2009
|
*
|
2010
|
+
* @param w
|
2011
|
+
* @param h
|
2012
|
+
* @param renderer
|
1998
2013
|
* @param path A path (or null if none), can be absolute or relative
|
1999
2014
|
* ({@link PApplet#savePath} will be called)
|
2015
|
+
* @param primary
|
2016
|
+
* @return
|
2000
2017
|
*/
|
2001
2018
|
protected PGraphics makeGraphics(int w, int h,
|
2002
2019
|
String renderer, String path,
|
@@ -2041,7 +2058,7 @@ public class PApplet implements PConstants {
|
|
2041
2058
|
} catch (InvocationTargetException ite) {
|
2042
2059
|
String msg = ite.getTargetException().getMessage();
|
2043
2060
|
if ((msg != null)
|
2044
|
-
&& (msg.
|
2061
|
+
&& (msg.contains("no jogl in java.library.path"))) {
|
2045
2062
|
// Is this true anymore, since the JARs contain the native libs?
|
2046
2063
|
throw new RuntimeException("The jogl library folder needs to be "
|
2047
2064
|
+ "specified with -Djava.library.path=/path/to/jogl");
|
@@ -2071,7 +2088,7 @@ public class PApplet implements PConstants {
|
|
2071
2088
|
+ " renderer is not in the class path.");
|
2072
2089
|
}
|
2073
2090
|
|
2074
|
-
} catch (
|
2091
|
+
} catch (IllegalAccessException | IllegalArgumentException | InstantiationException | NoSuchMethodException | SecurityException e) {
|
2075
2092
|
if ((e instanceof IllegalArgumentException)
|
2076
2093
|
|| (e instanceof NoSuchMethodException)
|
2077
2094
|
|| (e instanceof IllegalAccessException)) {
|
@@ -2101,6 +2118,7 @@ public class PApplet implements PConstants {
|
|
2101
2118
|
/**
|
2102
2119
|
* Create default renderer, likely to be resized, but needed for surface
|
2103
2120
|
* init.
|
2121
|
+
* @return
|
2104
2122
|
*/
|
2105
2123
|
protected PGraphics createPrimaryGraphics() {
|
2106
2124
|
return makeGraphics(sketchWidth(), sketchHeight(),
|
@@ -2110,9 +2128,9 @@ public class PApplet implements PConstants {
|
|
2110
2128
|
/**
|
2111
2129
|
* ( begin auto-generated from createImage.xml )
|
2112
2130
|
*
|
2113
|
-
* Creates a new PImage (the datatype for storing images).
|
2114
|
-
|
2115
|
-
|
2131
|
+
* Creates a new PImage (the datatype for storing images).This provides a
|
2132
|
+
fresh buffer of pixels to play with. Set the size of the buffer with the
|
2133
|
+
<b>width</b> and <b>height</b> parameters. The <b>format</b> parameter
|
2116
2134
|
* defines how the pixels are stored. See the PImage reference for more
|
2117
2135
|
* information.
|
2118
2136
|
*
|
@@ -2128,6 +2146,7 @@ public class PApplet implements PConstants {
|
|
2128
2146
|
* to the parent PApplet is included, which makes save() work without
|
2129
2147
|
* needing an absolute path.
|
2130
2148
|
*
|
2149
|
+
* @return
|
2131
2150
|
* @webref image
|
2132
2151
|
* @param w width in pixels
|
2133
2152
|
* @param h height in pixels
|
@@ -2386,6 +2405,7 @@ public class PApplet implements PConstants {
|
|
2386
2405
|
/**
|
2387
2406
|
* Add an event to the internal event queue, or process it immediately if
|
2388
2407
|
* the sketch is not currently looping.
|
2408
|
+
* @param pe
|
2389
2409
|
*/
|
2390
2410
|
public void postEvent(processing.event.Event pe) {
|
2391
2411
|
eventQueue.add(pe);
|
@@ -2933,16 +2953,15 @@ public class PApplet implements PConstants {
|
|
2933
2953
|
* ( begin auto-generated from millis.xml )
|
2934
2954
|
*
|
2935
2955
|
* Returns the number of milliseconds (thousandths of a second) since
|
2936
|
-
* starting an applet.
|
2937
|
-
|
2938
|
-
|
2939
|
-
|
2940
|
-
*
|
2941
|
-
* <h3>Advanced</h3>
|
2956
|
+
* starting an applet.This information is often used for timing animation
|
2957
|
+
sequences. ( end auto-generated )
|
2958
|
+
|
2959
|
+
<h3>Advanced</h3>
|
2942
2960
|
* <p>
|
2943
2961
|
* This is a function, rather than a variable, because it may change
|
2944
2962
|
* multiple times per frame.
|
2945
2963
|
*
|
2964
|
+
* @return
|
2946
2965
|
* @webref input:time_date
|
2947
2966
|
* @see PApplet#second()
|
2948
2967
|
* @see PApplet#minute()
|
@@ -2959,12 +2978,11 @@ public class PApplet implements PConstants {
|
|
2959
2978
|
/**
|
2960
2979
|
* ( begin auto-generated from second.xml )
|
2961
2980
|
*
|
2962
|
-
* Processing communicates with the clock on your computer.
|
2963
|
-
|
2964
|
-
|
2965
|
-
*
|
2966
|
-
* ( end auto-generated )
|
2981
|
+
* Processing communicates with the clock on your computer.The
|
2982
|
+
<b>second()</b> function returns the current second as a value from 0 -
|
2983
|
+
59. ( end auto-generated )
|
2967
2984
|
*
|
2985
|
+
* @return
|
2968
2986
|
* @webref input:time_date
|
2969
2987
|
* @see PApplet#millis()
|
2970
2988
|
* @see PApplet#minute()
|
@@ -2972,7 +2990,7 @@ public class PApplet implements PConstants {
|
|
2972
2990
|
* @see PApplet#day()
|
2973
2991
|
* @see PApplet#month()
|
2974
2992
|
* @see PApplet#year()
|
2975
|
-
|
2993
|
+
*
|
2976
2994
|
*/
|
2977
2995
|
static public int second() {
|
2978
2996
|
return Calendar.getInstance().get(Calendar.SECOND);
|
@@ -2981,12 +2999,11 @@ public class PApplet implements PConstants {
|
|
2981
2999
|
/**
|
2982
3000
|
* ( begin auto-generated from minute.xml )
|
2983
3001
|
*
|
2984
|
-
* Processing communicates with the clock on your computer.
|
2985
|
-
|
2986
|
-
|
2987
|
-
*
|
2988
|
-
* ( end auto-generated )
|
3002
|
+
* Processing communicates with the clock on your computer.The
|
3003
|
+
<b>minute()</b> function returns the current minute as a value from 0 -
|
3004
|
+
59. ( end auto-generated )
|
2989
3005
|
*
|
3006
|
+
* @return
|
2990
3007
|
* @webref input:time_date
|
2991
3008
|
* @see PApplet#millis()
|
2992
3009
|
* @see PApplet#second()
|
@@ -3004,11 +3021,10 @@ public class PApplet implements PConstants {
|
|
3004
3021
|
/**
|
3005
3022
|
* ( begin auto-generated from hour.xml )
|
3006
3023
|
*
|
3007
|
-
* Processing communicates with the clock on your computer.
|
3008
|
-
|
3009
|
-
*
|
3010
|
-
* ( end auto-generated )
|
3024
|
+
* Processing communicates with the clock on your computer.The
|
3025
|
+
<b>hour()</b> function returns the current hour as a value from 0 - 23. ( end auto-generated )
|
3011
3026
|
*
|
3027
|
+
* @return
|
3012
3028
|
* @webref input:time_date
|
3013
3029
|
* @see PApplet#millis()
|
3014
3030
|
* @see PApplet#second()
|
@@ -3050,11 +3066,10 @@ public class PApplet implements PConstants {
|
|
3050
3066
|
/**
|
3051
3067
|
* ( begin auto-generated from month.xml )
|
3052
3068
|
*
|
3053
|
-
* Processing communicates with the clock on your computer.
|
3054
|
-
|
3055
|
-
*
|
3056
|
-
* ( end auto-generated )
|
3069
|
+
* Processing communicates with the clock on your computer.The
|
3070
|
+
<b>month()</b> function returns the current month as a value from 1 - 12. ( end auto-generated )
|
3057
3071
|
*
|
3072
|
+
* @return
|
3058
3073
|
* @webref input:time_date
|
3059
3074
|
* @see PApplet#millis()
|
3060
3075
|
* @see PApplet#second()
|
@@ -3177,14 +3192,14 @@ public class PApplet implements PConstants {
|
|
3177
3192
|
/**
|
3178
3193
|
* ( begin auto-generated from launch.xml )
|
3179
3194
|
*
|
3180
|
-
* Attempts to open an application or file using your platform's launcher.
|
3181
|
-
|
3182
|
-
*
|
3183
|
-
|
3184
|
-
|
3185
|
-
|
3186
|
-
|
3187
|
-
|
3195
|
+
* Attempts to open an application or file using your platform's launcher.The <b>file</b> parameter is a String specifying the file name and
|
3196
|
+
location.
|
3197
|
+
* The location parameter must be a full path name, or the name of
|
3198
|
+
an executable in the system's PATH. In most cases, using a full path is
|
3199
|
+
the best option, rather than relying on the system PATH. Be sure to make
|
3200
|
+
the file executable before attempting to open it (chmod +x).
|
3201
|
+
|
3202
|
+
The <b>args</b> parameter is a String or String array which is passed to
|
3188
3203
|
* the command line. If you have multiple parameters, e.g. an application
|
3189
3204
|
* and a document, or a command with multiple switches, use the version that
|
3190
3205
|
* takes a String array, and place each individual item in a separate
|
@@ -3209,6 +3224,7 @@ public class PApplet implements PConstants {
|
|
3209
3224
|
*
|
3210
3225
|
* ( end auto-generated )
|
3211
3226
|
*
|
3227
|
+
* @return
|
3212
3228
|
* @webref input:files
|
3213
3229
|
* @param args arguments to the launcher, eg. a filename.
|
3214
3230
|
* @usage Application
|
@@ -3216,42 +3232,44 @@ public class PApplet implements PConstants {
|
|
3216
3232
|
static public Process launch(String... args) {
|
3217
3233
|
String[] params = null;
|
3218
3234
|
|
3219
|
-
|
3220
|
-
|
3221
|
-
|
3222
|
-
|
3223
|
-
|
3224
|
-
|
3225
|
-
|
3226
|
-
|
3227
|
-
|
3228
|
-
|
3229
|
-
|
3230
|
-
|
3231
|
-
|
3232
|
-
|
3233
|
-
|
3234
|
-
|
3235
|
-
|
3236
|
-
|
3237
|
-
|
3238
|
-
|
3239
|
-
|
3240
|
-
|
3241
|
-
|
3242
|
-
|
3235
|
+
switch (platform) {
|
3236
|
+
case WINDOWS:
|
3237
|
+
// just launching the .html file via the shell works
|
3238
|
+
// but make sure to chmod +x the .html files first
|
3239
|
+
// also place quotes around it in case there's a space
|
3240
|
+
// in the user.dir part of the url
|
3241
|
+
params = new String[]{"cmd", "/c"};
|
3242
|
+
break;
|
3243
|
+
case MACOS:
|
3244
|
+
params = new String[]{"open"};
|
3245
|
+
break;
|
3246
|
+
case LINUX:
|
3247
|
+
// xdg-open is in the Free Desktop Specification and really should just
|
3248
|
+
// work on desktop Linux. Not risking it though.
|
3249
|
+
final String[] launchers = {"xdg-open", "gnome-open", "kde-open"};
|
3250
|
+
for (String launcher : launchers) {
|
3251
|
+
if (openLauncher != null) {
|
3252
|
+
break;
|
3253
|
+
}
|
3254
|
+
try {
|
3255
|
+
Process p = Runtime.getRuntime().exec(new String[]{launcher});
|
3256
|
+
/*int result =*/ p.waitFor();
|
3257
|
+
// Not installed will throw an IOException (JDK 1.4.2, Ubuntu 7.04)
|
3258
|
+
openLauncher = launcher;
|
3259
|
+
} catch (Exception e) {
|
3260
|
+
}
|
3261
|
+
} if (openLauncher == null) {
|
3262
|
+
System.err.println("Could not find xdg-open, gnome-open, or kde-open: "
|
3263
|
+
+ "the open() command may not work.");
|
3264
|
+
} if (openLauncher != null) {
|
3265
|
+
params = new String[]{openLauncher};
|
3243
3266
|
}
|
3244
|
-
|
3245
|
-
|
3246
|
-
|
3247
|
-
|
3248
|
-
|
3249
|
-
|
3250
|
-
params = new String[]{openLauncher};
|
3251
|
-
}
|
3252
|
-
//} else { // give up and just pass it to Runtime.exec()
|
3253
|
-
//open(new String[] { filename });
|
3254
|
-
//params = new String[] { filename };
|
3267
|
+
//} else { // give up and just pass it to Runtime.exec()
|
3268
|
+
//open(new String[] { filename });
|
3269
|
+
//params = new String[] { filename };
|
3270
|
+
break;
|
3271
|
+
default:
|
3272
|
+
break;
|
3255
3273
|
}
|
3256
3274
|
if (params != null) {
|
3257
3275
|
// If the 'open', 'gnome-open' or 'cmd' are already included
|
@@ -3990,9 +4008,10 @@ public class PApplet implements PConstants {
|
|
3990
4008
|
}
|
3991
4009
|
*/
|
3992
4010
|
/**
|
3993
|
-
* For arrays, use printArray() instead.
|
4011
|
+
* For arrays, use printArray() instead.This function causes a warning
|
3994
4012
|
* because the new print(Object...) and println(Object...) functions can't
|
3995
4013
|
* be reliably bound by the compiler.
|
4014
|
+
* @param what
|
3996
4015
|
*/
|
3997
4016
|
static public void println(Object what) {
|
3998
4017
|
if (what == null) {
|
@@ -4905,111 +4924,101 @@ public class PApplet implements PConstants {
|
|
4905
4924
|
* @see PApplet#noise(float, float, float)
|
4906
4925
|
* @see PApplet#noiseSeed(long)
|
4907
4926
|
*/
|
4908
|
-
public final void randomSeed(long seed) {
|
4909
|
-
|
4910
|
-
|
4911
|
-
|
4912
|
-
|
4913
|
-
}
|
4914
|
-
|
4915
|
-
public void noiseMode(NoiseMode mode){
|
4916
|
-
|
4917
|
-
}
|
4918
|
-
|
4919
|
-
/**
|
4920
|
-
|
4921
|
-
|
4922
|
-
|
4923
|
-
|
4924
|
-
|
4925
|
-
|
4926
|
-
|
4927
|
-
|
4928
|
-
|
4929
|
-
|
4930
|
-
|
4931
|
-
|
4932
|
-
|
4933
|
-
|
4934
|
-
|
4935
|
-
|
4936
|
-
|
4937
|
-
|
4938
|
-
|
4939
|
-
|
4940
|
-
|
4941
|
-
|
4942
|
-
|
4943
|
-
|
4944
|
-
|
4945
|
-
|
4946
|
-
|
4947
|
-
|
4948
|
-
|
4949
|
-
|
4950
|
-
|
4951
|
-
|
4952
|
-
|
4953
|
-
|
4954
|
-
|
4955
|
-
|
4956
|
-
|
4957
|
-
|
4958
|
-
|
4959
|
-
|
4960
|
-
|
4961
|
-
|
4962
|
-
|
4963
|
-
|
4964
|
-
|
4965
|
-
|
4966
|
-
|
4967
|
-
|
4968
|
-
|
4969
|
-
|
4970
|
-
|
4971
|
-
|
4972
|
-
|
4973
|
-
|
4974
|
-
|
4975
|
-
//
|
4976
|
-
//
|
4977
|
-
//
|
4978
|
-
//
|
4979
|
-
|
4980
|
-
|
4981
|
-
|
4982
|
-
|
4983
|
-
|
4984
|
-
|
4985
|
-
|
4986
|
-
|
4987
|
-
*
|
4988
|
-
*
|
4989
|
-
*
|
4990
|
-
* Eg. a falloff factor of 0.75 means each octave will now have 75% impact
|
4991
|
-
* (25% less) of the previous lower octave. Any value between 0.0 and 1.0 is
|
4992
|
-
* valid, however note that values greater than 0.5 might result in greater
|
4993
|
-
* than 1.0 values returned by <b>noise()</b>.<br
|
4994
|
-
* />By changing these parameters, the signal created by the <b>noise()</b>
|
4995
|
-
* function can be adapted to fit very specific needs and characteristics.
|
4996
|
-
*
|
4997
|
-
* ( end auto-generated )
|
4998
|
-
*
|
4999
|
-
* @webref math:random
|
5000
|
-
* @param lod number of octaves to be used by the noise
|
5001
|
-
* @see PApplet#noise(float, float, float)
|
4927
|
+
// public final void randomSeed(long seed) {
|
4928
|
+
// if (internalRandom == null) {
|
4929
|
+
// internalRandom = new Random();
|
4930
|
+
// }
|
4931
|
+
// internalRandom.setSeed(seed);
|
4932
|
+
// }
|
4933
|
+
//
|
4934
|
+
// public void noiseMode(NoiseMode mode) {
|
4935
|
+
// noiseGenerator.noiseMode(mode);
|
4936
|
+
// }
|
4937
|
+
//
|
4938
|
+
// /**
|
4939
|
+
// * @param x
|
4940
|
+
// * @return
|
4941
|
+
// */
|
4942
|
+
// public float noise(float x) {
|
4943
|
+
// return noiseGenerator.noise(x);
|
4944
|
+
// }
|
4945
|
+
//
|
4946
|
+
// /**
|
4947
|
+
// * @param x
|
4948
|
+
// * @param y
|
4949
|
+
// * @return
|
4950
|
+
// */
|
4951
|
+
// public float noise(float x, float y) {
|
4952
|
+
// return noiseGenerator.noise(x, y);
|
4953
|
+
// }
|
4954
|
+
//
|
4955
|
+
// /**
|
4956
|
+
// * ( begin auto-generated from noise.xml )
|
4957
|
+
// *
|
4958
|
+
// * Returns the Perlin noise value at specified coordinates. Perlin noise is
|
4959
|
+
// * a random sequence generator producing a more natural ordered, harmonic
|
4960
|
+
// * succession of numbers compared to the standard <b>random()</b> function.
|
4961
|
+
// * It was invented by Ken Perlin in the 1980s and been used since in
|
4962
|
+
// * graphical applications to produce procedural textures, natural motion,
|
4963
|
+
// * shapes, terrains etc. The main difference to the
|
4964
|
+
// * <b>random()</b> function is that Perlin noise is defined in an infinite
|
4965
|
+
// * n-dimensional space where each pair of coordinates corresponds to a fixed
|
4966
|
+
// * semi-random value (fixed only for the lifespan of the program). The
|
4967
|
+
// * resulting value will always be between 0.0 and 1.0. Processing can
|
4968
|
+
// * compute 1D, 2D and 3D noise, depending on the number of coordinates
|
4969
|
+
// * given. The noise value can be animated by moving through the noise space
|
4970
|
+
// * as demonstrated in the example above. The 2nd and 3rd dimension can also
|
4971
|
+
// * be interpreted as time.The actual noise is structured similar to an audio
|
4972
|
+
// * signal, in respect to the function's use of frequencies. Similar to the
|
4973
|
+
// * concept of harmonics in physics, perlin noise is computed over several
|
4974
|
+
// * octaves which are added together for the final result. Another way to
|
4975
|
+
// * adjust the character of the resulting sequence is the scale of the input
|
4976
|
+
// * coordinates. As the function works within an infinite space the value of
|
4977
|
+
// * the coordinates doesn't matter as such, only the distance between
|
4978
|
+
// * successive coordinates does (eg. when using <b>noise()</b> within a
|
4979
|
+
// * loop). As a general rule the smaller the difference between coordinates,
|
4980
|
+
// * the smoother the resulting noise sequence will be. Steps of 0.005-0.03
|
4981
|
+
// * work best for most applications, but this will differ depending on use.
|
4982
|
+
// *
|
4983
|
+
// * ( end auto-generated )
|
4984
|
+
// *
|
4985
|
+
// * @webref math:random
|
4986
|
+
// * @param x x-coordinate in noise space
|
4987
|
+
// * @param y y-coordinate in noise space
|
4988
|
+
// * @param z z-coordinate in noise space
|
4989
|
+
// */
|
4990
|
+
// public float noise(float x, float y, float z) {
|
4991
|
+
// return noiseGenerator.noise(x, y, z);
|
4992
|
+
// }
|
4993
|
+
// /**
|
4994
|
+
// * 4D noise where typically w is time
|
4995
|
+
// * @param x
|
4996
|
+
// * @param y
|
4997
|
+
// * @param z
|
4998
|
+
// * @param w
|
4999
|
+
// * @return
|
5000
|
+
// */
|
5001
|
+
// public float noise(float x, float y, float z, float w) {
|
5002
|
+
// return noiseGenerator.noise(x, y, z, w);
|
5003
|
+
// }
|
5004
|
+
|
5005
|
+
/**
|
5006
|
+
*
|
5007
|
+
* @param lod
|
5008
|
+
* @deprecated
|
5002
5009
|
*/
|
5010
|
+
@Deprecated
|
5003
5011
|
public void noiseDetail(int lod) {
|
5004
|
-
noiseGenerator.noiseDetail(lod);
|
5005
5012
|
}
|
5006
5013
|
|
5007
5014
|
/**
|
5008
|
-
*
|
5009
|
-
* @param
|
5015
|
+
*
|
5016
|
+
* @param lod
|
5017
|
+
* @param falloff
|
5018
|
+
* @deprecated
|
5010
5019
|
*/
|
5020
|
+
@Deprecated
|
5011
5021
|
public void noiseDetail(int lod, float falloff) {
|
5012
|
-
noiseGenerator.noiseDetail(lod, falloff);
|
5013
5022
|
}
|
5014
5023
|
|
5015
5024
|
/**
|
@@ -5029,10 +5038,9 @@ public class PApplet implements PConstants {
|
|
5029
5038
|
* @see PApplet#random(float,float)
|
5030
5039
|
* @see PApplet#randomSeed(long)
|
5031
5040
|
*/
|
5032
|
-
|
5033
|
-
|
5034
|
-
|
5035
|
-
}
|
5041
|
+
// public void noiseSeed(long seed) {
|
5042
|
+
// noiseGenerator.noiseSeed(seed);
|
5043
|
+
// }
|
5036
5044
|
|
5037
5045
|
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
5038
5046
|
/**
|
@@ -6783,7 +6791,6 @@ public class PApplet implements PConstants {
|
|
6783
6791
|
return new BufferedOutputStream(output);
|
6784
6792
|
|
6785
6793
|
} catch (IOException e) {
|
6786
|
-
e.printStackTrace();
|
6787
6794
|
}
|
6788
6795
|
return null;
|
6789
6796
|
}
|
@@ -6860,12 +6867,13 @@ public class PApplet implements PConstants {
|
|
6860
6867
|
System.err.println("Could not rename temporary file " + tempFile);
|
6861
6868
|
}
|
6862
6869
|
}
|
6863
|
-
e.printStackTrace();
|
6864
6870
|
return false;
|
6865
6871
|
}
|
6866
6872
|
}
|
6867
6873
|
|
6868
6874
|
/**
|
6875
|
+
* @param target
|
6876
|
+
* @param source
|
6869
6877
|
* @nowebref
|
6870
6878
|
*/
|
6871
6879
|
static public void saveStream(OutputStream target,
|
@@ -6975,11 +6983,12 @@ public class PApplet implements PConstants {
|
|
6975
6983
|
System.err.println("Could not delete temporary file " + tempFile);
|
6976
6984
|
}
|
6977
6985
|
}
|
6978
|
-
e.printStackTrace();
|
6979
6986
|
}
|
6980
6987
|
}
|
6981
6988
|
|
6982
6989
|
/**
|
6990
|
+
* @param output
|
6991
|
+
* @param data
|
6983
6992
|
* @nowebref Spews a buffer of bytes to an OutputStream.
|
6984
6993
|
*/
|
6985
6994
|
static public void saveBytes(OutputStream output, byte[] data) {
|
@@ -6988,7 +6997,6 @@ public class PApplet implements PConstants {
|
|
6988
6997
|
output.flush();
|
6989
6998
|
|
6990
6999
|
} catch (IOException e) {
|
6991
|
-
e.printStackTrace();
|
6992
7000
|
}
|
6993
7001
|
}
|
6994
7002
|
|
@@ -7033,15 +7041,17 @@ public class PApplet implements PConstants {
|
|
7033
7041
|
}
|
7034
7042
|
|
7035
7043
|
/**
|
7044
|
+
* @param output
|
7045
|
+
* @param data
|
7036
7046
|
* @nowebref
|
7037
7047
|
*/
|
7038
7048
|
static public void saveStrings(OutputStream output, String[] data) {
|
7039
|
-
PrintWriter writer = createWriter(output)
|
7040
|
-
|
7041
|
-
|
7049
|
+
try ( PrintWriter writer = createWriter(output)) {
|
7050
|
+
for (String data1 : data) {
|
7051
|
+
writer.println(data1);
|
7052
|
+
}
|
7053
|
+
writer.flush();
|
7042
7054
|
}
|
7043
|
-
writer.flush();
|
7044
|
-
writer.close();
|
7045
7055
|
}
|
7046
7056
|
|
7047
7057
|
//////////////////////////////////////////////////////////////
|
@@ -7133,7 +7143,7 @@ public class PApplet implements PConstants {
|
|
7133
7143
|
* from a server, or marked in-use if running from a local file system. With
|
7134
7144
|
* this in mind, saving to the data path doesn't make sense anyway. If you
|
7135
7145
|
* know you're running locally, and want to save to the data folder, use
|
7136
|
-
* <
|
7146
|
+
* <code>saveXxxx("data/blah.dat")</code>.
|
7137
7147
|
*/
|
7138
7148
|
public String savePath(String where) {
|
7139
7149
|
if (where == null) {
|
@@ -7421,45 +7431,19 @@ public class PApplet implements PConstants {
|
|
7421
7431
|
System.arraycopy(src, 0, dst, 0, Array.getLength(src));
|
7422
7432
|
}
|
7423
7433
|
|
7424
|
-
/**
|
7425
|
-
* Use arrayCopy() instead.
|
7426
|
-
*/
|
7427
|
-
@Deprecated
|
7428
|
-
static public void arraycopy(Object src, int srcPosition,
|
7429
|
-
Object dst, int dstPosition,
|
7430
|
-
int length) {
|
7431
|
-
System.arraycopy(src, srcPosition, dst, dstPosition, length);
|
7432
|
-
}
|
7433
|
-
|
7434
|
-
/**
|
7435
|
-
* Use arrayCopy() instead.
|
7436
|
-
*/
|
7437
|
-
@Deprecated
|
7438
|
-
static public void arraycopy(Object src, Object dst, int length) {
|
7439
|
-
System.arraycopy(src, 0, dst, 0, length);
|
7440
|
-
}
|
7441
|
-
|
7442
|
-
/**
|
7443
|
-
* Use arrayCopy() instead.
|
7444
|
-
*/
|
7445
|
-
@Deprecated
|
7446
|
-
static public void arraycopy(Object src, Object dst) {
|
7447
|
-
System.arraycopy(src, 0, dst, 0, Array.getLength(src));
|
7448
|
-
}
|
7449
|
-
|
7450
7434
|
/**
|
7451
7435
|
* ( begin auto-generated from expand.xml )
|
7452
7436
|
*
|
7453
|
-
* Increases the size of an array.
|
7454
|
-
*
|
7455
|
-
*
|
7456
|
-
*
|
7457
|
-
*
|
7458
|
-
*
|
7459
|
-
* items = (SomeClass[]) expand(originalArray)</em>.
|
7437
|
+
* Increases the size of an array.By default, this function doubles the size
|
7438
|
+
* of the array, but the optional <b>newSize</b> parameter provides precise
|
7439
|
+
* control over the increase in size. When using an array of objects, the
|
7440
|
+
* data returned from the function must be cast to the object array's data
|
7441
|
+
* type. For example: <em>SomeClass[] items = (SomeClass[])
|
7442
|
+
* expand(originalArray)</em>.
|
7460
7443
|
*
|
7461
7444
|
* ( end auto-generated )
|
7462
7445
|
*
|
7446
|
+
* @return
|
7463
7447
|
* @webref data:array_functions
|
7464
7448
|
* @param list the array to expand
|
7465
7449
|
* @see PApplet#shorten(boolean[])
|
@@ -7469,7 +7453,9 @@ public class PApplet implements PConstants {
|
|
7469
7453
|
}
|
7470
7454
|
|
7471
7455
|
/**
|
7456
|
+
* @param list
|
7472
7457
|
* @param newSize new size for the array
|
7458
|
+
* @return
|
7473
7459
|
*/
|
7474
7460
|
static public boolean[] expand(boolean[] list, int newSize) {
|
7475
7461
|
boolean[] temp = new boolean[newSize];
|
@@ -7549,6 +7535,7 @@ public class PApplet implements PConstants {
|
|
7549
7535
|
}
|
7550
7536
|
|
7551
7537
|
/**
|
7538
|
+
* @param array
|
7552
7539
|
* @nowebref
|
7553
7540
|
*/
|
7554
7541
|
static public Object expand(Object array) {
|
@@ -9671,6 +9658,7 @@ public class PApplet implements PConstants {
|
|
9671
9658
|
* All parameters *after* the sketch class name are passed to the sketch
|
9672
9659
|
* itself and available from its 'args' array while the sketch is running.
|
9673
9660
|
*
|
9661
|
+
* @param args
|
9674
9662
|
* @see PApplet#args
|
9675
9663
|
* </PRE>
|
9676
9664
|
*/
|
@@ -9681,6 +9669,8 @@ public class PApplet implements PConstants {
|
|
9681
9669
|
/**
|
9682
9670
|
* Convenience method so that PApplet.main(YourSketch.class) launches a
|
9683
9671
|
* sketch, rather than having to call getName() on it.
|
9672
|
+
* @param mainClass
|
9673
|
+
* @param args
|
9684
9674
|
*/
|
9685
9675
|
static public void main(final Class<?> mainClass, String... args) {
|
9686
9676
|
main(mainClass.getName(), args);
|
@@ -14628,7 +14618,8 @@ public class PApplet implements PConstants {
|
|
14628
14618
|
* function is easy to use and undestand, but is slower than another
|
14629
14619
|
* technique. To achieve the same results when working in <b>colorMode(RGB,
|
14630
14620
|
* 255)</b>, but with greater speed, use the >> (right shift) operator
|
14631
|
-
* with a bit mask. For example, the following two lines of code are
|
14621
|
+
* with a bit mask. For example, the following two lines of code are
|
14622
|
+
* equivalent:
|
14632
14623
|
* <pre>float r1 = green(myColor);float r2 =
|
14633
14624
|
* myColor >> 8 & 0xFF;</pre>
|
14634
14625
|
*
|
@@ -14659,7 +14650,7 @@ public class PApplet implements PConstants {
|
|
14659
14650
|
* technique. To achieve the same results when working in <b>colorMode(RGB,
|
14660
14651
|
* 255)</b>, but with greater speed, use a bit mask to remove the other
|
14661
14652
|
* color components. For example, the following two lines of code are
|
14662
|
-
|
14653
|
+
* equivalent:
|
14663
14654
|
* <pre>float r1 = blue(myColor);float r2 = myColor
|
14664
14655
|
* & 0xFF;</pre>
|
14665
14656
|
*
|