mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-25 03:08:54 +01:00
Bug fix: image can't draw itself (#45)
This commit is contained in:
parent
0ab90197a3
commit
4eaba93c73
4
image.go
4
image.go
@ -15,6 +15,7 @@
|
|||||||
package ebiten
|
package ebiten
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"github.com/hajimehoshi/ebiten/internal"
|
"github.com/hajimehoshi/ebiten/internal"
|
||||||
"github.com/hajimehoshi/ebiten/internal/graphics"
|
"github.com/hajimehoshi/ebiten/internal/graphics"
|
||||||
"github.com/hajimehoshi/ebiten/internal/opengl"
|
"github.com/hajimehoshi/ebiten/internal/opengl"
|
||||||
@ -177,6 +178,9 @@ func (i *Image) Fill(clr color.Color) (err error) {
|
|||||||
// Be careful that this method is potentially slow.
|
// Be careful that this method is potentially slow.
|
||||||
// It would be better if you could call this method fewer times.
|
// It would be better if you could call this method fewer times.
|
||||||
func (i *Image) DrawImage(image *Image, options *DrawImageOptions) (err error) {
|
func (i *Image) DrawImage(image *Image, options *DrawImageOptions) (err error) {
|
||||||
|
if i == image {
|
||||||
|
return errors.New("Image.DrawImage: image should be different from the receiver")
|
||||||
|
}
|
||||||
return i.drawImage(image.inner, options)
|
return i.drawImage(image.inner, options)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ func diff(x, y uint8) uint8 {
|
|||||||
return x - y
|
return x - y
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPixels(t *testing.T) {
|
func TestImagePixels(t *testing.T) {
|
||||||
eimg, img, err := openImage("testdata/ebiten.png")
|
eimg, img, err := openImage("testdata/ebiten.png")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@ -71,7 +71,7 @@ func TestPixels(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestComposition(t *testing.T) {
|
func TestImageComposition(t *testing.T) {
|
||||||
img2Color := color.NRGBA{0x24, 0x3f, 0x6a, 0x88}
|
img2Color := color.NRGBA{0x24, 0x3f, 0x6a, 0x88}
|
||||||
img3Color := color.NRGBA{0x85, 0xa3, 0x08, 0xd3}
|
img3Color := color.NRGBA{0x85, 0xa3, 0x08, 0xd3}
|
||||||
|
|
||||||
@ -134,4 +134,15 @@ func TestComposition(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestImageSelf(t *testing.T) {
|
||||||
|
img, _, err := openImage("testdata/ebiten.png")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := img.DrawImage(img, nil); err == nil {
|
||||||
|
t.Fatalf("img.DrawImage(img, nil) doesn't return error; an error should be return")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: Add more tests (e.g. DrawImage with color matrix)
|
// TODO: Add more tests (e.g. DrawImage with color matrix)
|
||||||
|
Loading…
Reference in New Issue
Block a user