Ejemplo n.º 1
0
func (t *Texture) MarkSubTexture(r splish.Rectangle) interface{} {
	si := t.Src.SubImage(r.ToImage()).(*image.RGBA)

	size := r.Size()
	var subTex *sdl.Texture
	var err error
	subTex, err = t.Win.renderer.CreateTexture(
		sdl.PIXELFORMAT_RGBA8888,
		sdl.TEXTUREACCESS_STATIC,
		int(size.X),
		int(size.Y),
	)
	if err == nil {
		err = subTex.Update(nil, unsafe.Pointer(&si.Pix), t.Src.Stride)
	}
	if err != nil {
		return 0
	}
	t.Subs = append(t.Subs, subTex)

	return len(t.Subs) - 1
}