A component draws itself with (bjogui draw), a pen over Avalonia's DrawingContext, and hears the pointer, the wheel, the keys and the focus. It keeps a state of its own between inputs, and sends outputs that drawn makes the app's messages. It is drawn again only when its value, its state or its size changes, and no Avalonia class is subclassed: the picture is a DrawingImage on a canvas. start-headless! sets Avalonia up with no screen, drawing with Skia, so tests/components.bjo draws components and reads their pixels. The mixer example has knobs and a timeline. 🤖 Generated with [ECA](https://eca.dev) (anthropic/claude-opus-4-8) Co-Authored-By: eca-agent <git@eca.dev>
16 lines
669 B
Text
16 lines
669 B
Text
(package
|
|
(name (bjogui))
|
|
(version "0.1.0")
|
|
(description "Desktop programs as a model, an update and a view, shown with Avalonia.")
|
|
(license "MPL-2.0")
|
|
|
|
;; Avalonia draws the controls. Avalonia.Desktop picks the platform: X11 on
|
|
;; Linux, Win32 on Windows, Cocoa on macOS.
|
|
(packages
|
|
(nuget (id "Avalonia") (version "11.3.2"))
|
|
(nuget (id "Avalonia.Desktop") (version "11.3.2"))
|
|
(nuget (id "Avalonia.Themes.Fluent") (version "11.3.2"))
|
|
;; A platform with no screen, and the drawing it uses, for tests: see
|
|
;; `start-headless!`.
|
|
(nuget (id "Avalonia.Headless") (version "11.3.2"))
|
|
(nuget (id "Avalonia.Skia") (version "11.3.2"))))
|