func (t *PanelTab) Paint(c gxui.Canvas) { s := t.Size() var style Style switch { case t.IsMouseDown(gxui.MouseButtonLeft) && t.IsMouseOver(): style = t.theme.TabPressedStyle case t.IsMouseOver(): style = t.theme.TabOverStyle default: style = t.theme.TabDefaultStyle } if l := t.Label(); l != nil { l.SetColor(style.FontColor) } c.DrawRoundedRect(s.Rect(), 5.0, 5.0, 0.0, 0.0, style.Pen, style.Brush) if t.HasFocus() { style = t.theme.FocusedStyle r := math.CreateRect(1, 1, s.W-1, s.H-1) c.DrawRoundedRect(r, 4.0, 4.0, 0.0, 0.0, style.Pen, style.Brush) } if t.active { style = t.theme.TabActiveHighlightStyle r := math.CreateRect(1, s.H-1, s.W-1, s.H) c.DrawRect(r, style.Brush) } t.Button.Paint(c) }
// parts.DrawPaint overrides func (b *SplitterBar) Paint(c gxui.Canvas) { r := b.outer.Size().Rect() c.DrawRect(r, gxui.CreateBrush(b.backgroundColor)) if b.foregroundColor != b.backgroundColor { c.DrawRect(r.ContractI(1), gxui.CreateBrush(b.foregroundColor)) } }
func (b *ProgressBar) PaintProgress(c gxui.Canvas, r math.Rect, frac float32) { r.Max.X = math.Lerp(r.Min.X, r.Max.X, frac) c.DrawRect(r, gxui.CreateBrush(gxui.Gray50)) c.Push() c.AddClip(r) c.DrawCanvas(b.chevrons, math.Point{X: b.scroll}) c.Pop() }
func (b *ProgressBar) PaintProgress(c gxui.Canvas, r math.Rect, frac float32) { r.Max.X = math.Lerp(r.Min.X, r.Max.X, frac) c.DrawRect(r, gxui.CreateBrush(gxui.Gray50)) }
func plot(c gxui.Canvas, x int, y int) { brush := gxui.CreateBrush(gxui.White) c.DrawRect(math.CreateRect(x, y, x+1, y+1), brush) }