package system import "io" import "image" import "git.tebibyte.media/tomo/tomo/canvas" type System struct { link BackendLink } type BackendLink interface { NewTexture (image.Image) canvas.TextureCloser NewCanvas (image.Rectangle) canvas.Canvas NewSurface (image.Rectangle) SurfaceLink } type SurfaceLink interface { io.Closer GetSurface () any SetSize (image.Rectangle) } func New (link BackendLink) *System { return &System { link: link, } }