Implementation
Widget numberTable(double widthCM) => _NumberTable(widthCM, this, [
row([
cell(text('')),
cell(text('ERROR', align: bpCenter)),
cell(list([text('TEST', align: bpCenter)])),
cell(text('MATRIX', align: bpCenter))
]),
row([
cell(text('0', align: bpCenter)),
cell(text(' y \u00f7 0, LN 0, ...')),
cell(text('x\u200a\u2260\u200a0', align: bpCenter)),
cell(text(' 0 DIM'))
]),
row([
cell(text('1', align: bpCenter)),
cell(text(' LN A , SIN A , ...')),
cell(text('x\u200a>\u200a0', align: bpCenter)),
cell(list([
text(' 1'),
space(-1),
arrowRight(2),
text('R'),
space(-.5),
subText('0'),
space(-.4),
text(',\u200a1'),
space(-.8),
arrowRight(2),
text('R'),
space(-.5),
subText('1')
]))
]),
row([
cell(text('2', align: bpCenter)),
cell(text(' \u03a3 Error')),
cell(text('x\u200a<\u200a0', align: bpCenter)),
cell(list([
text(' A'),
space(-.8),
supText('P'),
space(-.4),
arrowRight(2),
text('A'),
space(-2.2),
text('~', offset: const Offset(0, -1.3))
]))
]),
row([
cell(text('3', align: bpCenter)),
cell(list([
text(' R?, A'),
space(-.2),
text('i\u200aj', scale: 0.8, offset: Offset(0, 0.15 * rowHeightMM)),
text('?')
])),
cell(text('x\u200a\u2265\u200a0', align: bpCenter)),
cell(list([
text(' A'),
space(-2.4),
text('~', offset: const Offset(0, -1.3)),
arrowRight(2),
space(0.1),
text('A'),
space(-.6),
supText('P')
]))
]),
row([
cell(text('4', align: bpCenter)),
cell(list([text('LBL?,GTO>MEM,PRGM>MEM'), space(-.9)])),
cell(text('x\u200a\u2264\u200a0', align: bpCenter)),
cell(list([text(' A'), space(-.9), supText('T')]))
]),
row([
cell(text('5', align: bpCenter)),
cell(list([
text(' > 7 '),
text('RTN', boxOffset: const Offset(-.28, -.64), box: true)
])),
cell(text('x\u200a=\u200ay', align: bpCenter)),
cell(list(
[text(' A'), space(-.9), supText('T'), space(-.2), text('B')]))
]),
row([
cell(text('6', align: bpCenter)),
cell(text(' SF > 9 , CF > 9 , F? > 9')),
cell(text('x\u200a\u2260\u200ay', align: bpCenter)),
cell(text(' B = B - AC'))
]),
row([
cell(text('7', align: bpCenter)),
cell(list([
text(' SOLVE(SOLVE), \u222b'),
space(-1),
subText('y'),
space(-1),
supText('x'),
text('(\u222b'),
space(-1),
subText('y'),
space(-1),
supText('x'),
text(')')
])),
cell(text('x\u200a>\u200ay', align: bpCenter)),
cell(list([
space(.5),
text('MAX', scale: .7, offset: const Offset(0, -1.2)),
space(-1.85),
text('i', scale: .6, offset: const Offset(0, .85)),
space(2.0),
text('j', scale: .6, offset: const Offset(0, .85)),
space(-1),
text('\u03a3', scale: .8, offset: const Offset(0, -0.95)),
text('|\u200aa', scale: .7, offset: const Offset(0, -1.2)),
space(-.45),
text('i\u200aj', scale: .65, offset: const Offset(.2, -0.5)),
text('|', scale: .7, offset: const Offset(-.2, -1.2)),
]))
]),
row([
cell(text('8', align: bpCenter)),
cell(text(' SOLVE ?')),
cell(text('x\u200a<\u200ay', align: bpCenter)),
cell(list([
space(0.25),
text('('),
space(0.25),
text('i\u200aj', scale: 0.6, offset: const Offset(0, 1)),
space(-1.4),
text('\u03a3', scale: .8, offset: const Offset(0, -0.90)),
space(-.3),
text('|\u200aa', scale: .7, offset: const Offset(0, -1.2)),
space(-.4),
text('i\u200aj', scale: .65, offset: const Offset(0, -0.5)),
space(-.14),
text('|', scale: .7, offset: const Offset(0, -1.2)),
space(-.1),
text('2', scale: .4, offset: const Offset(0, -3.8)),
text(')'),
space(-.2),
text('1', scale: .4, offset: const Offset(0, -3.8)),
space(-.2),
text('/', scale: .4, offset: const Offset(0, -3.5)),
space(-.1),
text('2', scale: .4, offset: const Offset(0, -2.5)),
]))
]),
_NumberTableBottomRow([
cell(text('9', align: bpCenter)),
cell(list([
space(.55),
text('ON', box: true, boxOffset: const Offset(-.28, -.64)),
text(' / '),
text('\u00d7',
box: true,
offset: const Offset(-.03, -.01),
boxOffset: const Offset(-.09, -.64))
])),
cell(text('x\u200a\u2265\u200ay', align: bpCenter)),
cell(text(' |\u200aA\u200a| '))
], this),
_NumberTableBottomRow([
cell(text('10\u200a', align: bpCenter)),
cell(text(' DIM > MEM')),
cell(text('')),
cell(text(''))
], this),
_NumberTableBottomRow([
cell(text('11', align: bpCenter)),
cell(text(' DIM A \u2260 DIM B')),
cell(text('')),
cell(text(''))
], this),
]);