change TrianglesPicture to return (pic Vec, ok bool)

This commit is contained in:
faiface 2017-03-05 11:47:09 +01:00
parent 77c39d03c7
commit c1c1bae358
2 changed files with 13 additions and 11 deletions

10
data.go
View File

@ -14,6 +14,7 @@ type TrianglesData []struct {
Position Vec
Color NRGBA
Picture Vec
HasPicture bool
}
// MakeTrianglesData creates TrianglesData of length len initialized with default property values.
@ -43,7 +44,8 @@ func (td *TrianglesData) SetLen(len int) {
Position Vec
Color NRGBA
Picture Vec
}{V(0, 0), NRGBA{1, 1, 1, 1}, V(-1, -1)})
HasPicture bool
}{V(0, 0), NRGBA{1, 1, 1, 1}, V(0, 0), false})
}
}
if len < td.Len() {
@ -77,7 +79,7 @@ func (td *TrianglesData) updateData(t Triangles) {
}
if t, ok := t.(TrianglesPicture); ok {
for i := range *td {
(*td)[i].Picture = t.Picture(i)
(*td)[i].Picture, (*td)[i].HasPicture = t.Picture(i)
}
}
}
@ -111,8 +113,8 @@ func (td *TrianglesData) Color(i int) NRGBA {
}
// Picture returns the picture property of i-th vertex.
func (td *TrianglesData) Picture(i int) Vec {
return (*td)[i].Picture
func (td *TrianglesData) Picture(i int) (pic Vec, ok bool) {
return (*td)[i].Picture, (*td)[i].HasPicture
}
// PictureData specifies an in-memory rectangular area of NRGBA pixels and implements Picture and

View File

@ -97,7 +97,7 @@ type TrianglesColor interface {
// Note that this represents picture coordinates, not an actual picture.
type TrianglesPicture interface {
Triangles
Picture(i int) Vec
Picture(i int) (pic Vec, ok bool)
}
// Picture represents a rectangular area of raster data, such as a color. It has Bounds which