mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-09-21 05:42:18 +02:00
24 lines
586 B
Go
24 lines
586 B
Go
package texture
|
|
|
|
type RenderTarget struct {
|
|
texture *Texture
|
|
framebuffer interface{}
|
|
}
|
|
|
|
func NewRenderTarget(texture *Texture, create func(native interface{}) interface{}) *RenderTarget {
|
|
return &RenderTarget{
|
|
texture: texture,
|
|
framebuffer: create(texture.native),
|
|
}
|
|
}
|
|
|
|
type OffscreenSetter interface {
|
|
Set(framebuffer interface{}, x, y, width, height int)
|
|
}
|
|
|
|
func (renderTarget *RenderTarget) SetAsOffscreen(setter OffscreenSetter) {
|
|
renderTarget.texture.SetAsViewport(func(x, y, width, height int) {
|
|
setter.Set(renderTarget.framebuffer, x, y, width, height)
|
|
})
|
|
}
|