summaryrefslogtreecommitdiff
path: root/gnu/java/awt/java2d/TexturePaintContext.java
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/java/awt/java2d/TexturePaintContext.java')
-rw-r--r--gnu/java/awt/java2d/TexturePaintContext.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/gnu/java/awt/java2d/TexturePaintContext.java b/gnu/java/awt/java2d/TexturePaintContext.java
index 840b61456..db0a2e658 100644
--- a/gnu/java/awt/java2d/TexturePaintContext.java
+++ b/gnu/java/awt/java2d/TexturePaintContext.java
@@ -177,6 +177,12 @@ public class TexturePaintContext
// The modulo operation gives us the replication effect.
dx = ((dx - minX) % width) + minX;
dy = ((dy - minY) % height) + minY;
+
+ // Handle possible negative values (replicating above the top-left)
+ if (dx < 0)
+ dx += width;
+ if (dy < 0)
+ dy += height;
// Copy the pixel.
pixel = source.getDataElements(dx, dy, pixel);