bricolint
bricolint: keine handgezeichnete UI
Bricolage – improvisiertes, selbstgestricktes Zeichnen – ist der Weg, auf dem eine Oberfläche still und leise
ihr Feedback für Drücken, Hover und Fokus verliert, ihr Theming, ihre HiDPI-Skalierung
und ihre Barrierefreiheit. go-widgets/bricolint
verhindert, dass eine Anwendung, die auf das Toolkit umgestiegen ist, wieder zurückdriftet.
p.FillRect(bar, theme.Bg) // flagged: hand-drawn chrome
toolkit.NewBackdrop(theme.Bg).Draw(p) // a toolkit widget
func (v *view) Draw(p painter.Painter) {
b := toolkit.NewButton("ok") // flagged: a new widget every frame
b.Draw(p)
}- Ein Painter-Primitiv im Anwendungscode: eine Zeichenmethode (
FillRect,StrokeRect,FillPath,DrawImage,Text,PutPixel, …), aufgerufen auf einem Empfänger, dessen statischer Typ ein Painter-Typ ist. Die Oberfläche abzufragen oder zu beschneiden (Size,PushClip,PushTranslate) ist kein Zeichnen und wird nicht gemeldet.-primitives=ersetzt die Liste. - Ein Widget, das in jedem Frame weggeworfen wird: ein
toolkit.New…-Aufruf in einer Methode namensDraw,PaintoderRender. Ein bei jedem Zeichnen neu gebautes Widget behält keinen Interaktionszustand. Bauen Sie es einmal, halten Sie es in einem Feld, steuern Sie es über eine Bindung.-checkthrow=falseschaltet das ab.
Mancher Code ist ein echtes Blatt – ein Spiel-Framebuffer, ein Painter-Back-End, die Interna des Toolkits selbst – und sagt das explizit:
p.FillRect(bg, c) //bricolint:allow engine SVG raster blit — a genuine leaf//bricolint:allowfile painter back-end — this file IS the leaf
package pdfsurfaceDie Begründung ist Pflicht: Eine Direktive ohne Begründung wird ignoriert, und der Befund schlägt weiter an, bis jemand die Rechtfertigung aufschreibt.
jobs:
bricolint:
uses: go-widgets/bricolint/.github/workflows/bricolint.yml@mainErstellt am von tannevaled
Geändert am von tannevaled