C-Menu 0.2.9
A User Interface Toolkit
Loading...
Searching...
No Matches
ui_ncurses_internal.h
Go to the documentation of this file.
1#ifndef UI_NCURSES_INTERNAL_H
2#define UI_NCURSES_INTERNAL_H 1
3
4/** @file ui_ncurses_internal.h
5 @ingroup ui_backend
6 @brief Internal header for ncurses UI backend.
7 This header defines internal structures and functions used by the ncurses
8 implementation of the UI backend. It should not be included directly by
9 external code.
10 */
11
12#include "../include/ui_backend.h"
13#include <cm.h>
14#include <ncursesw/ncurses.h>
15#include <ncursesw/panel.h>
16#include <stdbool.h>
17
18#define XLEN 256
19
20/** @struct UiRuntime
21 @ingroup ui_backend
22 @brief Runtime state for the ncurses UI backend.
23 This structure holds global state related to the ncurses UI, such as
24 whether mouse support is enabled, whether the alternate screen is active,
25 and the current terminal dimensions.
26 */
27struct UiRuntime {
31 int rows;
32 int cols;
33};
34
35/** @struct UiSurface
36 @ingroup ui_backend
37 @brief Represents a surface in the ncurses UI backend.
38 This structure represents a drawable surface in the ncurses UI, which may
39 correspond to a window or panel. It holds references to the underlying
40 ncurses WINDOW and PANEL, as well as its position, size, and visibility
41 state.
42 */
43struct UiSurface {
44 WINDOW *win;
45 PANEL *pan;
48 int y;
49 int x;
50 int rows;
51 int cols;
52 bool hidden;
53};
54
55int ui_ncurses_style_apply(WINDOW *win, const UiStyle *style);
56int ui_ncurses_color_pair_from_style(const UiStyle *style);
57UiStyle *ui_style_new();
58void ui_style_destroy(UiStyle *);
59UiStyle *ui_style_from_cch(const cchar_t *);
60cchar_t ui_style_to_cch(const UiStyle *, const char *);
61int ui_bkgrnd(UiSurface *, const UiStyle *, const char *);
62int ui_bkgrnd_set(UiSurface *, const UiStyle *, const char *);
63
64#endif
cchar_t CC_YELLOW
Definition dwin.c:216
volatile sig_atomic_t sig_received
Definition sig.c:31
const wchar_t bw_chk
Definition dwin.c:152
bool handle_signal(sig_atomic_t)
int cp_box
Definition dwin.c:179
#define BW_RBL
Definition cm.h:588
#define MAXWIN
Definition cm.h:37
const wchar_t bw_rt
Definition dwin.c:145
int cp_brackets
Definition dwin.c:190
const wchar_t bw_ho
Definition dwin.c:138
int cp_nt
Definition dwin.c:183
int cp_nt_hl
Definition dwin.c:185
int cp_ind
Definition dwin.c:180
int clr_pair_cnt
Definition dwin.c:197
WINDOW * win_win[MAXWIN]
Definition dwin.c:52
cchar_t tl
Definition cm.h:501
cchar_t chk
Definition cm.h:631
cchar_t la
Definition cm.h:631
#define BW_DA
Definition cm.h:599
const wchar_t bw_tl
Definition dwin.c:140
const wchar_t bw_ua
Definition dwin.c:149
cchar_t CC_FILL_CHAR
Definition dwin.c:211
char em1[MAXLEN]
Definition dwin.c:176
PANEL * panel_win2[MAXWIN]
Definition dwin.c:55
cchar_t ua
Definition cm.h:631
int cp_title
Definition dwin.c:182
int tty_fd
Definition dwin.c:219
int cp_yellow
Definition dwin.c:193
#define BW_HO
Definition cm.h:580
WINDOW * win_win2[MAXWIN]
Definition dwin.c:51
#define BW_VE
Definition cm.h:581
int clr_cnt
Definition dwin.c:195
bool f_curses_open
Definition sig.c:33
#define BW_LT
Definition cm.h:590
cchar_t CC_BLUE
Definition dwin.c:217
#define BW_RTR
Definition cm.h:587
cchar_t da
Definition cm.h:631
#define CHYRON_KEYS
Definition cm.h:333
struct termios shell_tioctl curses_tioctl
Definition scriou.c:34
cchar_t br
Definition cm.h:501
WINDOW * mouse_win
Definition dwin.c:118
const wchar_t bw_tr
Definition dwin.c:141
cchar_t CC_NT
Definition dwin.c:204
cchar_t rs
Definition cm.h:501
#define BW_RT
Definition cm.h:592
cchar_t lt
Definition cm.h:631
int clr_pair_idx
Definition dwin.c:196
cchar_t CC_GREEN
Definition dwin.c:215
cchar_t ran
Definition cm.h:631
const wchar_t bw_ran
Definition dwin.c:151
int cp_blue
Definition dwin.c:194
cchar_t CC_IND
Definition dwin.c:200
cchar_t CC_BRKTL
Definition cm.h:494
const wchar_t bw_sp
Definition dwin.c:146
int border_draw(WINDOW *)
Definition dwin.c:1236
const wchar_t bw_ra
Definition dwin.c:147
cchar_t CC_BOX
Definition dwin.c:199
#define BW_UA
Definition cm.h:598
const wchar_t bw_da
Definition dwin.c:150
cchar_t sp
Definition cm.h:631
cchar_t CC_TITLE
Definition dwin.c:203
int cp_red
Definition dwin.c:191
#define BW_RAN
Definition cm.h:600
const wchar_t bw_lt
Definition dwin.c:144
SCREEN * screen
Definition dwin.c:42
cchar_t bl
Definition cm.h:501
const wchar_t bw_la
Definition dwin.c:148
int click_x
Definition dwin.c:81
int cp_nt_hl_rev
Definition dwin.c:186
#define CHYRON_KEY_MAXLEN
Definition cm.h:330
int src_line
Definition dwin.c:172
cchar_t CC_RED
Definition dwin.c:214
char * src_name
Definition dwin.c:173
#define BW_SP
Definition cm.h:595
#define BW_RBR
Definition cm.h:589
PANEL * panel_win[MAXWIN]
Definition dwin.c:56
const wchar_t bw_bl
Definition dwin.c:142
int win_ptr
Definition dwin.c:164
@ CLR_CMDLN_BG
Definition cm.h:187
@ CLR_FILL_CHAR_BG
Definition cm.h:183
@ CLR_BOX_BG
Definition cm.h:177
@ CLR_FILL_CHAR_FG
Definition cm.h:182
@ CLR_FG
Definition cm.h:174
@ CLR_RED
Definition cm.h:158
@ CLR_NT_FG
Definition cm.h:188
@ CLR_BRACKETS_FG
Definition cm.h:180
@ CLR_YELLOW
Definition cm.h:160
@ CLR_IND_FG
Definition cm.h:178
@ CLR_BCYAN
Definition cm.h:171
@ CLR_TITLE_FG
Definition cm.h:196
@ CLR_WHITE
Definition cm.h:164
@ CLR_MAGENTA
Definition cm.h:162
@ CLR_BRACKETS_BG
Definition cm.h:181
@ CLR_NT_REV_BG
Definition cm.h:191
@ CLR_BLACK
Definition cm.h:157
@ CLR_BWHITE
Definition cm.h:172
@ CLR_LN_BG
Definition cm.h:185
@ CLR_NT_HL_REV_BG
Definition cm.h:195
@ CLR_BBLACK
Definition cm.h:165
@ CLR_LN_FG
Definition cm.h:184
@ CLR_NT_HL_FG
Definition cm.h:192
@ CLR_BBLUE
Definition cm.h:169
@ CLR_BGREEN
Definition cm.h:167
@ CLR_BYELLOW
Definition cm.h:168
@ CLR_BMAGENTA
Definition cm.h:170
@ CLR_BORANGE
Definition cm.h:173
@ CLR_NT_HL_BG
Definition cm.h:193
@ CLR_NT_HL_REV_FG
Definition cm.h:194
@ CLR_BG
Definition cm.h:175
@ CLR_BOX_FG
Definition cm.h:176
@ CLR_NT_BG
Definition cm.h:189
@ CLR_TITLE_BG
Definition cm.h:197
@ CLR_BRED
Definition cm.h:166
@ CLR_NCOLORS
Definition cm.h:198
@ CLR_BLUE
Definition cm.h:161
@ CLR_IND_BG
Definition cm.h:179
@ CLR_GREEN
Definition cm.h:159
@ CLR_CMDLN_FG
Definition cm.h:186
@ CLR_NT_REV_FG
Definition cm.h:190
@ CLR_CYAN
Definition cm.h:163
#define BW_LA
Definition cm.h:597
int exit_code
Definition dwin.c:159
FILE * tty_fp
Definition dwin.c:43
#define BW_RA
Definition cm.h:596
int cp_green
Definition dwin.c:192
int click_y
Definition dwin.c:80
#define min(x, y)
min macro evaluates two expressions, returning least result
Definition cm.h:89
char em0[MAXLEN]
Definition dwin.c:175
cchar_t CC_NT_HL
Definition dwin.c:207
cchar_t ts
Definition cm.h:501
char em3[MAXLEN]
Definition dwin.c:178
cchar_t CC_CMDLN
Definition dwin.c:202
PANEL * panel_box[MAXWIN]
Definition dwin.c:57
char const colors_text[][10]
Color names for .minitrc overrides.
Definition dwin.c:133
#define BW_CHK
Definition cm.h:603
const wchar_t bw_ve
Definition dwin.c:139
cchar_t CC_NT_REV
Definition dwin.c:205
int cp_nt_rev
Definition dwin.c:184
#define BW_RTL
Definition cm.h:586
cchar_t tr
Definition cm.h:501
cchar_t ra
Definition cm.h:631
cchar_t ls
Definition cm.h:631
int win_attr
Definition dwin.c:162
cchar_t rt
Definition cm.h:631
WINDOW * win_box[MAXWIN]
Definition dwin.c:53
int cp_fill_char
Definition dwin.c:189
char fn[MAXLEN]
Definition dwin.c:174
char em2[MAXLEN]
Definition dwin.c:177
const wchar_t bw_br
Definition dwin.c:143
cchar_t bs
Definition cm.h:501
cchar_t CC_BRKTR
Definition cm.h:495
cchar_t CC_LN
Definition dwin.c:201
cchar_t CC_NT_HL_REV
Definition dwin.c:206
#define max(a, b)
max macro evaluates two expressions, returning greatest result.
Definition cm.h:82
int ui_bkgrnd(UiSurface *, const UiStyle *, const char *)
Definition ui_ncurses.c:330
int ui_bkgrnd_set(UiSurface *, const UiStyle *, const char *)
Definition ui_ncurses.c:338
void ui_style_destroy(UiStyle *)
Definition ui_ncurses.c:387
UiStyle * ui_style_from_cch(const cchar_t *)
Definition ui_ncurses.c:345
UiStyle * ui_style_new()
Definition ui_ncurses.c:374
cchar_t ui_style_to_cch(const UiStyle *, const char *)
Definition ui_ncurses.c:393
#define TRUE
Definition iloan.c:19
#define MAXLEN
Definition curskeys.c:15
int box_attr
Definition dwin.c:163
unsigned int cmd_key
Definition dwin.c:160
WINDOW * win_main
Definition dwin.c:82
int pipe_in
Definition dwin.c:219
bool f_sigwench
Definition dwin.c:161
int m_cols
Definition dwin.c:166
UiSurface * ui_box[MAXWIN]
Definition dwin.c:46
RGB StdColors[16]
Definition dwin.c:127
int m_begy
Definition dwin.c:167
int m_begx
Definition dwin.c:168
int stdout_fd
Definition dwin.c:171
double BLUE_GAMMA
Definition dwin.c:157
cchar_t CC_NORM
Definition dwin.c:208
int mouse_support
Definition dwin.c:169
int cp_ln
Definition dwin.c:187
int m_lines
Definition dwin.c:165
UiSurface * ui_win2[MAXWIN]
Definition dwin.c:48
UiRuntime * ui_runtime
Definition dwin.c:44
cchar_t CC_BG
Definition dwin.c:198
cchar_t CC_RAN
Definition dwin.c:213
UiRect ui_rect
Definition dwin.c:49
UiSurface * ui_win[MAXWIN]
Definition dwin.c:47
cchar_t CC_CHK
Definition dwin.c:212
int stdin_fd
Definition dwin.c:170
double GRAY_GAMMA
Definition dwin.c:154
double RED_GAMMA
Definition dwin.c:155
int cp_cmdln
Definition dwin.c:181
PANEL * panel_main
Definition dwin.c:83
int pipe_out
Definition dwin.c:219
double GREEN_GAMMA
Definition dwin.c:156
UiConfig * ui_config
Definition dwin.c:45
int cp_norm
Definition dwin.c:188
WinFlags
Definition dwin.c:36
@ WF_WIN2
Definition dwin.c:39
@ WF_BOX
Definition dwin.c:37
@ WF_WIN
Definition dwin.c:38
bool open_curses(SIO *)
Initialize NCurses and color settings.
Definition dwin.c:244
int border_title(WINDOW *, char *)
Draw a box with a title around the specified window.
Definition dwin.c:1327
int dxwgetch(WINDOW *, WINDOW *, WINDOW *, WINDOW *, WINDOW *, Chyron *, int)
Wrapper for wgetch that handles signals, mouse events, checks for clicks on the chyron line,...
Definition dwin.c:2180
int xwgetch(WINDOW *, Chyron *, int)
Wrapper for wgetch that handles signals, mouse events, checks for clicks on the chyron line,...
Definition dwin.c:2094
void restore_wins()
Restore all windows after a screen resize.
Definition dwin.c:1225
void win_del()
Delete the current window and its associated box window.
Definition dwin.c:1179
void check_panels(int)
Check and display the panels for a given window index.
Definition dwin.c:1090
int border_hsplit_text(WINDOW *, char *, int)
Draw a box with a separator line and text around the specified window.
Definition dwin.c:1289
int bare_box_new(int, int, int, int, char *)
Create a new window with optional box and title.
Definition dwin.c:981
int win_new(int, int)
Create a new window with specified dimensions and position.
Definition dwin.c:1037
int border_hsplit(WINDOW *, int)
Draw a box with a separator line around the specified window.
Definition dwin.c:1269
void win_init_attrs()
Initialize window attributes.
Definition dwin.c:226
void mvwaddstr_fill(WINDOW *, int, int, char *, int)
For lines shorter than their display area, fill the rest with spaces.
Definition dwin.c:1941
int box_new(int, int, int, int, char *)
Create a new window with optional box and title.
Definition dwin.c:967
int box_hsplit_new(int, int, int, int, int, char *)
Create a new window with optional box and title, and a second window inside it, split horizontally.
Definition dwin.c:925
int win2_new(int, int, int, int)
Create a new subwindow (win2) with specified dimensions and position.
Definition dwin.c:1066
int vgetch(WINDOW *, int)
Wrapper for wgetch that handles signals and mouse events, and accepts a single character answer.
Definition dwin.c:2258
void win_resize(int, int, char *)
Resize the current window and its box, and update the title.
Definition dwin.c:1128
void destroy_curses()
Gracefully shut down NCurses and restore terminal settings.
Definition dwin.c:670
void win_redraw(WINDOW *)
Redraw the specified window.
Definition dwin.c:1168
int win2_box_new(int, int, int, int, char *)
Create a new window with optional box and title, and a second window inside it.
Definition dwin.c:952
void initialize_local_colors(SIO *)
Initialize local color variables and color pairs based on SIO settings.
Definition dwin.c:320
void display_cmplx_str(WINDOW *, cchar_t *, int, int)
Display a complex character string on a window.
Definition dwin.c:857
RGB xterm256_idx_to_rgb(int)
Convert XTerm 256 color index to RGB.
Definition dwin.c:483
size_t str_to_cc(cchar_t *, const char *, attr_t, int, size_t)
Convert a multibyte string to an array of cchar_t complex characters.
Definition dwin.c:786
int clr_name_to_idx(char *)
Get color index from color name.
Definition dwin.c:1966
void list_colors()
list colors to stderr
Definition dwin.c:1985
int rgb_to_curses_clr(RGB *)
Get color index for RGB color.
Definition dwin.c:432
size_t mk_cmplx_str(cchar_t *, char *, attr_t, int)
Convert a multibyte string to an array of cchar_t complex characters.
Definition dwin.c:828
void init_hex_clr(int, char *)
Initialize extended ncurses color from HTML style hex string.
Definition dwin.c:638
bool init_clr_palette(SIO *)
Initialize color palette based on SIO settings.
Definition dwin.c:546
RGB hex_clr_str_to_rgb(char *)
Convert six-digit HTML style hex color code to RGB struct.
Definition dwin.c:656
void apply_gamma(RGB *)
Apply gamma correction to RGB color.
Definition dwin.c:518
int rgb_to_xterm256_idx(RGB *)
Convert RGB color to XTerm 256 color index.
Definition dwin.c:461
cchar_t mkcc(int, attr_t, const char *)
Create a cchar_t with the specified color pair index.
Definition dwin.c:748
int get_clr_pair(int, int)
Get color pair index for foreground and background colors.
Definition dwin.c:401
WINDOW * message_win(char *)
Display a message in a window or print to stderr if curses is not available.
Definition dwin.c:1377
bool wait_destroy(Chyron *)
Destroy the waiting message window and chyron.
Definition dwin.c:1621
bool waitpid_with_timeout(pid_t, int)
Wait for a process to finish with a timeout and optional user cancellation.
Definition dwin.c:2033
bool action_disposition(char *eitle, char *action_str)
Display a simple action disposition message window or print to stderr.
Definition dwin.c:1651
int nf_error(int, char *)
Display error message and wait for key press.
Definition dwin.c:2006
int answer_yn(char *, char *, char *, char *)
Accept a single letter answer.
Definition dwin.c:1406
int wait_continue(WINDOW *, Chyron *, int)
Update the waiting message with remaining time and check for user input.
Definition dwin.c:1636
WINDOW * wait_mk_win(Chyron *, char *)
Display a popup waiting message.
Definition dwin.c:1589
int Perror(char *)
Display a simple error message window or print to stderr.
Definition dwin.c:1526
void abend(int, char *)
Abnormal program termination.
Definition dwin.c:2018
Chyron * wait_mk_chyron()
Create a Chyron struct for the waiting message.
Definition dwin.c:1576
int display_error(char *, char *, char *, char *)
Display an error message window or print to stderr.
Definition dwin.c:1467
bool is_set_chyron_key(Chyron *, int)
Check if function key label is set.
Definition dwin.c:1743
void set_chyron_key(Chyron *, int, char *, int)
Set chyron key with default color pair (cp_nt_rev).
Definition dwin.c:1783
void display_chyron(WINDOW *, Chyron *, int, int)
Display chyron on window.
Definition dwin.c:1892
Chyron * destroy_chyron(Chyron *chyron)
Destroy Chyron structure.
Definition dwin.c:1722
void activate_chyron_key(Chyron *, int)
Activate chyron key.
Definition dwin.c:1807
int get_chyron_key(Chyron *, int)
Get keycode from chyron.
Definition dwin.c:1917
void set_chyron_key_cp(Chyron *, int, char *, int, int)
Set chyron key with color pair (cp).
Definition dwin.c:1759
void compile_chyron(Chyron *)
construct the chyron string from the chyron structure
Definition dwin.c:1848
void activate_all_chyron_keys(Chyron *)
Deactivate chyron key.
Definition dwin.c:1816
void unset_chyron_key(Chyron *, int)
Unset chyron key.
Definition dwin.c:1798
int mb_to_cc(cchar_t *, char *, attr_t, int, int *, int)
Convert multibyte string to complex character array.
Definition dwin.c:705
void deactivate_all_chyron_keys(Chyron *)
Deactivate all chyron keys.
Definition dwin.c:1834
void deactivate_chyron_key(Chyron *, int)
Deactivate chyron key.
Definition dwin.c:1826
Chyron * new_chyron()
Create and initialize Chyron structure.
Definition dwin.c:1701
size_t strnz__cpy(char *, const char *, size_t)
safer alternative to strncpy
Definition futil.c:544
bool str_to_lower(char *)
Converts a string to lowercase.
Definition futil.c:508
void ui_rect_set(UiRect *, int, int, int, int)
Set the properties of a UiRect structure.
Definition dwin.c:908
size_t strnz(char *, size_t)
terminates string at New Line, Carriage Return, or max_len
Definition futil.c:615
size_t ssnprintf(char *, size_t, const char *,...)
ssnprintf was designed to be a safer alternative to snprintf.
Definition futil.c:420
int wccp_to_str(wchar_t, uint8_t *)
Converts a Unicode code point to a UTF-8 encoded string.
Definition dwin.c:871
size_t strnz__cat(char *, const char *, size_t)
safer alternative to strncat
Definition futil.c:573
char di_getch()
get single character from terminal in raw mode
Definition scriou.c:148
bool restore_curses_tioctl()
restore_curses_tioctl() - restore curses terminal settings
Definition scriou.c:81
bool mk_raw_tioctl(struct termios *)
mk_raw_tioctl() - set terminal to raw mode
Definition scriou.c:126
bool restore_shell_tioctl()
restore_shell_tioctl() - restore shell terminal settings
Definition scriou.c:56
void sig_dfl_mode()
Set signal handlers to default behavior.
Definition sig.c:42
void ui_get_screen_size(UiRuntime *ui, int *rows, int *cols)
Get the current screen size.
Definition ui_ncurses.c:257
int ui_ncurses_style_apply(WINDOW *win, const UiStyle *style)
Apply a UiStyle to an ncurses window.This function sets the appropriate attributes (bold,...
int ui_ncurses_color_pair_from_style(const UiStyle *style)
Convert an RGB value (0-255) to a 1000-based value for ncurses.Ncurses uses a 1000-based color system...
char text[CHYRON_KEY_MAXLEN]
Definition cm.h:337
int end_pos
Definition cm.h:340
int cp
Definition cm.h:341
int keycode
Definition cm.h:339
bool active
Definition cm.h:336
int l
Definition cm.h:348
cchar_t cmplx_buf[MAXLEN]
Definition cm.h:347
ChyronKey * key[CHYRON_KEYS]
Definition cm.h:345
int r
Definition cm.h:382
int b
Definition cm.h:382
int g
Definition cm.h:382
char nt_hl_rev_bg[COLOR_LEN]
Definition cm.h:852
double green_gamma
Definition cm.h:807
char nt_rev_bg[COLOR_LEN]
Definition cm.h:846
char ln_fg[COLOR_LEN]
Definition cm.h:839
char black[COLOR_LEN]
Definition cm.h:810
char title_bg[COLOR_LEN]
Definition cm.h:854
double blue_gamma
Definition cm.h:808
char bred[COLOR_LEN]
Definition cm.h:820
char yellow[COLOR_LEN]
Definition cm.h:813
char nt_hl_bg[COLOR_LEN]
Definition cm.h:848
int stdout_fd
Definition cm.h:861
char nt_hl_fg[COLOR_LEN]
Definition cm.h:847
int stderr_fd
Definition cm.h:862
char ind_fg[COLOR_LEN]
Definition cm.h:833
char bcyan[COLOR_LEN]
Definition cm.h:825
char borange[COLOR_LEN]
Definition cm.h:827
double red_gamma
Definition cm.h:806
char red[COLOR_LEN]
Definition cm.h:811
char nt_fg[COLOR_LEN]
Definition cm.h:843
char magenta[COLOR_LEN]
Definition cm.h:815
char ln_bg[COLOR_LEN]
Definition cm.h:840
char bgreen[COLOR_LEN]
Definition cm.h:821
char nt_rev_fg[COLOR_LEN]
Definition cm.h:845
char brackets_fg[COLOR_LEN]
Definition cm.h:835
char fill_char_fg[COLOR_LEN]
Definition cm.h:837
char byellow[COLOR_LEN]
Definition cm.h:822
char bwhite[COLOR_LEN]
Definition cm.h:826
char box_bg[COLOR_LEN]
Definition cm.h:832
char fg[COLOR_LEN]
Definition cm.h:829
char cyan[COLOR_LEN]
Definition cm.h:816
char brackets_bg[COLOR_LEN]
Definition cm.h:836
char box_fg[COLOR_LEN]
Definition cm.h:831
char tty_name[MAXLEN]
Definition cm.h:855
char fill_char_bg[COLOR_LEN]
Definition cm.h:838
char green[COLOR_LEN]
Definition cm.h:812
char white[COLOR_LEN]
Definition cm.h:817
char bg[COLOR_LEN]
Definition cm.h:830
char bblue[COLOR_LEN]
Definition cm.h:823
char title_fg[COLOR_LEN]
Definition cm.h:853
char bmagenta[COLOR_LEN]
Definition cm.h:824
char blue[COLOR_LEN]
Definition cm.h:814
char nt_hl_rev_fg[COLOR_LEN]
Definition cm.h:850
int stdin_fd
Definition cm.h:860
double gray_gamma
Definition cm.h:809
char bblack[COLOR_LEN]
Definition cm.h:819
char ind_bg[COLOR_LEN]
Definition cm.h:834
char nt_bg[COLOR_LEN]
Definition cm.h:844
int cols
Definition ui_backend.h:200
int rows
Definition ui_backend.h:199
Opaque structure representing the UI runtime environment.
Opaque structure representing a drawable surface in the UI.
struct UiSurface * parent
struct UiRuntime * runtime