DisplayCanvas
Namespace: Busy.Bar
Convenience helpers for positioning DisplayElements on the BUSY Bar's screen. Not
part of the raw HTTP API — DisplayElement.Align only anchors an element's own
bounding box at DisplayElement.X/DisplayElement.Y; it does not center
the element within the canvas the way you might expect. Confirmed against physical hardware:
left at the default X=0, Y=0, an ElementAlign.Center element gets its center
pinned to the canvas's top-left corner, pushing roughly half of it off-screen. Use
DisplayCanvas.AnchorFor(ElementAlign) to compute the correct X/Y for a given alignment against the
canvas's own bounds.
public static class DisplayCanvas
Inheritance Object → DisplayCanvas
Fields
Width
Width, in pixels, of the standard BUSY Bar display (model BB.1 — the only model currently documented; revisit if a device with different dimensions ships).
public static int Width;
Height
Height, in pixels, of the standard BUSY Bar display (model BB.1 — the only model currently documented; revisit if a device with different dimensions ships).
public static int Height;
Properties
Center
The canvas's own center point.
public static (int X, int Y) Center { get; }
Property Value
Methods
AnchorFor(ElementAlign)
Returns the (X, Y) coordinate on the canvas that corresponds to the given alignment — e.g. ElementAlign.Center returns the canvas's exact center, ElementAlign.TopRight its top-right corner. Assign the result to a DisplayElement's DisplayElement.X/ DisplayElement.Y so the same alignment anchors it relative to the whole canvas rather than to the canvas's top-left corner.
public static (int X, int Y) AnchorFor(ElementAlign align)
Parameters
align ElementAlign
Returns
(Int32 X, Int32 Y)