From 4a928729bf7a959bddd36ce25ccc239e34e2c22a Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Mon, 26 Jul 2021 20:57:55 +0100 Subject: [PATCH] Don't draw transparent rectangles or spaces either A big performance improvement for TextGrid especially --- internal/painter/gl/draw.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/painter/gl/draw.go b/internal/painter/gl/draw.go index 50d67629cb..338e86dffe 100644 --- a/internal/painter/gl/draw.go +++ b/internal/painter/gl/draw.go @@ -1,6 +1,7 @@ package gl import ( + "image/color" "math" "fyne.io/fyne/v2" @@ -53,12 +54,15 @@ func (p *glPainter) drawGradient(o fyne.CanvasObject, texCreator func(fyne.Canva } func (p *glPainter) drawRectangle(rect *canvas.Rectangle, pos fyne.Position, frame fyne.Size) { + if (rect.FillColor == color.Transparent || rect.FillColor == nil) && (rect.StrokeColor == color.Transparent || rect.FillColor == nil || rect.StrokeWidth == 0) { + return + } p.drawTextureWithDetails(rect, p.newGlRectTexture, pos, rect.Size(), frame, canvas.ImageFillStretch, 1.0, painter.VectorPad(rect)) } func (p *glPainter) drawText(text *canvas.Text, pos fyne.Position, frame fyne.Size) { - if text.Text == "" { + if text.Text == "" || text.Text == " " { return }