enhancing the seven segments display
This commit is contained in:
parent
ace7312470
commit
5e0d33cfe1
@ -25,41 +25,48 @@ for (foo=0; foo<9; foo++) {
|
||||
mvwhline(win, lig+foo, col, '~', 6);
|
||||
}
|
||||
|
||||
#define KC '+'
|
||||
#define KS "++++"
|
||||
|
||||
wstandout(win);
|
||||
for (numbit=0; numbit<8; numbit++) {
|
||||
mask = 1 << numbit;
|
||||
switch(mask & bits) {
|
||||
case 0x01:
|
||||
mvwaddstr(win, lig, col+1, " ");
|
||||
mvwaddstr(win, lig, col+1, KS);
|
||||
break;
|
||||
case 0x02:
|
||||
mvwaddch(win, lig+1, col+5, ' ');
|
||||
mvwaddch(win, lig+2, col+5, ' ');
|
||||
mvwaddch(win, lig+3, col+5, ' ');
|
||||
mvwaddch(win, lig+1, col+5, KC);
|
||||
mvwaddch(win, lig+2, col+5, KC);
|
||||
mvwaddch(win, lig+3, col+5, KC);
|
||||
break;
|
||||
case 0x04:
|
||||
mvwaddch(win, lig+5, col+5, ' ');
|
||||
mvwaddch(win, lig+6, col+5, ' ');
|
||||
mvwaddch(win, lig+7, col+5, ' ');
|
||||
mvwaddch(win, lig+5, col+5, KC);
|
||||
mvwaddch(win, lig+6, col+5, KC);
|
||||
mvwaddch(win, lig+7, col+5, KC);
|
||||
break;
|
||||
case 0x08:
|
||||
mvwaddstr(win, lig+8, col+1, " ");
|
||||
mvwaddstr(win, lig+8, col+1, KS);
|
||||
break;
|
||||
case 0x10:
|
||||
mvwaddch(win, lig+5, col, ' ');
|
||||
mvwaddch(win, lig+6, col, ' ');
|
||||
mvwaddch(win, lig+7, col, ' ');
|
||||
mvwaddch(win, lig+5, col, KC);
|
||||
mvwaddch(win, lig+6, col, KC);
|
||||
mvwaddch(win, lig+7, col, KC);
|
||||
break;
|
||||
case 0x20:
|
||||
mvwaddch(win, lig+1, col , ' ');
|
||||
mvwaddch(win, lig+2, col , ' ');
|
||||
mvwaddch(win, lig+3, col , ' ');
|
||||
mvwaddch(win, lig+1, col , KC);
|
||||
mvwaddch(win, lig+2, col , KC);
|
||||
mvwaddch(win, lig+3, col , KC);
|
||||
break;
|
||||
case 0x40:
|
||||
mvwaddstr(win, lig+4, col+1, " ");
|
||||
mvwaddstr(win, lig+4, col+1, KS);
|
||||
break;
|
||||
case 0x80:
|
||||
/* decimal point */
|
||||
mvwaddch(win, lig+7, col+2 , KC);
|
||||
mvwaddch(win, lig+7, col+3 , KC);
|
||||
mvwaddch(win, lig+8, col+2 , KC);
|
||||
mvwaddch(win, lig+8, col+3 , KC);
|
||||
break;
|
||||
|
||||
}
|
||||
@ -79,10 +86,6 @@ fprintf(stderr, ">>> %s ( %p %d %d '%c' )\n", __func__,
|
||||
win, lig, col, digit);
|
||||
#endif
|
||||
|
||||
if (!isdigit(digit)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
switch (digit) {
|
||||
case '0': bits = 0x3f; break;
|
||||
case '1': bits = 0x06; break;
|
||||
@ -95,9 +98,10 @@ switch (digit) {
|
||||
case '8': bits = 0x7f; break;
|
||||
case '9': bits = 0x6f; break;
|
||||
|
||||
default:
|
||||
bits = 0x40;
|
||||
break;
|
||||
case ' ': bits = 0; break;
|
||||
case '.': bits = 0x80; break;
|
||||
|
||||
default: bits = 0x09; break;
|
||||
}
|
||||
|
||||
aff7segs_base(win, lig, col, bits, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user