Commit 37fba90b authored by Nigel Tao's avatar Nigel Tao

Fixes #836.

R=gri
CC=golang-dev
https://golang.org/cl/1548042
parent 20066679
...@@ -182,7 +182,7 @@ func drawCopyOver(dst *image.RGBA, r Rectangle, src *image.RGBA, sp Point) { ...@@ -182,7 +182,7 @@ func drawCopyOver(dst *image.RGBA, r Rectangle, src *image.RGBA, sp Point) {
y0, y1 := r.Min.Y, r.Max.Y y0, y1 := r.Min.Y, r.Max.Y
for y, sy := y0, sp.Y; y != y1; y, sy = y+1, sy+1 { for y, sy := y0, sp.Y; y != y1; y, sy = y+1, sy+1 {
dpix := dst.Pixel[y] dpix := dst.Pixel[y]
spix := src.Pixel[y] spix := src.Pixel[sy]
for x, sx := x0, sp.X; x != x1; x, sx = x+1, sx+1 { for x, sx := x0, sp.X; x != x1; x, sx = x+1, sx+1 {
// For unknown reasons, even though both dpix[x] and spix[sx] are // For unknown reasons, even though both dpix[x] and spix[sx] are
// image.RGBAColors, on an x86 CPU it seems fastest to call RGBA // image.RGBAColors, on an x86 CPU it seems fastest to call RGBA
......
...@@ -149,3 +149,17 @@ loop: ...@@ -149,3 +149,17 @@ loop:
} }
} }
} }
// TestIssue836 verifies http://code.google.com/p/go/issues/detail?id=836.
func TestIssue836(t *testing.T) {
a := image.NewRGBA(1, 1)
b := image.NewRGBA(2, 2)
b.Set(0, 0, image.RGBAColor{0, 0, 0, 5})
b.Set(1, 0, image.RGBAColor{0, 0, 5, 5})
b.Set(0, 1, image.RGBAColor{0, 5, 0, 5})
b.Set(1, 1, image.RGBAColor{5, 0, 0, 5})
Draw(a, Rect(0, 0, 1, 1), b, Pt(1, 1))
if !eq(image.RGBAColor{5, 0, 0, 5}, a.At(0, 0)) {
t.Errorf("Issue 836: want %v got %v", image.RGBAColor{5, 0, 0, 5}, a.At(0, 0))
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment