mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-11-10 04:57:26 +01:00
ebiten: bug fix: SubImage+At didn't consider the original image's setVerticesCache
Close #2428
This commit is contained in:
parent
b983014e95
commit
aecbf2344d
3
image.go
3
image.go
@ -858,6 +858,9 @@ func (i *Image) at(x, y int) (r, g, b, a byte) {
|
||||
return 0, 0, 0, 0
|
||||
}
|
||||
x, y = i.adjustPosition(x, y)
|
||||
if i.isSubImage() {
|
||||
i = i.original
|
||||
}
|
||||
if c, ok := i.setVerticesCache[[2]int{x, y}]; ok {
|
||||
return c[0], c[1], c[2], c[3]
|
||||
}
|
||||
|
@ -3433,3 +3433,15 @@ func TestImageTooManyConstantBuffersInDirectX(t *testing.T) {
|
||||
t.Errorf("got: %v, want: %v", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
// Issue #2428
|
||||
func TestImageSetAndSubImage(t *testing.T) {
|
||||
const w, h = 16, 16
|
||||
img := ebiten.NewImage(w, h)
|
||||
img.Set(1, 1, color.RGBA{0xff, 0, 0, 0xff})
|
||||
got := img.SubImage(image.Rect(0, 0, w, h)).At(1, 1).(color.RGBA)
|
||||
want := color.RGBA{0xff, 0, 0, 0xff}
|
||||
if got != want {
|
||||
t.Errorf("got: %v, want: %v", got, want)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user