PosColor.fromHex constructor
#RRGGBB; alles andere ergibt fallback – eine Farbangabe aus dem Panel
darf keine unsichtbare Kasse erzeugen. fallback ist Pflicht: ein
stillschweigendes Panel-Blau als Vorgabe wäre eine Entscheidung des
Aufrufers, die er nie getroffen hat.
Implementation
factory PosColor.fromHex(String hex, {required PosColor fallback}) {
final h = hex.trim().replaceFirst('#', '');
if (h.length != 6) return fallback;
final wert = int.tryParse(h, radix: 16);
if (wert == null) return fallback;
return PosColor((wert >> 16) & 0xFF, (wert >> 8) & 0xFF, wert & 0xFF);
}