package basicElements import "image" import "git.tebibyte.media/sashakoshka/tomo/canvas" import "git.tebibyte.media/sashakoshka/tomo/elements/core" import "git.tebibyte.media/sashakoshka/tomo/artist/patterns" type Image struct { *core.Core core core.CoreControl buffer canvas.Canvas } func NewImage (image image.Image) (element *Image) { element = &Image { buffer: canvas.FromImage(image) } element.Core, element.core = core.NewCore(element, element.draw) bounds := image.Bounds() element.core.SetMinimumSize(bounds.Dx(), bounds.Dy()) return } func (element *Image) draw () { (patterns.Texture { Canvas: element.buffer }). Draw(element.core, element.Bounds()) }