func (b *menuButton) Paint(canvas gxui.Canvas) { style := b.Style() if l := b.Label(); l != nil { l.SetColor(style.FontColor) } rect := b.Size().Rect() poly := gxui.Polygon{ {Position: math.Point{ X: rect.Min.X, Y: rect.Max.Y, }}, {Position: math.Point{ X: rect.Min.X, Y: rect.Min.Y, }}, {Position: math.Point{ X: rect.Max.X, Y: rect.Min.Y, }}, {Position: math.Point{ X: rect.Max.X, Y: rect.Max.Y, }}, } canvas.DrawPolygon(poly, gxui.TransparentPen, style.Brush) b.PaintChildren.Paint(canvas) canvas.DrawLines(poly, style.Pen) }