LoadImage now also checks cache; updated go.mod/go.sum
This commit is contained in:
parent
71741d4234
commit
fd1cca7ba9
3 changed files with 12 additions and 10 deletions
2
go.mod
2
go.mod
|
@ -1,11 +1,9 @@
|
|||
module github.com/tfriedel6/canvas
|
||||
|
||||
require (
|
||||
github.com/3d0c/gmf v0.0.0-20181011122539-af78d7462257
|
||||
github.com/go-gl/gl v0.0.0-20181026044259-55b76b7df9d2
|
||||
github.com/go-gl/glfw v0.0.0-20181014061658-691ee1b84c51
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
|
||||
github.com/samuel/go-pcx v0.0.0-20180426214139-d9c017170db4
|
||||
github.com/veandco/go-sdl2 v0.3.3
|
||||
golang.org/x/exp v0.0.0-20181106170214-d68db9428509
|
||||
golang.org/x/image v0.0.0-20181109002202-aa35264064ba
|
||||
|
|
6
go.sum
6
go.sum
|
@ -1,15 +1,9 @@
|
|||
github.com/3d0c/gmf v0.0.0-20181011122539-af78d7462257 h1:1KJwjPgvqPK1vqUDRW3f6uczuX2NRvgjK0SKPUBxAnM=
|
||||
github.com/3d0c/gmf v0.0.0-20181011122539-af78d7462257/go.mod h1:vFu/aQImUVU4s38rUuJr6KrEdkMOOnPIGE5ThNUavtg=
|
||||
github.com/go-gl/gl v0.0.0-20181026044259-55b76b7df9d2 h1:78Hza2KHn2PX1jdydQnffaU2A/xM0g3Nx1xmMdep9Gk=
|
||||
github.com/go-gl/gl v0.0.0-20181026044259-55b76b7df9d2/go.mod h1:482civXOzJJCPzJ4ZOX/pwvXBWSnzD4OKMdH4ClKGbk=
|
||||
github.com/go-gl/glfw v0.0.0-20181014061658-691ee1b84c51 h1:elGSwayRx7uAsfA5PnVKeTHh+AVsUTmas0CkHOw/DSk=
|
||||
github.com/go-gl/glfw v0.0.0-20181014061658-691ee1b84c51/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||
github.com/samuel/go-pcx v0.0.0-20180426214139-d9c017170db4 h1:Y/KOCu+ZLB730PudefxfsKVjtI0m0RhvFk9a0l4O1+c=
|
||||
github.com/samuel/go-pcx v0.0.0-20180426214139-d9c017170db4/go.mod h1:qxuIawynlRhuaHowuXvd1xjyFWx87Ro4gkZlKRXtHnQ=
|
||||
github.com/veandco/go-sdl2 v0.3.0 h1:IWYkHMp8V3v37NsKjszln8FFnX2+ab0538J371t+rss=
|
||||
github.com/veandco/go-sdl2 v0.3.0/go.mod h1:FB+kTpX9YTE+urhYiClnRzpOXbiWgaU3+5F2AB78DPg=
|
||||
github.com/veandco/go-sdl2 v0.3.3 h1:4/TirgB2MQ7oww3pM3Yfgf1YbChMlAQAmiCPe5koK0I=
|
||||
github.com/veandco/go-sdl2 v0.3.3/go.mod h1:FB+kTpX9YTE+urhYiClnRzpOXbiWgaU3+5F2AB78DPg=
|
||||
golang.org/x/exp v0.0.0-20181106170214-d68db9428509 h1:k21GX33vzpH/syMF7TgrLxe8ILtvwbyuHtEO3ebR82E=
|
||||
|
|
14
images.go
14
images.go
|
@ -23,6 +23,12 @@ type Image struct {
|
|||
// string. If you want the canvas package to load the image, make sure you
|
||||
// import the required format packages
|
||||
func (cv *Canvas) LoadImage(src interface{}) (*Image, error) {
|
||||
if img, ok := src.(*Image); ok {
|
||||
return img, nil
|
||||
} else if img, ok := cv.images[src]; ok {
|
||||
return img, nil
|
||||
}
|
||||
|
||||
var srcImg image.Image
|
||||
switch v := src.(type) {
|
||||
case image.Image:
|
||||
|
@ -52,11 +58,15 @@ func (cv *Canvas) LoadImage(src interface{}) (*Image, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &Image{cv: cv, img: backendImg}, nil
|
||||
cvimg := &Image{cv: cv, img: backendImg}
|
||||
cv.images[src] = cvimg
|
||||
return cvimg, nil
|
||||
}
|
||||
|
||||
func (cv *Canvas) getImage(src interface{}) *Image {
|
||||
if img, ok := cv.images[src]; ok {
|
||||
if img, ok := src.(*Image); ok {
|
||||
return img
|
||||
} else if img, ok := cv.images[src]; ok {
|
||||
return img
|
||||
}
|
||||
switch v := src.(type) {
|
||||
|
|
Loading…
Reference in a new issue