Changeset 41811af in mainline for uspace/app/top/screen.c
- Timestamp:
- 2011-06-10T10:14:26Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ab547063
- Parents:
- 9536e6e (diff), 390d80d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/top/screen.c
r9536e6e r41811af 46 46 #include "top.h" 47 47 48 #define USEC_COUNT 1000000 49 48 50 static sysarg_t warn_col = 0; 49 51 static sysarg_t warn_row = 0; 52 static suseconds_t timeleft = 0; 53 54 console_ctrl_t *console; 50 55 51 56 static void screen_style_normal(void) 52 57 { 53 fflush(stdout);54 console_set_style( fphone(stdout), STYLE_NORMAL);58 console_flush(console); 59 console_set_style(console, STYLE_NORMAL); 55 60 } 56 61 57 62 static void screen_style_inverted(void) 58 63 { 59 fflush(stdout);60 console_set_style( fphone(stdout), STYLE_INVERTED);64 console_flush(console); 65 console_set_style(console, STYLE_INVERTED); 61 66 } 62 67 63 68 static void screen_moveto(sysarg_t col, sysarg_t row) 64 69 { 65 fflush(stdout);66 console_set_pos( fphone(stdout), col, row);70 console_flush(console); 71 console_set_pos(console, col, row); 67 72 } 68 73 69 74 static void screen_get_pos(sysarg_t *col, sysarg_t *row) 70 75 { 71 fflush(stdout);72 console_get_pos( fphone(stdout), col, row);76 console_flush(console); 77 console_get_pos(console, col, row); 73 78 } 74 79 75 80 static void screen_get_size(sysarg_t *col, sysarg_t *row) 76 81 { 77 fflush(stdout);78 console_get_size( fphone(stdout), col, row);82 console_flush(console); 83 console_get_size(console, col, row); 79 84 } 80 85 … … 84 89 85 90 if (clear) { 86 fflush(stdout);87 console_clear( fphone(stdout));91 console_flush(console); 92 console_clear(console); 88 93 } 89 94 … … 111 116 void screen_init(void) 112 117 { 113 fflush(stdout); 114 console_cursor_visibility(fphone(stdout), false); 118 console = console_init(stdin, stdout); 119 120 console_flush(console); 121 console_cursor_visibility(console, false); 115 122 116 123 screen_restart(true); … … 121 128 screen_restart(true); 122 129 123 fflush(stdout);124 console_cursor_visibility( fphone(stdout), true);130 console_flush(console); 131 console_cursor_visibility(console, true); 125 132 } 126 133 … … 508 515 } 509 516 510 fflush(stdout);517 console_flush(console); 511 518 } 512 519 … … 521 528 522 529 screen_newline(); 523 fflush(stdout); 530 console_flush(console); 531 } 532 533 /** Get char with timeout 534 * 535 */ 536 int tgetchar(unsigned int sec) 537 { 538 /* 539 * Reset timeleft whenever it is not positive. 540 */ 541 542 if (timeleft <= 0) 543 timeleft = sec * USEC_COUNT; 544 545 /* 546 * Wait to see if there is any input. If so, take it and 547 * update timeleft so that the next call to tgetchar() 548 * will not wait as long. If there is no input, 549 * make timeleft zero and return -1. 550 */ 551 552 wchar_t c = 0; 553 554 while (c == 0) { 555 kbd_event_t event; 556 557 if (!console_get_kbd_event_timeout(console, &event, &timeleft)) { 558 timeleft = 0; 559 return -1; 560 } 561 562 if (event.type == KEY_PRESS) 563 c = event.c; 564 } 565 566 return (int) c; 524 567 } 525 568
Note:
See TracChangeset
for help on using the changeset viewer.