HelenOS sources

termui            317 uspace/app/terminal/terminal.c 	termui_force_viewport_update(term->termui, 0, termui_get_rows(term->termui));
termui            433 uspace/app/terminal/terminal.c 		termui_put_crlf(term->termui);
termui            436 uspace/app/terminal/terminal.c 		termui_put_cr(term->termui);
termui            439 uspace/app/terminal/terminal.c 		termui_put_tab(term->termui);
termui            442 uspace/app/terminal/terminal.c 		termui_put_backspace(term->termui);
termui            448 uspace/app/terminal/terminal.c 		termui_put_glyph(term->termui, fb_font_glyph(ch, NULL), 1);
termui            485 uspace/app/terminal/terminal.c 	termui_clear_screen(term->termui);
termui            497 uspace/app/terminal/terminal.c 	termui_set_pos(term->termui, col, row);
termui            510 uspace/app/terminal/terminal.c 	termui_get_pos(term->termui, &icol, &irow);
termui            524 uspace/app/terminal/terminal.c 	*cols = termui_get_cols(term->termui);
termui            525 uspace/app/terminal/terminal.c 	*rows = termui_get_rows(term->termui);
termui            566 uspace/app/terminal/terminal.c 	termui_set_style(term->termui, cellstyle);
termui            585 uspace/app/terminal/terminal.c 	termui_set_style(term->termui, cellstyle);
termui            599 uspace/app/terminal/terminal.c 	termui_set_style(term->termui, cellstyle);
termui            608 uspace/app/terminal/terminal.c 	termui_set_cursor_visibility(term->termui, visible);
termui            680 uspace/app/terminal/terminal.c 	termui_history_scroll(term->termui, INT_MAX);
termui            702 uspace/app/terminal/terminal.c 	termui_wipe_screen(term->termui, 0);
termui            736 uspace/app/terminal/terminal.c 	c1 = min(c1, (sysarg_t) termui_get_cols(term->termui));
termui            738 uspace/app/terminal/terminal.c 	r1 = min(r1, (sysarg_t) termui_get_rows(term->termui));
termui            748 uspace/app/terminal/terminal.c 		termui_cell_t *cells = termui_get_active_row(term->termui, row);
termui            815 uspace/app/terminal/terminal.c 	termui_destroy(term->termui);
termui            866 uspace/app/terminal/terminal.c 		(void) termui_resize(term->termui, term->w / FONT_WIDTH, term->h / FONT_SCANLINES, SCROLLBACK_MAX_LINES);
termui            906 uspace/app/terminal/terminal.c 	const int PAGE_ROWS = (termui_get_rows(term->termui) * 2) / 3;
termui            913 uspace/app/terminal/terminal.c 		termui_history_scroll(term->termui,
termui            941 uspace/app/terminal/terminal.c 	if (termui_scrollback_is_active(term->termui))
termui            959 uspace/app/terminal/terminal.c 	int cols = termui_get_cols(term->termui);
termui            960 uspace/app/terminal/terminal.c 	int rows = termui_get_rows(term->termui);
termui            996 uspace/app/terminal/terminal.c 		termui_set_cursor_visibility(term->termui, true);
termui           1089 uspace/app/terminal/terminal.c 	term->termui = termui_create(term->w / FONT_WIDTH,
termui           1091 uspace/app/terminal/terminal.c 	if (!term->termui) {
termui           1097 uspace/app/terminal/terminal.c 	termui_set_refresh_cb(term->termui, termui_refresh_cb, term);
termui           1098 uspace/app/terminal/terminal.c 	termui_set_scroll_cb(term->termui, termui_scroll_cb, term);
termui           1099 uspace/app/terminal/terminal.c 	termui_set_update_cb(term->termui, termui_update_cb, term);
termui           1150 uspace/app/terminal/terminal.c 	if (term->termui != NULL)
termui           1151 uspace/app/terminal/terminal.c 		termui_destroy(term->termui);
termui             84 uspace/app/terminal/terminal.h 	termui_t *termui;
termui             40 uspace/lib/termui/include/termui.h struct termui;
termui             41 uspace/lib/termui/include/termui.h typedef struct termui termui_t;
termui            107 uspace/lib/termui/include/termui.h void termui_destroy(termui_t *termui);
termui            109 uspace/lib/termui/include/termui.h errno_t termui_resize(termui_t *termui, int cols, int rows, size_t history_lines);
termui            111 uspace/lib/termui/include/termui.h void termui_set_scroll_cb(termui_t *termui, termui_scroll_cb_t cb, void *userdata);
termui            112 uspace/lib/termui/include/termui.h void termui_set_update_cb(termui_t *termui, termui_update_cb_t cb, void *userdata);
termui            113 uspace/lib/termui/include/termui.h void termui_set_refresh_cb(termui_t *termui, termui_refresh_cb_t cb, void *userdata);
termui            115 uspace/lib/termui/include/termui.h void termui_put_lf(termui_t *termui);
termui            116 uspace/lib/termui/include/termui.h void termui_put_cr(termui_t *termui);
termui            117 uspace/lib/termui/include/termui.h void termui_put_crlf(termui_t *termui);
termui            118 uspace/lib/termui/include/termui.h void termui_put_tab(termui_t *termui);
termui            119 uspace/lib/termui/include/termui.h void termui_put_backspace(termui_t *termui);
termui            120 uspace/lib/termui/include/termui.h void termui_put_glyph(termui_t *termui, uint32_t glyph, int width);
termui            121 uspace/lib/termui/include/termui.h void termui_clear_screen(termui_t *termui);
termui            122 uspace/lib/termui/include/termui.h void termui_wipe_screen(termui_t *termui, int first_row);
termui            124 uspace/lib/termui/include/termui.h void termui_set_style(termui_t *termui, termui_cell_t style);
termui            125 uspace/lib/termui/include/termui.h void termui_set_pos(termui_t *termui, int col, int row);
termui            126 uspace/lib/termui/include/termui.h void termui_get_pos(const termui_t *termui, int *col, int *row);
termui            127 uspace/lib/termui/include/termui.h int termui_get_cols(const termui_t *termui);
termui            128 uspace/lib/termui/include/termui.h int termui_get_rows(const termui_t *termui);
termui            130 uspace/lib/termui/include/termui.h bool termui_get_cursor_visibility(const termui_t *termui);
termui            131 uspace/lib/termui/include/termui.h void termui_set_cursor_visibility(termui_t *termui, bool visible);
termui            132 uspace/lib/termui/include/termui.h termui_cell_t *termui_get_active_row(termui_t *termui, int row);
termui            133 uspace/lib/termui/include/termui.h void termui_history_scroll(termui_t *termui, int delta);
termui            134 uspace/lib/termui/include/termui.h void termui_force_viewport_update(const termui_t *termui, int first_row, int rows);
termui            135 uspace/lib/termui/include/termui.h bool termui_scrollback_is_active(const termui_t *termui);
termui             75 uspace/lib/termui/src/termui.c static int _real_row(const termui_t *termui, int row)
termui             77 uspace/lib/termui/src/termui.c 	row += termui->first_row;
termui             78 uspace/lib/termui/src/termui.c 	if (row >= termui->rows)
termui             79 uspace/lib/termui/src/termui.c 		row -= termui->rows;
termui             84 uspace/lib/termui/src/termui.c #define _screen_cell(termui, col, row) \
termui             85 uspace/lib/termui/src/termui.c 	((termui)->screen[(termui)->cols * _real_row((termui), (row)) + (col)])
termui             87 uspace/lib/termui/src/termui.c #define _current_cell(termui) \
termui             88 uspace/lib/termui/src/termui.c 	_screen_cell((termui), (termui)->col, (termui)->row)
termui             90 uspace/lib/termui/src/termui.c #define _overflow_flag(termui, row) \
termui             91 uspace/lib/termui/src/termui.c 	((termui)->overflow_flags[_real_row((termui), (row))])
termui             95 uspace/lib/termui/src/termui.c void termui_set_style(termui_t *termui, termui_cell_t style)
termui             97 uspace/lib/termui/src/termui.c 	termui->style = style;
termui            100 uspace/lib/termui/src/termui.c static void _termui_evict_row(termui_t *termui)
termui            102 uspace/lib/termui/src/termui.c 	if (termui->used_rows <= 0)
termui            105 uspace/lib/termui/src/termui.c 	bool last = !_overflow_flag(termui, 0);
termui            107 uspace/lib/termui/src/termui.c 	for (int col = 0; col < termui->cols; col++)
termui            108 uspace/lib/termui/src/termui.c 		_screen_cell(termui, col, 0).cursor = 0;
termui            111 uspace/lib/termui/src/termui.c 	_history_append_row(&termui->history, &_screen_cell(termui, 0, 0), last);
termui            113 uspace/lib/termui/src/termui.c 	_overflow_flag(termui, 0) = false;
termui            116 uspace/lib/termui/src/termui.c 	for (int col = 0; col < termui->cols; col++)
termui            117 uspace/lib/termui/src/termui.c 		_screen_cell(termui, col, 0) = termui->default_cell;
termui            119 uspace/lib/termui/src/termui.c 	termui->used_rows--;
termui            121 uspace/lib/termui/src/termui.c 	termui->row--;
termui            122 uspace/lib/termui/src/termui.c 	if (termui->row < 0) {
termui            123 uspace/lib/termui/src/termui.c 		termui->row = 0;
termui            124 uspace/lib/termui/src/termui.c 		termui->col = 0;
termui            127 uspace/lib/termui/src/termui.c 	termui->first_row++;
termui            128 uspace/lib/termui/src/termui.c 	if (termui->first_row >= termui->rows)
termui            129 uspace/lib/termui/src/termui.c 		termui->first_row -= termui->rows;
termui            131 uspace/lib/termui/src/termui.c 	assert(termui->first_row < termui->rows);
termui            139 uspace/lib/termui/src/termui.c termui_cell_t *termui_get_active_row(termui_t *termui, int row)
termui            142 uspace/lib/termui/src/termui.c 	assert(row < termui->rows);
termui            144 uspace/lib/termui/src/termui.c 	return &_screen_cell(termui, 0, row);
termui            147 uspace/lib/termui/src/termui.c static void _update_active_cells(termui_t *termui, int col, int row, int cells)
termui            149 uspace/lib/termui/src/termui.c 	int viewport_rows = _history_viewport_rows(&termui->history, termui->rows);
termui            150 uspace/lib/termui/src/termui.c 	int active_rows_shown = termui->rows - viewport_rows;
termui            153 uspace/lib/termui/src/termui.c 	if (termui->update_cb && active_rows_shown > row)
termui            154 uspace/lib/termui/src/termui.c 		termui->update_cb(termui->update_udata, col, row + viewport_rows, &_screen_cell(termui, col, row), cells);
termui            157 uspace/lib/termui/src/termui.c static void _update_current_cell(termui_t *termui)
termui            159 uspace/lib/termui/src/termui.c 	_update_active_cells(termui, termui->col, termui->row, 1);
termui            162 uspace/lib/termui/src/termui.c static void _cursor_off(termui_t *termui)
termui            164 uspace/lib/termui/src/termui.c 	if (termui->cursor_visible) {
termui            165 uspace/lib/termui/src/termui.c 		_current_cell(termui).cursor = 0;
termui            166 uspace/lib/termui/src/termui.c 		_update_current_cell(termui);
termui            170 uspace/lib/termui/src/termui.c static void _cursor_on(termui_t *termui)
termui            172 uspace/lib/termui/src/termui.c 	if (termui->cursor_visible) {
termui            173 uspace/lib/termui/src/termui.c 		_current_cell(termui).cursor = 1;
termui            174 uspace/lib/termui/src/termui.c 		_update_current_cell(termui);
termui            178 uspace/lib/termui/src/termui.c static void _advance_line(termui_t *termui)
termui            180 uspace/lib/termui/src/termui.c 	if (termui->row + 1 >= termui->rows) {
termui            181 uspace/lib/termui/src/termui.c 		size_t old_top = termui->history.viewport_top;
termui            183 uspace/lib/termui/src/termui.c 		_termui_evict_row(termui);
termui            185 uspace/lib/termui/src/termui.c 		if (old_top != termui->history.viewport_top && termui->refresh_cb)
termui            186 uspace/lib/termui/src/termui.c 			termui->refresh_cb(termui->refresh_udata);
termui            188 uspace/lib/termui/src/termui.c 		if (termui->scroll_cb && !_scrollback_active(&termui->history))
termui            189 uspace/lib/termui/src/termui.c 			termui->scroll_cb(termui->scroll_udata, 1);
termui            192 uspace/lib/termui/src/termui.c 	if (termui->rows > 1)
termui            193 uspace/lib/termui/src/termui.c 		termui->row++;
termui            195 uspace/lib/termui/src/termui.c 	if (termui->row >= termui->used_rows)
termui            196 uspace/lib/termui/src/termui.c 		termui->used_rows = termui->row + 1;
termui            198 uspace/lib/termui/src/termui.c 	assert(termui->row < termui->rows);
termui            201 uspace/lib/termui/src/termui.c void termui_put_lf(termui_t *termui)
termui            203 uspace/lib/termui/src/termui.c 	_cursor_off(termui);
termui            204 uspace/lib/termui/src/termui.c 	termui->overflow = false;
termui            205 uspace/lib/termui/src/termui.c 	_advance_line(termui);
termui            206 uspace/lib/termui/src/termui.c 	_cursor_on(termui);
termui            209 uspace/lib/termui/src/termui.c void termui_put_cr(termui_t *termui)
termui            211 uspace/lib/termui/src/termui.c 	_cursor_off(termui);
termui            214 uspace/lib/termui/src/termui.c 	if (termui->overflow && termui->row > 0) {
termui            215 uspace/lib/termui/src/termui.c 		termui->row--;
termui            216 uspace/lib/termui/src/termui.c 		_overflow_flag(termui, termui->row) = 0;
termui            219 uspace/lib/termui/src/termui.c 	termui->overflow = false;
termui            222 uspace/lib/termui/src/termui.c 	termui->col = 0;
termui            224 uspace/lib/termui/src/termui.c 	_cursor_on(termui);
termui            228 uspace/lib/termui/src/termui.c void termui_put_crlf(termui_t *termui)
termui            230 uspace/lib/termui/src/termui.c 	_cursor_off(termui);
termui            233 uspace/lib/termui/src/termui.c 	if (termui->overflow && termui->row > 0) {
termui            234 uspace/lib/termui/src/termui.c 		termui->row--;
termui            235 uspace/lib/termui/src/termui.c 		_overflow_flag(termui, termui->row) = 0;
termui            238 uspace/lib/termui/src/termui.c 	termui->overflow = false;
termui            241 uspace/lib/termui/src/termui.c 	_advance_line(termui);
termui            242 uspace/lib/termui/src/termui.c 	termui->col = 0;
termui            244 uspace/lib/termui/src/termui.c 	_cursor_on(termui);
termui            247 uspace/lib/termui/src/termui.c void termui_put_tab(termui_t *termui)
termui            249 uspace/lib/termui/src/termui.c 	_cursor_off(termui);
termui            251 uspace/lib/termui/src/termui.c 	termui->overflow = false;
termui            253 uspace/lib/termui/src/termui.c 	int new_col = (termui->col / 8 + 1) * 8;
termui            254 uspace/lib/termui/src/termui.c 	if (new_col >= termui->cols)
termui            255 uspace/lib/termui/src/termui.c 		new_col = termui->cols - 1;
termui            256 uspace/lib/termui/src/termui.c 	termui->col = new_col;
termui            258 uspace/lib/termui/src/termui.c 	_cursor_on(termui);
termui            261 uspace/lib/termui/src/termui.c void termui_put_backspace(termui_t *termui)
termui            263 uspace/lib/termui/src/termui.c 	_cursor_off(termui);
termui            265 uspace/lib/termui/src/termui.c 	termui->overflow = false;
termui            267 uspace/lib/termui/src/termui.c 	if (termui->col == 0) {
termui            268 uspace/lib/termui/src/termui.c 		if (termui->row > 0 && _overflow_flag(termui, termui->row - 1)) {
termui            269 uspace/lib/termui/src/termui.c 			termui->row--;
termui            270 uspace/lib/termui/src/termui.c 			termui->col = termui->cols - 1;
termui            271 uspace/lib/termui/src/termui.c 			_overflow_flag(termui, termui->row) = false;
termui            274 uspace/lib/termui/src/termui.c 		termui->col--;
termui            277 uspace/lib/termui/src/termui.c 	_cursor_on(termui);
termui            288 uspace/lib/termui/src/termui.c void termui_put_glyph(termui_t *termui, uint32_t glyph_idx, int width)
termui            290 uspace/lib/termui/src/termui.c 	if (termui->row >= termui->used_rows)
termui            291 uspace/lib/termui/src/termui.c 		termui->used_rows = termui->row + 1;
termui            293 uspace/lib/termui/src/termui.c 	termui_cell_t padding_cell = termui->style;
termui            295 uspace/lib/termui/src/termui.c 	termui_cell_t cell = termui->style;
termui            300 uspace/lib/termui/src/termui.c 	if (termui->col + width > termui->cols) {
termui            302 uspace/lib/termui/src/termui.c 		int blanks = termui->cols - termui->col;
termui            304 uspace/lib/termui/src/termui.c 			_screen_cell(termui, termui->col + i, termui->row) = padding_cell;
termui            306 uspace/lib/termui/src/termui.c 		_update_active_cells(termui, termui->col, termui->row, blanks);
termui            308 uspace/lib/termui/src/termui.c 		_overflow_flag(termui, termui->row) = 1;
termui            309 uspace/lib/termui/src/termui.c 		_advance_line(termui);
termui            310 uspace/lib/termui/src/termui.c 		termui->col = 0;
termui            313 uspace/lib/termui/src/termui.c 	_current_cell(termui) = cell;
termui            314 uspace/lib/termui/src/termui.c 	termui->col++;
termui            317 uspace/lib/termui/src/termui.c 		_current_cell(termui) = padding_cell;
termui            318 uspace/lib/termui/src/termui.c 		termui->col++;
termui            321 uspace/lib/termui/src/termui.c 	if (termui->col < termui->cols) {
termui            323 uspace/lib/termui/src/termui.c 		if (termui->cursor_visible)
termui            324 uspace/lib/termui/src/termui.c 			_current_cell(termui).cursor = 1;
termui            325 uspace/lib/termui/src/termui.c 		_update_active_cells(termui, termui->col - width, termui->row, width + 1);
termui            326 uspace/lib/termui/src/termui.c 		termui->overflow = false;
termui            329 uspace/lib/termui/src/termui.c 		_update_active_cells(termui, termui->col - width, termui->row, width);
termui            331 uspace/lib/termui/src/termui.c 		_overflow_flag(termui, termui->row) = 1;
termui            332 uspace/lib/termui/src/termui.c 		_advance_line(termui);
termui            333 uspace/lib/termui/src/termui.c 		termui->col = 0;
termui            334 uspace/lib/termui/src/termui.c 		termui->overflow = true;
termui            336 uspace/lib/termui/src/termui.c 		_cursor_on(termui);
termui            372 uspace/lib/termui/src/termui.c int termui_get_cols(const termui_t *termui)
termui            374 uspace/lib/termui/src/termui.c 	return termui->cols;
termui            379 uspace/lib/termui/src/termui.c int termui_get_rows(const termui_t *termui)
termui            381 uspace/lib/termui/src/termui.c 	return termui->rows;
termui            386 uspace/lib/termui/src/termui.c void termui_get_pos(const termui_t *termui, int *col, int *row)
termui            388 uspace/lib/termui/src/termui.c 	*col = termui->col;
termui            389 uspace/lib/termui/src/termui.c 	*row = termui->row;
termui            394 uspace/lib/termui/src/termui.c void termui_set_pos(termui_t *termui, int col, int row)
termui            399 uspace/lib/termui/src/termui.c 	if (col >= termui->cols)
termui            400 uspace/lib/termui/src/termui.c 		col = termui->cols - 1;
termui            405 uspace/lib/termui/src/termui.c 	if (row >= termui->rows)
termui            406 uspace/lib/termui/src/termui.c 		row = termui->rows - 1;
termui            408 uspace/lib/termui/src/termui.c 	_cursor_off(termui);
termui            410 uspace/lib/termui/src/termui.c 	termui->col = col;
termui            411 uspace/lib/termui/src/termui.c 	termui->row = row;
termui            413 uspace/lib/termui/src/termui.c 	_cursor_on(termui);
termui            419 uspace/lib/termui/src/termui.c void termui_clear_screen(termui_t *termui)
termui            421 uspace/lib/termui/src/termui.c 	_cursor_off(termui);
termui            422 uspace/lib/termui/src/termui.c 	termui_put_crlf(termui);
termui            424 uspace/lib/termui/src/termui.c 	int unused_rows = termui->rows - termui->used_rows;
termui            426 uspace/lib/termui/src/termui.c 	while (termui->used_rows > 0)
termui            427 uspace/lib/termui/src/termui.c 		_termui_evict_row(termui);
termui            431 uspace/lib/termui/src/termui.c 		for (int col = 0; col < termui->cols; col++) {
termui            432 uspace/lib/termui/src/termui.c 			_screen_cell(termui, col, row) = termui->default_cell;
termui            436 uspace/lib/termui/src/termui.c 	termui->row = 0;
termui            437 uspace/lib/termui/src/termui.c 	termui->col = 0;
termui            439 uspace/lib/termui/src/termui.c 	_cursor_on(termui);
termui            441 uspace/lib/termui/src/termui.c 	if (termui->refresh_cb)
termui            442 uspace/lib/termui/src/termui.c 		termui->refresh_cb(termui->refresh_udata);
termui            449 uspace/lib/termui/src/termui.c void termui_wipe_screen(termui_t *termui, int first_row)
termui            451 uspace/lib/termui/src/termui.c 	if (first_row >= termui->rows)
termui            457 uspace/lib/termui/src/termui.c 	for (int row = first_row; row < termui->rows; row++) {
termui            458 uspace/lib/termui/src/termui.c 		for (int col = 0; col < termui->cols; col++)
termui            459 uspace/lib/termui/src/termui.c 			_screen_cell(termui, col, row) = termui->default_cell;
termui            461 uspace/lib/termui/src/termui.c 		_overflow_flag(termui, row) = false;
termui            462 uspace/lib/termui/src/termui.c 		_update_active_cells(termui, 0, row, termui->cols);
termui            465 uspace/lib/termui/src/termui.c 	if (termui->used_rows > first_row)
termui            466 uspace/lib/termui/src/termui.c 		termui->used_rows = first_row;
termui            468 uspace/lib/termui/src/termui.c 	if (termui->row >= first_row) {
termui            469 uspace/lib/termui/src/termui.c 		termui->row = first_row;
termui            470 uspace/lib/termui/src/termui.c 		termui->col = 0;
termui            471 uspace/lib/termui/src/termui.c 		_cursor_on(termui);
termui            475 uspace/lib/termui/src/termui.c void termui_set_scroll_cb(termui_t *termui, termui_scroll_cb_t cb, void *userdata)
termui            477 uspace/lib/termui/src/termui.c 	termui->scroll_cb = cb;
termui            478 uspace/lib/termui/src/termui.c 	termui->scroll_udata = userdata;
termui            481 uspace/lib/termui/src/termui.c void termui_set_update_cb(termui_t *termui, termui_update_cb_t cb, void *userdata)
termui            483 uspace/lib/termui/src/termui.c 	termui->update_cb = cb;
termui            484 uspace/lib/termui/src/termui.c 	termui->update_udata = userdata;
termui            487 uspace/lib/termui/src/termui.c void termui_set_refresh_cb(termui_t *termui, termui_refresh_cb_t cb, void *userdata)
termui            489 uspace/lib/termui/src/termui.c 	termui->refresh_cb = cb;
termui            490 uspace/lib/termui/src/termui.c 	termui->refresh_udata = userdata;
termui            496 uspace/lib/termui/src/termui.c void termui_force_viewport_update(const termui_t *termui, int first_row, int rows)
termui            500 uspace/lib/termui/src/termui.c 	assert(first_row + rows <= termui->rows);
termui            502 uspace/lib/termui/src/termui.c 	if (!termui->update_cb)
termui            505 uspace/lib/termui/src/termui.c 	int sb_rows = _history_viewport_rows(&termui->history, termui->rows);
termui            506 uspace/lib/termui/src/termui.c 	int updated = _history_iter_rows(&termui->history, first_row, rows, termui->update_cb, termui->update_udata);
termui            514 uspace/lib/termui/src/termui.c 		termui->update_cb(termui->update_udata, 0, row, &_screen_cell(termui, 0, row - sb_rows), termui->cols);
termui            518 uspace/lib/termui/src/termui.c bool termui_scrollback_is_active(const termui_t *termui)
termui            520 uspace/lib/termui/src/termui.c 	return _scrollback_active(&termui->history);
termui            531 uspace/lib/termui/src/termui.c 	termui_t *termui = calloc(1, sizeof(termui_t));
termui            532 uspace/lib/termui/src/termui.c 	if (!termui)
termui            535 uspace/lib/termui/src/termui.c 	termui->cols = cols;
termui            536 uspace/lib/termui/src/termui.c 	termui->rows = rows;
termui            537 uspace/lib/termui/src/termui.c 	termui->history.lines.max_len = history_lines;
termui            539 uspace/lib/termui/src/termui.c 		termui->history.cells.max_len = SIZE_MAX;
termui            541 uspace/lib/termui/src/termui.c 		termui->history.cells.max_len = history_lines * cols;
termui            542 uspace/lib/termui/src/termui.c 	termui->history.cols = cols;
termui            544 uspace/lib/termui/src/termui.c 	termui->screen = calloc(cells, sizeof(termui->screen[0]));
termui            545 uspace/lib/termui/src/termui.c 	if (!termui->screen) {
termui            546 uspace/lib/termui/src/termui.c 		free(termui);
termui            550 uspace/lib/termui/src/termui.c 	termui->overflow_flags = calloc(rows, sizeof(termui->overflow_flags[0]));
termui            551 uspace/lib/termui/src/termui.c 	if (!termui->overflow_flags) {
termui            552 uspace/lib/termui/src/termui.c 		free(termui->screen);
termui            553 uspace/lib/termui/src/termui.c 		free(termui);
termui            557 uspace/lib/termui/src/termui.c 	return termui;
termui            560 uspace/lib/termui/src/termui.c void termui_destroy(termui_t *termui)
termui            562 uspace/lib/termui/src/termui.c 	free(termui->screen);
termui            563 uspace/lib/termui/src/termui.c 	free(termui);
termui            574 uspace/lib/termui/src/termui.c void termui_history_scroll(termui_t *termui, int delta)
termui            576 uspace/lib/termui/src/termui.c 	int scrolled = _history_scroll(&termui->history, delta);
termui            578 uspace/lib/termui/src/termui.c 	if (scrolled != 0 && termui->scroll_cb)
termui            579 uspace/lib/termui/src/termui.c 		termui->scroll_cb(termui->scroll_udata, scrolled);
termui            582 uspace/lib/termui/src/termui.c void termui_set_cursor_visibility(termui_t *termui, bool visible)
termui            584 uspace/lib/termui/src/termui.c 	if (termui->cursor_visible == visible)
termui            587 uspace/lib/termui/src/termui.c 	termui->cursor_visible = visible;
termui            589 uspace/lib/termui/src/termui.c 	_current_cell(termui).cursor = visible;
termui            590 uspace/lib/termui/src/termui.c 	_update_current_cell(termui);
termui            593 uspace/lib/termui/src/termui.c bool termui_get_cursor_visibility(const termui_t *termui)
termui            595 uspace/lib/termui/src/termui.c 	return termui->cursor_visible;
termui            598 uspace/lib/termui/src/termui.c static void _termui_put_cells(termui_t *termui, const termui_cell_t *cells, int n)
termui            601 uspace/lib/termui/src/termui.c 		_current_cell(termui) = cells[0];
termui            605 uspace/lib/termui/src/termui.c 		termui->col++;
termui            607 uspace/lib/termui/src/termui.c 		if (termui->col == termui->cols) {
termui            608 uspace/lib/termui/src/termui.c 			_overflow_flag(termui, termui->row) = 1;
termui            609 uspace/lib/termui/src/termui.c 			_advance_line(termui);
termui            610 uspace/lib/termui/src/termui.c 			termui->col = 0;
termui            611 uspace/lib/termui/src/termui.c 			termui->overflow = true;
termui            613 uspace/lib/termui/src/termui.c 			termui->overflow = false;
termui            617 uspace/lib/termui/src/termui.c 	if (termui->row >= termui->used_rows)
termui            618 uspace/lib/termui/src/termui.c 		termui->used_rows = termui->row + 1;
termui            623 uspace/lib/termui/src/termui.c errno_t termui_resize(termui_t *termui, int cols, int rows, size_t history_lines)
termui            641 uspace/lib/termui/src/termui.c 	termui_t old_termui = *termui;
termui            643 uspace/lib/termui/src/termui.c 	termui->rows = rows;
termui            644 uspace/lib/termui/src/termui.c 	termui->cols = cols;
termui            645 uspace/lib/termui/src/termui.c 	termui->row = 0;
termui            646 uspace/lib/termui/src/termui.c 	termui->col = 0;
termui            647 uspace/lib/termui/src/termui.c 	termui->used_rows = 0;
termui            648 uspace/lib/termui/src/termui.c 	termui->first_row = 0;
termui            649 uspace/lib/termui/src/termui.c 	termui->screen = new_screen;
termui            650 uspace/lib/termui/src/termui.c 	termui->overflow_flags = new_flags;
termui            651 uspace/lib/termui/src/termui.c 	termui->overflow = false;
termui            653 uspace/lib/termui/src/termui.c 	bool cursor_visible = termui->cursor_visible;
termui            654 uspace/lib/termui/src/termui.c 	termui->cursor_visible = false;
termui            656 uspace/lib/termui/src/termui.c 	termui->history.lines.max_len = history_lines;
termui            659 uspace/lib/termui/src/termui.c 		termui->history.cells.max_len = SIZE_MAX;
termui            661 uspace/lib/termui/src/termui.c 		termui->history.cells.max_len = history_lines * cols;
termui            664 uspace/lib/termui/src/termui.c 	termui->scroll_cb = NULL;
termui            665 uspace/lib/termui/src/termui.c 	termui->update_cb = NULL;
termui            666 uspace/lib/termui/src/termui.c 	termui->refresh_cb = NULL;
termui            669 uspace/lib/termui/src/termui.c 	const termui_cell_t *c = _history_reflow(&termui->history, cols, &recouped);
termui            673 uspace/lib/termui/src/termui.c 		_termui_put_cells(termui, c, recouped);
termui            683 uspace/lib/termui/src/termui.c 			_termui_put_cells(termui, &old_termui.screen[real_row_offset], old_termui.cols);
termui            690 uspace/lib/termui/src/termui.c 			_termui_put_cells(termui, &old_termui.screen[real_row_offset], len);
termui            694 uspace/lib/termui/src/termui.c 				_current_cell(termui).cursor = old_termui.screen[real_row_offset + len].cursor;
termui            697 uspace/lib/termui/src/termui.c 				termui_put_crlf(termui);
termui            704 uspace/lib/termui/src/termui.c 	for (int col = 0; col < termui->cols; col++) {
termui            705 uspace/lib/termui/src/termui.c 		for (int row = 0; row < termui->rows; row++) {
termui            706 uspace/lib/termui/src/termui.c 			if (_screen_cell(termui, col, row).cursor) {
termui            707 uspace/lib/termui/src/termui.c 				_screen_cell(termui, col, row).cursor = 0;
termui            717 uspace/lib/termui/src/termui.c 	termui->col = new_col;
termui            718 uspace/lib/termui/src/termui.c 	termui->row = new_row;
termui            720 uspace/lib/termui/src/termui.c 	termui->cursor_visible = cursor_visible;
termui            721 uspace/lib/termui/src/termui.c 	_cursor_on(termui);
termui            723 uspace/lib/termui/src/termui.c 	termui->scroll_cb = old_termui.scroll_cb;
termui            724 uspace/lib/termui/src/termui.c 	termui->update_cb = old_termui.update_cb;
termui            725 uspace/lib/termui/src/termui.c 	termui->refresh_cb = old_termui.refresh_cb;
termui            727 uspace/lib/termui/src/termui.c 	if (termui->refresh_cb)
termui            728 uspace/lib/termui/src/termui.c 		termui->refresh_cb(termui->refresh_udata);
HelenOS homepage, sources at GitHub