diff options
Diffstat (limited to 'layers/layers.go')
| -rw-r--r-- | layers/layers.go | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/layers/layers.go b/layers/layers.go index 8e8ed3a..d054e8b 100644 --- a/layers/layers.go +++ b/layers/layers.go @@ -22,7 +22,7 @@ type Layers struct { func (l *Layers) Dst(dst ImageFlusher) { l.dst = dst - for e := l.layers.Front(); e != nil; e = e.Next() { + for e := l.layers.Back(); e != nil; e = e.Prev() { layer := e.Value.(*Layer) rgba := image.NewRGBA(dst.Image().Bounds()) draw.Draw(rgba, layer.rgba.Bounds(), layer.rgba, layer.rgba.Bounds().Min, draw.Src) @@ -35,7 +35,7 @@ func (l *Layers) Push() *Layer { l: l, rgba: image.NewRGBA(l.dst.Image().Bounds()), } - layer.e = l.layers.PushBack(layer) + layer.e = l.layers.PushFront(layer) return layer } @@ -44,7 +44,7 @@ func (l *Layers) Flush(r image.Rectangle) { panic(errors.New("layers: Flush: no destination")) } draw.Draw(l.dst.Image(), r, image.Transparent, r.Min, draw.Src) - for e := l.layers.Front(); e != nil; e = e.Next() { + for e := l.layers.Back(); e != nil; e = e.Prev() { layer := e.Value.(*Layer) draw.Draw(l.dst.Image(), r, layer.rgba, r.Min, draw.Over) } @@ -73,7 +73,7 @@ func (l *Layer) Remove() { } func (l *Layer) Front() { - l.l.layers.MoveToBack(l.e) + l.l.layers.MoveToFront(l.e) } func (l *Layer) Image() *image.RGBA { |