2 * This file contains a basic example of BTUI C API usage.
10 btui_t *bt = btui_create(BTUI_MODE_TUI);
15 const char *title = "BTUI C Demo";
16 int w = (int)strlen(title);
17 int center = (bt->width - w) / 2;
19 btui_set_attributes(bt, BTUI_FG_BLUE | BTUI_BG_NORMAL);
20 btui_draw_shadow(bt, center-2, 0, w+4, 3);
22 btui_set_attributes(bt, BTUI_BG_BLUE | BTUI_FG_BLACK);
23 btui_fill_box(bt, center-2, 0, w+4, 3);
25 btui_move_cursor(bt, center, 1);
26 btui_printf(bt, "%s", title);
27 btui_set_attributes(bt, BTUI_NORMAL);
29 btui_set_attributes(bt, BTUI_BOLD);
30 btui_move_cursor(bt, 0, bt->height-2);
31 btui_printf(bt, "Press 'q' to quit");
32 btui_set_attributes(bt, BTUI_NORMAL);
34 btui_set_attributes(bt, BTUI_FAINT);
35 btui_move_cursor(bt, bt->width-16, bt->height-2);
36 btui_printf(bt, "Size = %dx%d", bt->width, bt->height);
37 btui_set_attributes(bt, BTUI_NORMAL);
41 int mouse_x = -1, mouse_y = -1;
42 int key = btui_getkey(bt, -1, &mouse_x, &mouse_y);
43 btui_clear(bt, BTUI_CLEAR_SCREEN);
45 case 'q': case KEY_CTRL_C: done = 1; break;
51 btui_scroll(bt, 1, bt->height-1, +1);
54 btui_scroll(bt, 1, bt->height-1, -1);
62 btui_keyname(key, buf);
64 btui_set_fg_hex(bt, 0xacff40);
65 btui_draw_linebox(bt, x, y, 30, 1);
67 btui_move_cursor(bt, x, y);
68 btui_set_fg_hex(bt, 0xacff40);
69 btui_printf(bt, " Pressed: %s ", buf);
71 btui_set_attributes(bt, BTUI_NORMAL);