Lines Matching +full:data +full:- +full:width
1 // SPDX-License-Identifier: GPL-2.0+
3 * textbox.c -- implements the text box
12 static void print_page(WINDOW *win, int height, int width, update_text_fn
13 update_text, void *data);
14 static void print_line(WINDOW *win, int row, int width);
28 void *data) in refresh_text_box() argument
30 print_page(box, boxh, boxw, update_text, data); in refresh_text_box()
40 * keys is a null-terminated array
45 update_text_fn update_text, void *data) in dialog_textbox() argument
48 int height, width, boxh, boxw; in dialog_textbox() local
69 getmaxyx(stdscr, height, width); in dialog_textbox()
70 if (height < TEXTBOX_HEIGTH_MIN || width < TEXTBOX_WIDTH_MIN) in dialog_textbox()
71 return -ERRDISPLAYTOOSMALL; in dialog_textbox()
76 height -= 4; in dialog_textbox()
80 width = initial_width; in dialog_textbox()
82 if (width > 5) in dialog_textbox()
83 width -= 5; in dialog_textbox()
85 width = 0; in dialog_textbox()
88 x = (getmaxx(stdscr) - width) / 2; in dialog_textbox()
89 y = (getmaxy(stdscr) - height) / 2; in dialog_textbox()
91 draw_shadow(stdscr, y, x, height, width); in dialog_textbox()
93 dialog = newwin(height, width, y, x); in dialog_textbox()
97 boxh = height - 4; in dialog_textbox()
98 boxw = width - 2; in dialog_textbox()
106 draw_box(dialog, 0, 0, height, width, in dialog_textbox()
110 mvwaddch(dialog, height - 3, 0, ACS_LTEE); in dialog_textbox()
111 for (i = 0; i < width - 2; i++) in dialog_textbox()
117 print_title(dialog, title, width); in dialog_textbox()
119 print_button(dialog, " Exit ", height - 2, width / 2 - 4, TRUE); in dialog_textbox()
126 data); in dialog_textbox()
146 data); in dialog_textbox()
157 cur_x, update_text, data); in dialog_textbox()
167 cur_x, update_text, data); in dialog_textbox()
177 cur_x, update_text, data); in dialog_textbox()
185 back_lines(page_length - 1); in dialog_textbox()
187 cur_x, update_text, data); in dialog_textbox()
197 cur_x, update_text, data); in dialog_textbox()
209 hscroll--; in dialog_textbox()
213 cur_x, update_text, data); in dialog_textbox()
224 cur_x, update_text, data); in dialog_textbox()
284 page--; in back_lines()
290 page--; in back_lines()
299 static void print_page(WINDOW *win, int height, int width, update_text_fn in print_page() argument
300 update_text, void *data) in print_page() argument
311 update_text(buf, page - buf, end - buf, data); in print_page()
316 print_line(win, i, width); in print_page()
328 static void print_line(WINDOW * win, int row, int width) in print_line() argument
336 waddnstr(win, line, MIN(strlen(line), width - 2)); in print_line()
343 for (i = 0; i < width - x; i++) in print_line()
392 percent = (page - buf) * 100 / strlen(buf); in print_position()
393 wmove(win, getmaxy(win) - 3, getmaxx(win) - 9); in print_position()