debug_tty->printf("\\033[%dC offset(): %-3d currentstyle->charflags=%02x\\n", x, offset(), (unsigned int)current_style().charflags()); // charflags(): show XTERM flags if any
debug_tty->printf("\\033[%dC ", x);
horiz_bracket(disp_cols());
debug_tty->printf("\\033[u"); // recall cursor
@ -403,22 +403,53 @@ return 1; // hit end of test, reset} {}
@@ -403,22 +403,53 @@ return 1; // hit end of test, reset} {}
return 1; // tell parent to move to next test} {}
}
Function {test_esc_attr(bool reset)} {
comment {--- 0010: Test attributes} return_type {static int}
comment {--- 0010: Test attributes} open return_type {static int}
} {
code {static int index = 0;
const char *test[] = {
// Screen 10
"\\033[H\\033[2J" "ESC TEST 0010: Attributes\\n",
" \\033[0;2m Some Dim text \\033[0m \\033[0m Normal text \\033[0m \\033[0;1m Some Bold text \\033[0m\\n"
" \\033[2;3m Dim italic text \\033[0m \\033[3m Normal italic \\033[0m \\033[1;3m Bold italic text \\033[0m\\n"
" \\033[2;4m Dim underline \\033[0m \\033[4m Normal underline \\033[0m \\033[1;4m Bold underline \\033[0m\\n"
" \\033[2;5m Dim blinking \\033[0m \\033[5m Normal blinking \\033[0m \\033[1;5m Bold blinking \\033[0m\\n"
" \\033[2;7m Dim inverse [█] \\033[0m \\033[7m Normal inverse [█] \\033[0m \\033[1;7m Bold inverse [█] \\033[0m\\n"
" \\033[2;9m Dim strikeout \\033[0m \\033[9m Normal strikeout \\033[0m \\033[1;9m Bold strikeout \\033[0m\\n"
" \\033[0;2m Some Dim text [█]\\033[0m \\033[0m Normal text [█]\\033[0m \\033[0;1m Some Bold text [█]\\033[0m\\n"
" \\033[2;3m Dim italic [█]\\033[0m \\033[3m Normal italic [█]\\033[0m \\033[1;3m Bold italic [█]\\033[0m\\n"
" \\033[2;4m Dim underline [█]\\033[0m \\033[4m Normal underline [█]\\033[0m \\033[1;4m Bold underline [█]\\033[0m\\n"
" \\033[2;5m Dim blinking [█]\\033[0m \\033[5m Normal blinking [█]\\033[0m \\033[1;5m Bold blinking [█]\\033[0m\\n"
" \\033[2;7m Dim inverse [█]\\033[0m \\033[7m Normal inverse [█]\\033[0m \\033[1;7m Bold inverse [█]\\033[0m\\n"
" \\033[2;9m Dim strikeout [█]\\033[0m \\033[9m Normal strikeout [█]\\033[0m \\033[1;9m Bold strikeout [█]\\033[0m\\n"
"\\n"
"Xterm Colors With Attributes\\n"
" \\033[2;3m(Dim+Bold attributes should affect brightness of all xterm colors)\033[0m\\n"
" \\033[2;30m Dim Blk(30) [█]\\033[0m \\033[30m Normal Blk(30) [█]\\033[0m \\033[1;30m Bold Blk(30) [█]\\033[0m\\n"
" \\033[2;31m Dim Red(31) [█]\\033[0m \\033[31m Normal Red(31) [█]\\033[0m \\033[1;31m Bold Red(31) [█]\\033[0m\\n"
" \\033[2;32m Dim Grn(32) [█]\\033[0m \\033[32m Normal Grn(32) [█]\\033[0m \\033[1;32m Bold Grn(32) [█]\\033[0m\\n"
" \\033[2;33m Dim Yel(33) [█]\\033[0m \\033[33m Normal Yel(33) [█]\\033[0m \\033[1;33m Bold Yel(33) [█]\\033[0m\\n"
" \\033[2;34m Dim Blu(34) [█]\\033[0m \\033[34m Normal Blu(34) [█]\\033[0m \\033[1;34m Bold Blu(34) [█]\\033[0m\\n"
" \\033[2;35m Dim Mag(35) [█]\\033[0m \\033[35m Normal Mag(35) [█]\\033[0m \\033[1;35m Bold Mag(35) [█]\\033[0m\\n"
" \\033[2;36m Dim Cyn(36) [█]\\033[0m \\033[36m Normal Cyn(36) [█]\\033[0m \\033[1;36m Bold Cyn(36) [█]\\033[0m\\n"
" \\033[2;37m Dim ---(37) [█]\\033[0m \\033[37m Normal ---(37) [█]\\033[0m \\033[1;37m Bold ---(37) [█]\\033[0m\\n"
" \\033[2;38m Dim ---(38) [█]\\033[0m \\033[38m Normal ---(38) [█]\\033[0m \\033[1;38m Bold ---(38) [█]\\033[0m\\n"
" \\033[2;39m Dim Def(39) [█]\\033[0m \\033[39m Normal Def(39) [█]\\033[0m \\033[1;39m Bold Def(39) [█]\\033[0m\\n"
"\\n"
"Xterm Fg/Bg Colors With Attributes\\n"
// walk fg colors 30..36, bg reset (49+0)
" Fg Bold:\\033[1;49;30m█ Def █\\033[31m█ Red █\\033[32m█ Grn █\\033[33m█ Yel █\\033[34m█ Blu █\\033[35m█ Mag █\\033[36m█ Cyn █\\033[0m "
" \\033[00;1;30m█ Def █\\033[31m█ Red █\\033[32m█ Grn █\\033[33m█ Yel █\\033[34m█ Blu █\\033[35m█ Mag █\\033[36m█ Cyn █\\033[0m\\n"
" Fg Norm:\\033[0;49;30m█ Def █\\033[31m█ Red █\\033[32m█ Grn █\\033[33m█ Yel █\\033[34m█ Blu █\\033[35m█ Mag █\\033[36m█ Cyn █\\033[0m "
" \\033[00;0;30m█ Def █\\033[31m█ Red █\\033[32m█ Grn █\\033[33m█ Yel █\\033[34m█ Blu █\\033[35m█ Mag █\\033[36m█ Cyn █\\033[0m\\n"
" Fg Dim:\\033[2;49;30m█ Def █\\033[31m█ Red █\\033[32m█ Grn █\\033[33m█ Yel █\\033[34m█ Blu █\\033[35m█ Mag █\\033[36m█ Cyn █\\033[0m "
" \\033[00;2;30m█ Def █\\033[31m█ Red █\\033[32m█ Grn █\\033[33m█ Yel █\\033[34m█ Blu █\\033[35m█ Mag █\\033[36m█ Cyn █\\033[0m\\n"
"\\n"
// walk bg colors 40..46, fg reset (39+0)
" Bg Bold:\\033[1;39;40m█ Def █\\033[41m█ Red █\\033[42m█ Grn █\\033[43m█ Yel █\\033[44m█ Blu █\\033[45m█ Mag █\\033[46m█ Cyn █\\033[0m "
" \\033[00;1;40m█ Def █\\033[41m█ Red █\\033[42m█ Grn █\\033[43m█ Yel █\\033[44m█ Blu █\\033[45m█ Mag █\\033[46m█ Cyn █\\033[0m\\n"
" Bg Norm:\\033[0;39;40m█ Def █\\033[41m█ Red █\\033[42m█ Grn █\\033[43m█ Yel █\\033[44m█ Blu █\\033[45m█ Mag █\\033[46m█ Cyn █\\033[0m "
" \\033[00;0;40m█ Def █\\033[41m█ Red █\\033[42m█ Grn █\\033[43m█ Yel █\\033[44m█ Blu █\\033[45m█ Mag █\\033[46m█ Cyn █\\033[0m\\n"
" Bg Dim:\\033[2;39;40m█ Def █\\033[41m█ Red █\\033[42m█ Grn █\\033[43m█ Yel █\\033[44m█ Blu █\\033[45m█ Mag █\\033[46m█ Cyn █\\033[0m "
" \\033[00;2;40m█ Def █\\033[41m█ Red █\\033[42m█ Grn █\\033[43m█ Yel █\\033[44m█ Blu █\\033[45m█ Mag █\\033[46m█ Cyn █\\033[0m\\n"
tooltip {The (XTERM) colors can be influenced by Dim/Bold, whereas the (RGB) colors are not.} xywh {379 206 180 20} down_box BORDER_BOX labelsize 9 textsize 9
} {
MenuItem {} {
label {White on DarkAmber}
callback {G_tty->color(0x30200000);
label {White on DarkAmber (XTERM)}
callback {G_tty->color(0x30200000); // amber widget bg color
G_tty->textfgcolor_xterm(7); // XTERM_WHITE (influenced by Dim/Bold)
G_tty->textbgcolor(0xffffffff); // "see through" color
update_inputs();
add_lines(5);
}
tooltip {Sets text fg to XTERM White, text bg to "see through", and widget's color() to amber. Text fg can be influenced by Dim/Bold.} xywh {10 10 100 20} labelsize 9
}
MenuItem {} {
label {White on Black (XTERM)}
callback {G_tty->textfgcolor_xterm(7); // XTERM WHITE (influenced by Dim/Bold)
G_tty->textbgcolor(0xffffffff);
G_tty->color(0x00000000);
update_inputs();
add_lines(5);}
tooltip {Sets text fg to XTERM White, text bg to "see through", and widget's color() to black. Text fg can be influenced by Dim/Bold.} xywh {20 20 100 20} labelsize 9 divider
}
MenuItem {} {
label {White on DarkAmber (RGB)}
callback {G_tty->color(0x30200000); // amber widget bg color
G_tty->textfgcolor(0xd0d0d000);
G_tty->textbgcolor(0xffffffff); // "see through" color