internal/shareable/shareable.go
func (i *Image) Fill(r, g, b, a uint8) {
	backendsM.Lock()
	if i.disposed {
		panic("shareable: the drawing target image must not be disposed (Fill)")
	}
	i.ensureNotShared()

	i.backend.restorable.Fill(r, g, b, a)

	backendsM.Unlock()
}
func (i *Image) Fill(r, g, b, a uint8) {
	backendsM.Lock()
	if i.disposed {
		panic("shareable: the drawing target image must not be disposed (Fill)")
	}
	i.ensureNotShared()

	i.backend.restorable.Fill(r, g, b, a)

	backendsM.Unlock()
}
// Fill fills the image with a color. This affects not only the (0, 0)-(width, height) region but also the whole
// framebuffer region.