func (c *canvas) DrawRoundedRect(r math.Rect, tl, tr, bl, br float32, pen gxui.Pen, brush gxui.Brush) { if tl == 0 && tr == 0 && bl == 0 && br == 0 && pen.Color.A == 0 { c.DrawRect(r, brush) return } p := gxui.Polygon{ gxui.PolygonVertex{Position: r.TL(), RoundedRadius: tl}, gxui.PolygonVertex{Position: r.TR(), RoundedRadius: tr}, gxui.PolygonVertex{Position: r.BR(), RoundedRadius: br}, gxui.PolygonVertex{Position: r.BL(), RoundedRadius: bl}, } c.DrawPolygon(p, pen, brush) }