package x

import "git.tebibyte.media/tomo/tomo"
import "git.tebibyte.media/tomo/tomo/canvas"

type canvasBox struct {
	*box
}

func (backend *Backend) NewCanvasBox () tomo.CanvasBox {
	box := &canvasBox {
		box: backend.NewBox().(*box),
	}
	box.outer = box
	return box
}

func (this *canvasBox) Box () tomo.Box {
	return this
}

func (this *canvasBox) SetDrawer (drawer canvas.Drawer) {
	this.drawer = drawer
	this.invalidateDraw()
}

func (this *canvasBox) Invalidate () {
	this.invalidateDraw()
}