From f5d84f0b7b55dd4afe41555916a92f11f0fc9fa8 Mon Sep 17 00:00:00 2001 From: "Sascha L. Teichmann" Date: Sun, 26 Oct 2014 22:36:57 +0100 Subject: [PATCH] Only use the transparent image generation if there where any transparent blocks. --- common/renderer.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/common/renderer.go b/common/renderer.go index af8f64f..3ca50a3 100644 --- a/common/renderer.go +++ b/common/renderer.go @@ -166,7 +166,8 @@ func (r *Renderer) Reset() { r.yMin[i] = math.MinInt32 } - if r.tBuffer != nil { + if r.TransparentBlocks > 0 { + r.TransparentBlocks = 0 for i, t := range r.tBuffer { if t != nil { r.spans.FreeAll(t) @@ -174,6 +175,8 @@ func (r *Renderer) Reset() { } } } + r.SolidBlocks = 0 + r.RejectedBlocks = 0 } func (r *Renderer) IsFilled() bool { @@ -416,7 +419,7 @@ func (r *Renderer) CreateShadedImage( pix := image.Pix - if r.tBuffer != nil { // Fast path for transparent images. + if r.TransparentBlocks > 0 { // Fast path for transparent images. for z := height - 1; z >= 0; z-- { for x := 0; x < width; x++ { colIdx := r.cBuffer[ofs]