diff options
Diffstat (limited to 'internal/render/renderer.go')
-rw-r--r-- | internal/render/renderer.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/internal/render/renderer.go b/internal/render/renderer.go index 265c3ab..088134a 100644 --- a/internal/render/renderer.go +++ b/internal/render/renderer.go @@ -126,6 +126,7 @@ func (r *Renderer) DrawFrame() { // Create buffers drwBuf := r.bufferize(r.drwStack) clrBuf := r.bufferize(r.clrStack) + var stack []Instruction // fmt.Println(len(drwBuf)) // fmt.Println(len(clrBuf)) // squash overlapping clear instructions @@ -164,10 +165,17 @@ func (r *Renderer) DrawFrame() { } } // Draw + for _, clr := range clrBuf { + if clr != nil { + stack = append(stack, clr) + } + } for _, drw := range drwBuf { - drw.Write(r.stream) + if drw != nil { + stack = append(stack, drw) + } } - for _, clr := range clrBuf { - clr.Write(r.stream) + for _, inst := range stack { + inst.Write(r.stream) } } |