theme/devtools/scrollbar.go

Functions Structs

Functions

func PaintScrollbar

PaintScrollbar renders scrollbars according to DevTools design specifications.

func (p ScrollbarPainter) PaintScrollbar(canvas widget.Canvas, ps scrollview.PaintState) {
	if ps.Bounds.IsEmpty() {
		return
	}

	colors := ps.ColorScheme
	if colors == (scrollview.ScrollbarColorScheme{}) {
		colors = p.resolveColors()
	}

	// Override paint state with resolved colors and delegate to the default painter.
	ps.ColorScheme = colors
	scrollview.DefaultPainter{}.PaintScrollbar(canvas, ps)
}

Structs

type ScrollbarPainter struct

ScrollbarPainter renders scrollbars using DevTools design tokens.

DevTools scrollbars are thin (6px width, 4px idle expanding to 6px on hover)

with transparent track — matching JetBrains IDE editor scrollbar styling.

 

If Theme is nil, ScrollbarPainter falls back to the default DevTools dark palette.

type ScrollbarPainter struct {
	Theme *Theme	// nil uses default DevTools dark fallback
}