| 36 |
|
|
| 37 |
#define ACTIVE_BOARD_HEIGHT 8 |
#define ACTIVE_BOARD_HEIGHT 8 |
| 38 |
|
|
| 39 |
#define STR_TOP_LEFT_MAX_LEN 40 |
#define STR_TOP_LEFT_MAX_LEN 80 |
| 40 |
#define STR_TOP_MIDDLE_MAX_LEN 20 |
#define STR_TOP_MIDDLE_MAX_LEN 40 |
| 41 |
#define STR_TOP_RIGHT_MAX_LEN 20 |
#define STR_TOP_RIGHT_MAX_LEN 40 |
| 42 |
|
|
| 43 |
void moveto(int row, int col) |
void moveto(int row, int col) |
| 44 |
{ |
{ |
| 185 |
ch = igetch(100); // 0.1 second |
ch = igetch(100); // 0.1 second |
| 186 |
if (ch == KEY_NULL || ch == KEY_TIMEOUT) // Ignore received bytes if no futher input |
if (ch == KEY_NULL || ch == KEY_TIMEOUT) // Ignore received bytes if no futher input |
| 187 |
{ |
{ |
| 188 |
|
#ifdef _DEBUG |
| 189 |
log_error("Ignore %d bytes of incomplete UTF8 character\n", str_len); |
log_error("Ignore %d bytes of incomplete UTF8 character\n", str_len); |
| 190 |
|
#endif |
| 191 |
str_len = 0; |
str_len = 0; |
| 192 |
break; |
break; |
| 193 |
} |
} |
| 574 |
|
|
| 575 |
strncpy(str_left_f, str_left, sizeof(str_left_f) - 1); |
strncpy(str_left_f, str_left, sizeof(str_left_f) - 1); |
| 576 |
str_left_f[sizeof(str_left_f) - 1] = '\0'; |
str_left_f[sizeof(str_left_f) - 1] = '\0'; |
| 577 |
len = split_line(str_left_f, STR_TOP_LEFT_MAX_LEN, &eol, &str_left_len, 1); |
len = split_line(str_left_f, STR_TOP_LEFT_MAX_LEN / 2, &eol, &str_left_len, 1); |
| 578 |
str_left_f[len] = '\0'; |
str_left_f[len] = '\0'; |
| 579 |
|
|
| 580 |
strncpy(str_middle_f, str_middle, sizeof(str_middle_f) - 1); |
strncpy(str_middle_f, str_middle, sizeof(str_middle_f) - 1); |
| 581 |
str_middle_f[sizeof(str_middle_f) - 1] = '\0'; |
str_middle_f[sizeof(str_middle_f) - 1] = '\0'; |
| 582 |
len = split_line(str_middle, STR_TOP_MIDDLE_MAX_LEN, &eol, &str_middle_len, 1); |
len = split_line(str_middle, STR_TOP_MIDDLE_MAX_LEN / 2, &eol, &str_middle_len, 1); |
| 583 |
str_middle_f[len] = '\0'; |
str_middle_f[len] = '\0'; |
| 584 |
|
|
| 585 |
strncpy(str_right_f, str_right, sizeof(str_right_f) - 1); |
strncpy(str_right_f, str_right, sizeof(str_right_f) - 1); |
| 586 |
str_right_f[sizeof(str_right_f) - 1] = '\0'; |
str_right_f[sizeof(str_right_f) - 1] = '\0'; |
| 587 |
len = split_line(str_right, STR_TOP_RIGHT_MAX_LEN, &eol, &str_right_len, 1); |
len = split_line(str_right, STR_TOP_RIGHT_MAX_LEN / 2, &eol, &str_right_len, 1); |
| 588 |
str_right_f[len] = '\0'; |
str_right_f[len] = '\0'; |
| 589 |
|
|
| 590 |
moveto(1, 0); |
moveto(1, 0); |
| 591 |
clrtoeol(); |
clrtoeol(); |
| 592 |
prints("\033[1;44;33m%s\033[37m%*s\033[33m%*s\033[m", |
prints("\033[1;44;33m%s\033[37m%*s%s\033[33m%*s%s\033[m", |
| 593 |
str_left_f, 44 - str_left_len, str_middle_f, 36, str_right_f); |
str_left_f, 44 - str_left_len - str_middle_len, "", |
| 594 |
|
str_middle_f, 36 - str_right_len, "", str_right_f); |
| 595 |
|
|
| 596 |
return 0; |
return 0; |
| 597 |
} |
} |