PosColor.fromHex constructor

PosColor.fromHex(
  1. String hex, {
  2. required PosColor fallback,
})

#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);
}