From 4d05baf6628584c362b3a891b13156288605d4d0 Mon Sep 17 00:00:00 2001 From: A Pottinger Date: Sun, 6 Oct 2019 17:39:44 -0700 Subject: [PATCH 1/4] Removed pdex build per @benfry comments. --- pdex/build.xml | 150 ------------------------------------------------- 1 file changed, 150 deletions(-) delete mode 100644 pdex/build.xml diff --git a/pdex/build.xml b/pdex/build.xml deleted file mode 100644 index 86964b904..000000000 --- a/pdex/build.xml +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 554ace347cdb76c8cd9521100c4d9094f13f31fb Mon Sep 17 00:00:00 2001 From: A Pottinger Date: Sun, 6 Oct 2019 17:49:23 -0700 Subject: [PATCH 2/4] Revert changes in comments inside PApplet and PGraphics. Related to feedback recieved on https://github.com/processing/processing4/pull/1, revert changes in docstrings possibly caused by reference mismatch. --- core/src/processing/core/PApplet.java | 111 +++++++++++++----------- core/src/processing/core/PGraphics.java | 102 +++++++++++----------- 2 files changed, 114 insertions(+), 99 deletions(-) diff --git a/core/src/processing/core/PApplet.java b/core/src/processing/core/PApplet.java index 3b1612fe2..51e1bc928 100644 --- a/core/src/processing/core/PApplet.java +++ b/core/src/processing/core/PApplet.java @@ -281,6 +281,9 @@ public class PApplet implements PConstants { * @see PApplet#get(int, int, int, int) * @see PApplet#set(int, int, int) * @see PImage + * @see PApplet#pixelDensity() + * @see PApplet#pixelWidth + * @see PApplet#pixelHeight */ public int[] pixels; @@ -1214,7 +1217,8 @@ public class PApplet implements PConstants { /** * @webref environment * @param density 1 or 2 - * + * @see PApplet#pixelWidth + * @see PApplet#pixelHeight */ public void pixelDensity(int density) { //println(density + " " + this.pixelDensity); @@ -2004,6 +2008,9 @@ public class PApplet implements PConstants { * @param height height of the display window in units of pixels * @see PApplet#width * @see PApplet#height + * @see PApplet#setup() + * @see PApplet#settings() + * @see PApplet#fullScreen() */ public void size(int width, int height) { // Check to make sure the width/height have actually changed. It's ok to @@ -12166,11 +12173,11 @@ public class PApplet implements PConstants { /** * ( begin auto-generated from square.xml ) * - * Draws a square to the screen. A square is a four-sided shape with - * every angle at ninety degrees and each side is the same length. - * By default, the first two parameters set the location of the - * upper-left corner, the third sets the width and height. The way - * these parameters are interpreted, however, may be changed with the + * Draws a square to the screen. A square is a four-sided shape with + * every angle at ninety degrees and each side is the same length. + * By default, the first two parameters set the location of the + * upper-left corner, the third sets the width and height. The way + * these parameters are interpreted, however, may be changed with the * rectMode() function. * * ( end auto-generated ) @@ -12279,9 +12286,9 @@ public class PApplet implements PConstants { /** * ( begin auto-generated from circle.xml ) * - * Draws a circle to the screen. By default, the first two parameters - * set the location of the center, and the third sets the shape's width - * and height. The origin may be changed with the ellipseMode() + * Draws a circle to the screen. By default, the first two parameters + * set the location of the center, and the third sets the shape's width + * and height. The origin may be changed with the ellipseMode() * function. * * ( end auto-generated ) @@ -12577,17 +12584,17 @@ public class PApplet implements PConstants { * ( begin auto-generated from curvePoint.xml ) * * Evalutes the curve at point t for points a, b, c, d. The parameter t - * varies between 0 and 1, a and d are points on the curve, and b and c are - * the control points. This can be done once with the x coordinates and a + * varies between 0 and 1, a and d are the control points, and b and c are + * the points on the curve. This can be done once with the x coordinates and a * second time with the y coordinates to get the location of a curve at t. * * ( end auto-generated ) * * @webref shape:curves - * @param a coordinate of first point on the curve - * @param b coordinate of second point on the curve - * @param c coordinate of third point on the curve - * @param d coordinate of fourth point on the curve + * @param a coordinate of first control point + * @param b coordinate of first point on the curve + * @param c coordinate of second point on the curve + * @param d coordinate of second control point * @param t value between 0 and 1 * @see PGraphics#curve(float, float, float, float, float, float, float, float, float, float, float, float) * @see PGraphics#curveVertex(float, float) @@ -13323,28 +13330,28 @@ public class PApplet implements PConstants { /** * ( begin auto-generated from push.xml ) * - * The push() function saves the current drawing style - * settings and transformations, while pop() restores these - * settings. Note that these functions are always used together. - * They allow you to change the style and transformation settings - * and later return to what you had. When a new state is started - * with push(), it builds on the current style and transform + * The push() function saves the current drawing style + * settings and transformations, while pop() restores these + * settings. Note that these functions are always used together. + * They allow you to change the style and transformation settings + * and later return to what you had. When a new state is started + * with push(), it builds on the current style and transform * information.
*
- * push() stores information related to the current - * transformation state and style settings controlled by the - * following functions: rotate(), translate(), - * scale(), fill(), stroke(), tint(), - * strokeWeight(), strokeCap(), strokeJoin(), - * imageMode(), rectMode(), ellipseMode(), - * colorMode(), textAlign(), textFont(), + * push() stores information related to the current + * transformation state and style settings controlled by the + * following functions: rotate(), translate(), + * scale(), fill(), stroke(), tint(), + * strokeWeight(), strokeCap(), strokeJoin(), + * imageMode(), rectMode(), ellipseMode(), + * colorMode(), textAlign(), textFont(), * textMode(), textSize(), textLeading().
*
- * The push() and pop() functions were added with - * Processing 3.5. They can be used in place of pushMatrix(), - * popMatrix(), pushStyles(), and popStyles(). - * The difference is that push() and pop() control both the - * transformations (rotate, scale, translate) and the drawing styles + * The push() and pop() functions were added with + * Processing 3.5. They can be used in place of pushMatrix(), + * popMatrix(), pushStyles(), and popStyles(). + * The difference is that push() and pop() control both the + * transformations (rotate, scale, translate) and the drawing styles * at the same time. * * ( end auto-generated ) @@ -13361,28 +13368,28 @@ public class PApplet implements PConstants { /** * ( begin auto-generated from pop.xml ) * - * The pop() function restores the previous drawing style - * settings and transformations after push() has changed them. - * Note that these functions are always used together. They allow - * you to change the style and transformation settings and later - * return to what you had. When a new state is started with push(), + * The pop() function restores the previous drawing style + * settings and transformations after push() has changed them. + * Note that these functions are always used together. They allow + * you to change the style and transformation settings and later + * return to what you had. When a new state is started with push(), * it builds on the current style and transform information.
*
*
- * push() stores information related to the current - * transformation state and style settings controlled by the - * following functions: rotate(), translate(), - * scale(), fill(), stroke(), tint(), - * strokeWeight(), strokeCap(), strokeJoin(), - * imageMode(), rectMode(), ellipseMode(), - * colorMode(), textAlign(), textFont(), + * push() stores information related to the current + * transformation state and style settings controlled by the + * following functions: rotate(), translate(), + * scale(), fill(), stroke(), tint(), + * strokeWeight(), strokeCap(), strokeJoin(), + * imageMode(), rectMode(), ellipseMode(), + * colorMode(), textAlign(), textFont(), * textMode(), textSize(), textLeading().
*
- * The push() and pop() functions were added with - * Processing 3.5. They can be used in place of pushMatrix(), - * popMatrix(), pushStyles(), and popStyles(). - * The difference is that push() and pop() control both the - * transformations (rotate, scale, translate) and the drawing styles + * The push() and pop() functions were added with + * Processing 3.5. They can be used in place of pushMatrix(), + * popMatrix(), pushStyles(), and popStyles(). + * The difference is that push() and pop() control both the + * transformations (rotate, scale, translate) and the drawing styles * at the same time. * * ( end auto-generated ) @@ -14859,6 +14866,8 @@ public class PApplet implements PConstants { /** * gray number specifying value between white and black + * + * @param gray value between black and white, by default 0 to 255 */ public void specular(float gray) { if (recorder != null) recorder.specular(gray); @@ -14924,6 +14933,8 @@ public class PApplet implements PConstants { /** * gray number specifying value between white and black + * + * @param gray value between black and white, by default 0 to 255 */ public void emissive(float gray) { if (recorder != null) recorder.emissive(gray); diff --git a/core/src/processing/core/PGraphics.java b/core/src/processing/core/PGraphics.java index 65bcb280d..0b85780e1 100644 --- a/core/src/processing/core/PGraphics.java +++ b/core/src/processing/core/PGraphics.java @@ -2732,11 +2732,11 @@ public class PGraphics extends PImage implements PConstants { /** * ( begin auto-generated from square.xml ) * - * Draws a square to the screen. A square is a four-sided shape with - * every angle at ninety degrees and each side is the same length. - * By default, the first two parameters set the location of the - * upper-left corner, the third sets the width and height. The way - * these parameters are interpreted, however, may be changed with the + * Draws a square to the screen. A square is a four-sided shape with + * every angle at ninety degrees and each side is the same length. + * By default, the first two parameters set the location of the + * upper-left corner, the third sets the width and height. The way + * these parameters are interpreted, however, may be changed with the * rectMode() function. * * ( end auto-generated ) @@ -2931,9 +2931,9 @@ public class PGraphics extends PImage implements PConstants { /** * ( begin auto-generated from circle.xml ) * - * Draws a circle to the screen. By default, the first two parameters - * set the location of the center, and the third sets the shape's width - * and height. The origin may be changed with the ellipseMode() + * Draws a circle to the screen. By default, the first two parameters + * set the location of the center, and the third sets the shape's width + * and height. The origin may be changed with the ellipseMode() * function. * * ( end auto-generated ) @@ -3424,17 +3424,17 @@ public class PGraphics extends PImage implements PConstants { * ( begin auto-generated from curvePoint.xml ) * * Evalutes the curve at point t for points a, b, c, d. The parameter t - * varies between 0 and 1, a and d are points on the curve, and b and c are - * the control points. This can be done once with the x coordinates and a + * varies between 0 and 1, a and d are the control points, and b and c are + * the points on the curve. This can be done once with the x coordinates and a * second time with the y coordinates to get the location of a curve at t. * * ( end auto-generated ) * * @webref shape:curves - * @param a coordinate of first point on the curve - * @param b coordinate of second point on the curve - * @param c coordinate of third point on the curve - * @param d coordinate of fourth point on the curve + * @param a coordinate of first control point + * @param b coordinate of first point on the curve + * @param c coordinate of second point on the curve + * @param d coordinate of second control point * @param t value between 0 and 1 * @see PGraphics#curve(float, float, float, float, float, float, float, float, float, float, float, float) * @see PGraphics#curveVertex(float, float) @@ -5167,28 +5167,28 @@ public class PGraphics extends PImage implements PConstants { /** * ( begin auto-generated from push.xml ) * - * The push() function saves the current drawing style - * settings and transformations, while pop() restores these - * settings. Note that these functions are always used together. - * They allow you to change the style and transformation settings - * and later return to what you had. When a new state is started - * with push(), it builds on the current style and transform + * The push() function saves the current drawing style + * settings and transformations, while pop() restores these + * settings. Note that these functions are always used together. + * They allow you to change the style and transformation settings + * and later return to what you had. When a new state is started + * with push(), it builds on the current style and transform * information.
*
- * push() stores information related to the current - * transformation state and style settings controlled by the - * following functions: rotate(), translate(), - * scale(), fill(), stroke(), tint(), - * strokeWeight(), strokeCap(), strokeJoin(), - * imageMode(), rectMode(), ellipseMode(), - * colorMode(), textAlign(), textFont(), + * push() stores information related to the current + * transformation state and style settings controlled by the + * following functions: rotate(), translate(), + * scale(), fill(), stroke(), tint(), + * strokeWeight(), strokeCap(), strokeJoin(), + * imageMode(), rectMode(), ellipseMode(), + * colorMode(), textAlign(), textFont(), * textMode(), textSize(), textLeading().
*
- * The push() and pop() functions were added with - * Processing 3.5. They can be used in place of pushMatrix(), - * popMatrix(), pushStyles(), and popStyles(). - * The difference is that push() and pop() control both the - * transformations (rotate, scale, translate) and the drawing styles + * The push() and pop() functions were added with + * Processing 3.5. They can be used in place of pushMatrix(), + * popMatrix(), pushStyles(), and popStyles(). + * The difference is that push() and pop() control both the + * transformations (rotate, scale, translate) and the drawing styles * at the same time. * * ( end auto-generated ) @@ -5204,28 +5204,28 @@ public class PGraphics extends PImage implements PConstants { /** * ( begin auto-generated from pop.xml ) * - * The pop() function restores the previous drawing style - * settings and transformations after push() has changed them. - * Note that these functions are always used together. They allow - * you to change the style and transformation settings and later - * return to what you had. When a new state is started with push(), + * The pop() function restores the previous drawing style + * settings and transformations after push() has changed them. + * Note that these functions are always used together. They allow + * you to change the style and transformation settings and later + * return to what you had. When a new state is started with push(), * it builds on the current style and transform information.
*
*
- * push() stores information related to the current - * transformation state and style settings controlled by the - * following functions: rotate(), translate(), - * scale(), fill(), stroke(), tint(), - * strokeWeight(), strokeCap(), strokeJoin(), - * imageMode(), rectMode(), ellipseMode(), - * colorMode(), textAlign(), textFont(), + * push() stores information related to the current + * transformation state and style settings controlled by the + * following functions: rotate(), translate(), + * scale(), fill(), stroke(), tint(), + * strokeWeight(), strokeCap(), strokeJoin(), + * imageMode(), rectMode(), ellipseMode(), + * colorMode(), textAlign(), textFont(), * textMode(), textSize(), textLeading().
*
- * The push() and pop() functions were added with - * Processing 3.5. They can be used in place of pushMatrix(), - * popMatrix(), pushStyles(), and popStyles(). - * The difference is that push() and pop() control both the - * transformations (rotate, scale, translate) and the drawing styles + * The push() and pop() functions were added with + * Processing 3.5. They can be used in place of pushMatrix(), + * popMatrix(), pushStyles(), and popStyles(). + * The difference is that push() and pop() control both the + * transformations (rotate, scale, translate) and the drawing styles * at the same time. * * ( end auto-generated ) @@ -6940,6 +6940,8 @@ public class PGraphics extends PImage implements PConstants { /** * gray number specifying value between white and black + * + * @param gray value between black and white, by default 0 to 255 */ public void specular(float gray) { colorCalc(gray); @@ -7017,6 +7019,8 @@ public class PGraphics extends PImage implements PConstants { /** * gray number specifying value between white and black + * + * @param gray value between black and white, by default 0 to 255 */ public void emissive(float gray) { colorCalc(gray); From d02ad8ff3f2c331521c36ac2f03a6015f75e8ff2 Mon Sep 17 00:00:00 2001 From: A Pottinger Date: Sun, 6 Oct 2019 17:53:00 -0700 Subject: [PATCH 3/4] Fix formatting issue in PImage. Fix minor formattting issue in PImage related to https://github.com/processing/processing4/pull/1. --- core/src/processing/core/PImage.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/core/src/processing/core/PImage.java b/core/src/processing/core/PImage.java index d1b0ad9a6..3fa6164aa 100644 --- a/core/src/processing/core/PImage.java +++ b/core/src/processing/core/PImage.java @@ -3049,13 +3049,7 @@ int testFunction(int dst, int src) { */ try { byte tiff[] = new byte[768]; - System.arraycopy( - TIFF_HEADER, - 0, - tiff, - 0, - TIFF_HEADER.length - ); + System.arraycopy(TIFF_HEADER, 0, tiff, 0, TIFF_HEADER.length); tiff[30] = (byte) ((pixelWidth >> 8) & 0xff); tiff[31] = (byte) ((pixelWidth) & 0xff); From 7cad0176237326d27607f6579a5fe939a51b9194 Mon Sep 17 00:00:00 2001 From: A Pottinger Date: Sun, 6 Oct 2019 17:58:19 -0700 Subject: [PATCH 4/4] Recover lost changes in cut over to sampottinger/processing4. Fix some recent changes that got lost in the cut over from processing/processing4 for sampottinger forks. Addresses issues raised in https://github.com/processing/processing4/pull/1. --- core/src/processing/core/PShape.java | 16 ++++++++++------ core/src/processing/core/ThinkDifferent.java | 2 +- core/src/processing/data/DoubleDict.java | 2 +- core/src/processing/data/DoubleList.java | 2 +- core/src/processing/data/LongList.java | 2 +- core/src/processing/data/StringList.java | 2 ++ 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/core/src/processing/core/PShape.java b/core/src/processing/core/PShape.java index d101cdfda..babbe516d 100644 --- a/core/src/processing/core/PShape.java +++ b/core/src/processing/core/PShape.java @@ -2980,12 +2980,16 @@ public class PShape implements PConstants { */ public boolean contains(float x, float y) { if (family == PATH) { - // apply the inverse transformation matrix to the point coordinates - PMatrix inverseCoords = matrix.get(); - inverseCoords.invert(); // maybe cache this? - inverseCoords.invert(); // maybe cache this? - PVector p = new PVector(); - inverseCoords.mult(new PVector(x,y),p); + PVector p = new PVector(x, y); + if (matrix != null) { + // apply the inverse transformation matrix to the point coordinates + PMatrix inverseCoords = matrix.get(); + // TODO why is this called twice? [fry 190724] + // commit was https://github.com/processing/processing/commit/027fc7a4f8e8d0a435366eae754304eea282512a + inverseCoords.invert(); // maybe cache this? + inverseCoords.invert(); // maybe cache this? + inverseCoords.mult(new PVector(x, y), p); + } // http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html boolean c = false; diff --git a/core/src/processing/core/ThinkDifferent.java b/core/src/processing/core/ThinkDifferent.java index 78497fd59..5179bab5e 100644 --- a/core/src/processing/core/ThinkDifferent.java +++ b/core/src/processing/core/ThinkDifferent.java @@ -31,7 +31,7 @@ import java.awt.*; * We have to register a quit handler to safely shut down the sketch, * otherwise OS X will just kill the sketch when a user hits Cmd-Q. * In addition, we have a method to set the dock icon image so we look more - * like a native desktop. + * like a native application. * * This is a stripped-down version of what's in processing.app.platform to fix * 3301. diff --git a/core/src/processing/data/DoubleDict.java b/core/src/processing/data/DoubleDict.java index f2a9adf10..5cec4d6e1 100644 --- a/core/src/processing/data/DoubleDict.java +++ b/core/src/processing/data/DoubleDict.java @@ -12,7 +12,7 @@ import processing.core.PApplet; /** * A simple table class to use a String as a lookup for an double value. * - * @webref data:composite + * @nowebref * @see IntDict * @see StringDict */ diff --git a/core/src/processing/data/DoubleList.java b/core/src/processing/data/DoubleList.java index ae47a8442..6c364130c 100644 --- a/core/src/processing/data/DoubleList.java +++ b/core/src/processing/data/DoubleList.java @@ -17,7 +17,7 @@ import processing.core.PApplet; * Functions like sort() and shuffle() always act on the list itself. To get * a sorted copy, use list.copy().sort(). * - * @webref data:composite + * @nowebref * @see IntList * @see StringList */ diff --git a/core/src/processing/data/LongList.java b/core/src/processing/data/LongList.java index 77bbd8b15..adfb1ea83 100644 --- a/core/src/processing/data/LongList.java +++ b/core/src/processing/data/LongList.java @@ -22,7 +22,7 @@ import processing.core.PApplet; * Functions like sort() and shuffle() always act on the list itself. To get * a sorted copy, use list.copy().sort(). * - * @webref data:composite + * @nowebref * @see FloatList * @see StringList */ diff --git a/core/src/processing/data/StringList.java b/core/src/processing/data/StringList.java index c4de6d33c..2123a6143 100644 --- a/core/src/processing/data/StringList.java +++ b/core/src/processing/data/StringList.java @@ -49,6 +49,8 @@ public class StringList implements Iterable { /** * Construct a StringList from a random pile of objects. Null values will * stay null, but all the others will be converted to String values. + * + * @nowebref */ public StringList(Object... items) { count = items.length;