mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
Boundary checking in updatePixelsImpl()
This commit is contained in:
@@ -390,22 +390,22 @@ public class PImage implements PConstants, Cloneable {
|
||||
int y2 = y + h;
|
||||
|
||||
if (!modified) {
|
||||
mx1 = x;
|
||||
mx2 = x2;
|
||||
my1 = y;
|
||||
my2 = y2;
|
||||
mx1 = PApplet.max(0, x);
|
||||
mx2 = PApplet.min(width - 1, x2);
|
||||
my1 = PApplet.max(0, y);
|
||||
my2 = PApplet.min(height - 1, y2);
|
||||
modified = true;
|
||||
|
||||
} else {
|
||||
if (x < mx1) mx1 = x;
|
||||
if (x > mx2) mx2 = x;
|
||||
if (y < my1) my1 = y;
|
||||
if (x < mx1) mx1 = PApplet.max(0, x);
|
||||
if (x > mx2) mx2 = PApplet.min(width - 1, x);
|
||||
if (y < my1) my1 = PApplet.max(0, y);
|
||||
if (y > my2) my2 = y;
|
||||
|
||||
if (x2 < mx1) mx1 = x2;
|
||||
if (x2 > mx2) mx2 = x2;
|
||||
if (y2 < my1) my1 = y2;
|
||||
if (y2 > my2) my2 = y2;
|
||||
if (x2 < mx1) mx1 = PApplet.max(0, x2);
|
||||
if (x2 > mx2) mx2 = PApplet.min(width - 1, x2);
|
||||
if (y2 < my1) my1 = PApplet.max(0, y2);
|
||||
if (y2 > my2) my2 = PApplet.min(height - 1, y2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -585,7 +585,7 @@ public class PImage implements PConstants, Cloneable {
|
||||
} else {
|
||||
if ((x < 0) || (y < 0) || (x >= width) || (y >= height)) return;
|
||||
pixels[y*width + x] = c;
|
||||
updatePixelsImpl(x, y, x+1, y+1); // slow?
|
||||
updatePixelsImpl(x, y, 1, 1); // slow?
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user