propane 3.11.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/CHANGELOG.md +2 -0
- data/README.md +5 -5
- data/Rakefile +1 -1
- data/lib/propane/app.rb +2 -2
- data/lib/propane/version.rb +1 -1
- data/lib/propane-4.0.0.jar +0 -0
- data/library/slider/slider.rb +1 -1
- data/pom.rb +8 -8
- data/pom.xml +8 -8
- data/propane.gemspec +3 -3
- data/src/main/java/monkstone/ColorUtil.java +1 -1
- data/src/main/java/monkstone/MathToolModule.java +1 -1
- data/src/main/java/monkstone/PropaneLibrary.java +1 -1
- data/src/main/java/monkstone/fastmath/DegLutTables.java +10 -11
- data/src/main/java/monkstone/fastmath/Deglut.java +1 -1
- data/src/main/java/monkstone/filechooser/Chooser.java +1 -1
- data/src/main/java/monkstone/noise/LICENSE +121 -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 +1 -1
- data/src/main/java/monkstone/vecmath/package-info.java +1 -1
- data/src/main/java/monkstone/vecmath/vec2/Vec2.java +92 -68
- data/src/main/java/monkstone/vecmath/vec3/Vec3.java +1 -1
- 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 +0 -1
- data/src/main/java/processing/awt/PImageAWT.java +2 -4
- data/src/main/java/processing/core/PApplet.java +4 -4
- 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 +15 -18
- data/src/main/java/processing/opengl/PJOGL.java +2 -2
- data/src/main/java/processing/opengl/PShapeOpenGL.java +23 -24
- data/test/vecmath_spec_test.rb +14 -3
- data/vendors/Rakefile +1 -1
- metadata +9 -8
- data/lib/propane-3.11.0.jar +0 -0
@@ -42,7 +42,7 @@ longpress
|
|
42
42
|
|
43
43
|
W3C touch events
|
44
44
|
http://www.w3.org/TR/touch-events/
|
45
|
-
http://www.w3.org/TR/2011/WD-touch-events-
|
45
|
+
http://www.w3.org/TR/2011/WD-touch-events-22110913/
|
46
46
|
|
47
47
|
Pointer and gesture events (Windows)
|
48
48
|
http://msdn.microsoft.com/en-US/library/ie/hh673557.aspx
|
@@ -359,7 +359,7 @@ class FontTexture implements PConstants {
|
|
359
359
|
}
|
360
360
|
|
361
361
|
|
362
|
-
void updateUV() {
|
362
|
+
final void updateUV() {
|
363
363
|
width = textures[texIndex].glWidth;
|
364
364
|
height = textures[texIndex].glHeight;
|
365
365
|
|
@@ -370,7 +370,7 @@ class FontTexture implements PConstants {
|
|
370
370
|
}
|
371
371
|
|
372
372
|
|
373
|
-
void updateTex() {
|
373
|
+
final void updateTex() {
|
374
374
|
textures[texIndex].setNative(pixels, crop[0] - 1, crop[1] + crop[3] - 1,
|
375
375
|
crop[2] + 2, -crop[3] + 2);
|
376
376
|
}
|
@@ -3851,12 +3851,10 @@ public class PGraphicsOpenGL extends PGraphics {
|
|
3851
3851
|
float factor = 1;
|
3852
3852
|
|
3853
3853
|
if (matrix != null) {
|
3854
|
-
if (matrix instanceof PMatrix2D) {
|
3855
|
-
PMatrix2D tr = (PMatrix2D)matrix;
|
3854
|
+
if (matrix instanceof PMatrix2D tr) {
|
3856
3855
|
float areaScaleFactor = Math.abs(tr.m00 * tr.m11 - tr.m01 * tr.m10);
|
3857
3856
|
factor = (float) Math.sqrt(areaScaleFactor);
|
3858
|
-
} else if (matrix instanceof PMatrix3D) {
|
3859
|
-
PMatrix3D tr = (PMatrix3D)matrix;
|
3857
|
+
} else if (matrix instanceof PMatrix3D tr) {
|
3860
3858
|
float volumeScaleFactor =
|
3861
3859
|
Math.abs(tr.m00 * (tr.m11 * tr.m22 - tr.m12 * tr.m21) +
|
3862
3860
|
tr.m01 * (tr.m12 * tr.m20 - tr.m10 * tr.m22) +
|
@@ -10774,26 +10772,26 @@ public class PGraphicsOpenGL extends PGraphics {
|
|
10774
10772
|
// Matrix transformations
|
10775
10773
|
|
10776
10774
|
void applyMatrixOnPolyGeometry(PMatrix tr, int first, int last) {
|
10777
|
-
if (tr instanceof PMatrix2D) {
|
10778
|
-
applyMatrixOnPolyGeometry(
|
10779
|
-
} else if (tr instanceof PMatrix3D) {
|
10780
|
-
applyMatrixOnPolyGeometry(
|
10775
|
+
if (tr instanceof PMatrix2D matrix) {
|
10776
|
+
applyMatrixOnPolyGeometry(matrix, first, last);
|
10777
|
+
} else if (tr instanceof PMatrix3D matrix) {
|
10778
|
+
applyMatrixOnPolyGeometry(matrix, first, last);
|
10781
10779
|
}
|
10782
10780
|
}
|
10783
10781
|
|
10784
10782
|
void applyMatrixOnLineGeometry(PMatrix tr, int first, int last) {
|
10785
|
-
if (tr instanceof PMatrix2D) {
|
10786
|
-
applyMatrixOnLineGeometry(
|
10787
|
-
} else if (tr instanceof PMatrix3D) {
|
10788
|
-
applyMatrixOnLineGeometry(
|
10783
|
+
if (tr instanceof PMatrix2D matrix) {
|
10784
|
+
applyMatrixOnLineGeometry(matrix, first, last);
|
10785
|
+
} else if (tr instanceof PMatrix3D matrix) {
|
10786
|
+
applyMatrixOnLineGeometry(matrix, first, last);
|
10789
10787
|
}
|
10790
10788
|
}
|
10791
10789
|
|
10792
10790
|
void applyMatrixOnPointGeometry(PMatrix tr, int first, int last) {
|
10793
|
-
if (tr instanceof PMatrix2D) {
|
10794
|
-
applyMatrixOnPointGeometry(
|
10795
|
-
} else if (tr instanceof PMatrix3D) {
|
10796
|
-
applyMatrixOnPointGeometry(
|
10791
|
+
if (tr instanceof PMatrix2D matrix) {
|
10792
|
+
applyMatrixOnPointGeometry(matrix, first, last);
|
10793
|
+
} else if (tr instanceof PMatrix3D matrix) {
|
10794
|
+
applyMatrixOnPointGeometry(matrix, first, last);
|
10797
10795
|
}
|
10798
10796
|
}
|
10799
10797
|
|
@@ -13275,8 +13273,7 @@ public class PGraphicsOpenGL extends PGraphics {
|
|
13275
13273
|
|
13276
13274
|
@Override
|
13277
13275
|
public void vertex(Object data) {
|
13278
|
-
if (data instanceof double[]) {
|
13279
|
-
double[] d = (double[]) data;
|
13276
|
+
if (data instanceof double[] d) {
|
13280
13277
|
int l = d.length;
|
13281
13278
|
if (l < 25) {
|
13282
13279
|
throw new RuntimeException("TessCallback vertex() data is " +
|
@@ -241,8 +241,8 @@ public class PJOGL extends PGL {
|
|
241
241
|
PSurface surf = sketch.getSurface();
|
242
242
|
if (surf == null) {
|
243
243
|
return graphics.pixelDensity;
|
244
|
-
} else if (surf instanceof PSurfaceJOGL) {
|
245
|
-
return
|
244
|
+
} else if (surf instanceof PSurfaceJOGL jogl) {
|
245
|
+
return jogl.getPixelScale();
|
246
246
|
} else {
|
247
247
|
throw new RuntimeException("Renderer cannot find a JOGL surface");
|
248
248
|
}
|
@@ -413,9 +413,9 @@ public class PShapeOpenGL extends PShape {
|
|
413
413
|
|
414
414
|
@Override
|
415
415
|
public void addChild(PShape who) {
|
416
|
-
if (who instanceof PShapeOpenGL) {
|
416
|
+
if (who instanceof PShapeOpenGL psogl) {
|
417
417
|
if (family == GROUP) {
|
418
|
-
PShapeOpenGL c3d =
|
418
|
+
PShapeOpenGL c3d = psogl;
|
419
419
|
|
420
420
|
super.addChild(c3d);
|
421
421
|
c3d.updateRoot(root);
|
@@ -423,9 +423,9 @@ public class PShapeOpenGL extends PShape {
|
|
423
423
|
|
424
424
|
if (c3d.family == GROUP) {
|
425
425
|
if (c3d.textures != null) {
|
426
|
-
|
427
|
-
|
428
|
-
|
426
|
+
c3d.textures.forEach(tex -> {
|
427
|
+
addTexture(tex);
|
428
|
+
});
|
429
429
|
} else {
|
430
430
|
untexChild(true);
|
431
431
|
}
|
@@ -454,9 +454,9 @@ public class PShapeOpenGL extends PShape {
|
|
454
454
|
|
455
455
|
@Override
|
456
456
|
public void addChild(PShape who, int idx) {
|
457
|
-
if (who instanceof PShapeOpenGL) {
|
457
|
+
if (who instanceof PShapeOpenGL psogl) {
|
458
458
|
if (family == GROUP) {
|
459
|
-
PShapeOpenGL c3d =
|
459
|
+
PShapeOpenGL c3d = psogl;
|
460
460
|
|
461
461
|
super.addChild(c3d, idx);
|
462
462
|
c3d.updateRoot(root);
|
@@ -4636,36 +4636,36 @@ public class PShapeOpenGL extends PShape {
|
|
4636
4636
|
|
4637
4637
|
@Override
|
4638
4638
|
protected void styles(PGraphics g) {
|
4639
|
-
if (g instanceof PGraphicsOpenGL) {
|
4640
|
-
if (
|
4639
|
+
if (g instanceof PGraphicsOpenGL pgl) {
|
4640
|
+
if (pgl.stroke) {
|
4641
4641
|
setStroke(true);
|
4642
|
-
setStroke(
|
4643
|
-
setStrokeWeight(
|
4644
|
-
setStrokeCap(
|
4645
|
-
setStrokeJoin(
|
4642
|
+
setStroke(pgl.strokeColor);
|
4643
|
+
setStrokeWeight(pgl.strokeWeight);
|
4644
|
+
setStrokeCap(pgl.strokeCap);
|
4645
|
+
setStrokeJoin(pgl.strokeJoin);
|
4646
4646
|
} else {
|
4647
4647
|
setStroke(false);
|
4648
4648
|
}
|
4649
4649
|
|
4650
|
-
if (
|
4650
|
+
if (pgl.fill) {
|
4651
4651
|
setFill(true);
|
4652
|
-
setFill(
|
4652
|
+
setFill(pgl.fillColor);
|
4653
4653
|
} else {
|
4654
4654
|
setFill(false);
|
4655
4655
|
}
|
4656
4656
|
|
4657
|
-
if (
|
4657
|
+
if (pgl.tint) {
|
4658
4658
|
setTint(true);
|
4659
|
-
setTint(
|
4659
|
+
setTint(pgl.tintColor);
|
4660
4660
|
}
|
4661
4661
|
|
4662
|
-
setAmbient(
|
4663
|
-
setSpecular(
|
4664
|
-
setEmissive(
|
4665
|
-
setShininess(
|
4662
|
+
setAmbient(pgl.ambientColor);
|
4663
|
+
setSpecular(pgl.specularColor);
|
4664
|
+
setEmissive(pgl.emissiveColor);
|
4665
|
+
setShininess(pgl.shininess);
|
4666
4666
|
|
4667
4667
|
if (image != null) {
|
4668
|
-
setTextureMode(
|
4668
|
+
setTextureMode(pgl.textureMode);
|
4669
4669
|
}
|
4670
4670
|
} else {
|
4671
4671
|
super.styles(g);
|
@@ -4689,8 +4689,7 @@ public class PShapeOpenGL extends PShape {
|
|
4689
4689
|
|
4690
4690
|
@Override
|
4691
4691
|
public void draw(PGraphics g) {
|
4692
|
-
if (g instanceof PGraphicsOpenGL) {
|
4693
|
-
PGraphicsOpenGL gl = (PGraphicsOpenGL)g;
|
4692
|
+
if (g instanceof PGraphicsOpenGL gl) {
|
4694
4693
|
if (visible) {
|
4695
4694
|
pre(gl);
|
4696
4695
|
|
data/test/vecmath_spec_test.rb
CHANGED
@@ -277,17 +277,28 @@ class VecmathTest < Minitest::Test
|
|
277
277
|
end
|
278
278
|
|
279
279
|
def test_cross_area # NB: the sign might be negative
|
280
|
+
a = Vec2D.new(200, 0)
|
281
|
+
b = Vec2D.new(0, 200)
|
282
|
+
out, err = capture_subprocess_io do
|
283
|
+
# Expected result is an area, twice that of the triangle created by the vectors
|
284
|
+
a.cross(b)
|
285
|
+
end
|
286
|
+
assert_match %r%WARNING%, err
|
287
|
+
end
|
288
|
+
|
289
|
+
def test_wedge_area # NB: the sign might be negative
|
280
290
|
a = Vec2D.new(200, 0)
|
281
291
|
b = Vec2D.new(0, 200)
|
282
292
|
# Expected result is an area, twice that of the triangle created by the vectors
|
283
|
-
assert_equal(a
|
293
|
+
assert_equal(a ^ b, 40_000.0, 'Failed area test using 2D vector cross product')
|
284
294
|
end
|
285
295
|
|
286
296
|
def test_cross_non_zero # Could be used to calculate area of triangle
|
287
297
|
a = Vec2D.new(40, 40)
|
288
298
|
b = Vec2D.new(40, 140)
|
289
299
|
c = Vec2D.new(140, 40)
|
290
|
-
assert_equal((a - b)
|
300
|
+
assert_equal(-5_000.0, (a - b) ^ (b - c) / 2, 'Failed area calculation using 2D vector cross product')
|
301
|
+
|
291
302
|
end
|
292
303
|
|
293
304
|
def test_cross_zero # where a, b, c are collinear area == 0
|
@@ -295,7 +306,7 @@ class VecmathTest < Minitest::Test
|
|
295
306
|
b = Vec2D.new(100, 100)
|
296
307
|
c = Vec2D.new(200, 200)
|
297
308
|
# see http://mathworld.wolfram.com/Collinear.html for details
|
298
|
-
assert((a - b)
|
309
|
+
assert(((a - b) ^ (b - c)).zero?, 'Failed collinearity test using 2D vector cross product')
|
299
310
|
end
|
300
311
|
|
301
312
|
def test_equals3
|
data/vendors/Rakefile
CHANGED
@@ -11,7 +11,7 @@ PROCESSING_GITHUB = 'https://github.com/processing'
|
|
11
11
|
PROPANE_EXAMPLES = 'https://github.com/ruby-processing/propane-examples'
|
12
12
|
VIDEO = 'video.zip'
|
13
13
|
DOWNLOAD = 'releases/download/latest'
|
14
|
-
EXAMPLES = '3.
|
14
|
+
EXAMPLES = '3.5'
|
15
15
|
HOME_DIR = ENV['HOME']
|
16
16
|
LIBRARY = File.join(HOME_DIR, '.propane', 'libraries')
|
17
17
|
MAC_OR_LINUX = /linux|mac|darwin/.match?(RbConfig::CONFIG['host_os'])
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: propane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- monkstone
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -35,7 +35,7 @@ dependencies:
|
|
35
35
|
requirements:
|
36
36
|
- - "~>"
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version: '5.
|
38
|
+
version: '5.15'
|
39
39
|
name: minitest
|
40
40
|
prerelease: false
|
41
41
|
type: :development
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '5.
|
46
|
+
version: '5.15'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
49
49
|
requirements:
|
@@ -105,7 +105,7 @@ files:
|
|
105
105
|
- lib/jogl-all-natives-macosx-universal.jar
|
106
106
|
- lib/jogl-all-natives-windows-amd64.jar
|
107
107
|
- lib/jogl-all.jar
|
108
|
-
- lib/propane-
|
108
|
+
- lib/propane-4.0.0.jar
|
109
109
|
- lib/propane.rb
|
110
110
|
- lib/propane/app.rb
|
111
111
|
- lib/propane/creators/sketch_class.rb
|
@@ -154,6 +154,7 @@ files:
|
|
154
154
|
- src/main/java/monkstone/fastmath/Deglut.java
|
155
155
|
- src/main/java/monkstone/fastmath/package-info.java
|
156
156
|
- src/main/java/monkstone/filechooser/Chooser.java
|
157
|
+
- src/main/java/monkstone/noise/LICENSE
|
157
158
|
- src/main/java/monkstone/noise/OpenSimplex2F.java
|
158
159
|
- src/main/java/monkstone/noise/OpenSimplex2S.java
|
159
160
|
- src/main/java/monkstone/slider/CustomHorizontalSlider.java
|
@@ -299,12 +300,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
299
300
|
- !ruby/object:Gem::Version
|
300
301
|
version: '0'
|
301
302
|
requirements:
|
302
|
-
- java runtime >=
|
303
|
+
- java runtime >= 17.0.1+
|
303
304
|
rubygems_version: 3.2.29
|
304
305
|
signing_key:
|
305
306
|
specification_version: 4
|
306
|
-
summary: ruby implementation of processing-4.0 on
|
307
|
-
|
307
|
+
summary: ruby implementation of processing-4.0 on linux and windows (64bit only),
|
308
|
+
might work MacOS, needs testing
|
308
309
|
test_files:
|
309
310
|
- test/create_test.rb
|
310
311
|
- test/deglut_spec_test.rb
|
data/lib/propane-3.11.0.jar
DELETED
Binary file
|