diff --git a/src/shape/custom_shapes.js b/src/shape/custom_shapes.js index 58465a2298..f054275ba8 100644 --- a/src/shape/custom_shapes.js +++ b/src/shape/custom_shapes.js @@ -395,7 +395,7 @@ class SplineSegment extends Segment { points.unshift(prevVertex); points.push(this.vertices.at(-1)); } else if (this._splineProperties.ends === constants.JOIN) { - points.unshift(this.vertices.at(-1), prevVertex); + points.unshift(this.vertices.at(-1)); points.push(prevVertex, this.vertices.at(0)); } diff --git a/test/unit/visual/cases/shapes.js b/test/unit/visual/cases/shapes.js index 8e7835a604..83ec314049 100644 --- a/test/unit/visual/cases/shapes.js +++ b/test/unit/visual/cases/shapes.js @@ -150,6 +150,16 @@ visualSuite('Shape drawing', function() { screenshot(); }); + visualTest('Drawing simple closed curves', function(p5, screenshot) { + setup(p5); + p5.beginShape(); + p5.splineVertex(10, 10); + p5.splineVertex(15, 40); + p5.splineVertex(40, 35); + p5.endShape(p5.CLOSE); + screenshot(); + }); + visualTest('Drawing with curves with tightness', function(p5, screenshot) { setup(p5); p5.splineProperty('tightness', -1); diff --git a/test/unit/visual/screenshots/Shape drawing/2D mode/Drawing closed curves/000.png b/test/unit/visual/screenshots/Shape drawing/2D mode/Drawing closed curves/000.png index 9260c77d47..80536c3fec 100644 Binary files a/test/unit/visual/screenshots/Shape drawing/2D mode/Drawing closed curves/000.png and b/test/unit/visual/screenshots/Shape drawing/2D mode/Drawing closed curves/000.png differ diff --git a/test/unit/visual/screenshots/Shape drawing/2D mode/Drawing simple closed curves/000.png b/test/unit/visual/screenshots/Shape drawing/2D mode/Drawing simple closed curves/000.png new file mode 100644 index 0000000000..feca4096f6 Binary files /dev/null and b/test/unit/visual/screenshots/Shape drawing/2D mode/Drawing simple closed curves/000.png differ diff --git a/test/unit/visual/screenshots/Shape drawing/2D mode/Drawing simple closed curves/metadata.json b/test/unit/visual/screenshots/Shape drawing/2D mode/Drawing simple closed curves/metadata.json new file mode 100644 index 0000000000..2d4bfe30da --- /dev/null +++ b/test/unit/visual/screenshots/Shape drawing/2D mode/Drawing simple closed curves/metadata.json @@ -0,0 +1,3 @@ +{ + "numScreenshots": 1 +} \ No newline at end of file diff --git a/test/unit/visual/screenshots/Shape drawing/WebGL mode/Drawing closed curves/000.png b/test/unit/visual/screenshots/Shape drawing/WebGL mode/Drawing closed curves/000.png index 3a361da3d2..3342850bbc 100644 Binary files a/test/unit/visual/screenshots/Shape drawing/WebGL mode/Drawing closed curves/000.png and b/test/unit/visual/screenshots/Shape drawing/WebGL mode/Drawing closed curves/000.png differ diff --git a/test/unit/visual/screenshots/Shape drawing/WebGL mode/Drawing simple closed curves/000.png b/test/unit/visual/screenshots/Shape drawing/WebGL mode/Drawing simple closed curves/000.png new file mode 100644 index 0000000000..fb77dde4ed Binary files /dev/null and b/test/unit/visual/screenshots/Shape drawing/WebGL mode/Drawing simple closed curves/000.png differ diff --git a/test/unit/visual/screenshots/Shape drawing/WebGL mode/Drawing simple closed curves/metadata.json b/test/unit/visual/screenshots/Shape drawing/WebGL mode/Drawing simple closed curves/metadata.json new file mode 100644 index 0000000000..2d4bfe30da --- /dev/null +++ b/test/unit/visual/screenshots/Shape drawing/WebGL mode/Drawing simple closed curves/metadata.json @@ -0,0 +1,3 @@ +{ + "numScreenshots": 1 +} \ No newline at end of file