view.lcd_display library Null safety
Widget to draw the LCD Display, using a
direct drawing commands. The main eleven-digit display doesn't
use a font; the individual segments are drawn.
The structure of this module is pretty straightforward:
LcdDisplay is the main widget. It uses Flutter's
CustomPainter to do direct drawing of the different visual elements.
The most interesting part of that is the 7 segment digits, which are drawn
with Digit. There's a Digit instance for each character of our
alphabet, which includes the digits from 0 to f, as well as some other
characters used by the 16C, e.g. for the flashing "running" message. A
Digit is comprised of some number of Segments, each of which is a
Path, one for each of the seven segments, plus the decimal point
and the tail that completes a comma.
- Draw a digit, by drawing the individual Segments.
A widget that looks like an LCD display. It uses Flutter's
CustomPainterto directly draw the visual elements, notably using 7-segment Digit instances. LcdDisplay listens to events from Model.display.
- Singleton to do the math of where tho display the digit segments. These segments are based on a 72-pixel high digit whose upper-left hand corner is at 0,0. it is expected that the client will scale and translate the Canvas accordingly.