mirror of
https://github.com/dankamongmen/notcurses.git
synced 2024-11-18 03:25:55 +00:00
notcurses-input: refresh on start to clear screen in absence of smcup
This commit is contained in:
parent
dd0605939a
commit
0e7e8b02eb
@ -205,7 +205,7 @@ void Ticker(ncpp::NotCurses* nc) {
|
||||
|
||||
int input_demo(ncpp::NotCurses* nc) {
|
||||
constexpr auto PLOTHEIGHT = 6;
|
||||
auto n = std::make_unique<Plane*>(nc->get_stdplane(&dimy, &dimx));
|
||||
auto n = nc->get_stdplane(&dimy, &dimx);
|
||||
ncpp::Plane pplane{PLOTHEIGHT, dimx, dimy - PLOTHEIGHT, 0, nullptr};
|
||||
struct ncplot_options popts{};
|
||||
// FIXME would be nice to switch over to exponential at some level
|
||||
@ -218,14 +218,14 @@ int input_demo(ncpp::NotCurses* nc) {
|
||||
if(!plot){
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
(*n)->set_fg_rgb(0x00, 0x00, 0x00);
|
||||
(*n)->set_bg_rgb(0xbb, 0x64, 0xbb);
|
||||
(*n)->styles_on(CellStyle::Underline);
|
||||
if((*n)->putstr(0, NCAlign::Center, "mash keys, yo. give that mouse some waggle! ctrl+d exits.") <= 0){
|
||||
n->set_fg_rgb(0x00, 0x00, 0x00);
|
||||
n->set_bg_rgb(0xbb, 0x64, 0xbb);
|
||||
n->styles_on(CellStyle::Underline);
|
||||
if(n->putstr(0, NCAlign::Center, "mash keys, yo. give that mouse some waggle! ctrl+d exits.") <= 0){
|
||||
return -1;
|
||||
}
|
||||
(*n)->styles_set(CellStyle::None);
|
||||
(*n)->set_bg_default();
|
||||
n->styles_set(CellStyle::None);
|
||||
n->set_bg_default();
|
||||
if(!nc->render()){
|
||||
return -1;
|
||||
}
|
||||
@ -253,35 +253,35 @@ int input_demo(ncpp::NotCurses* nc) {
|
||||
}
|
||||
mtx.unlock();
|
||||
}
|
||||
if(!(*n)->cursor_move(y, 0)){
|
||||
if(!n->cursor_move(y, 0)){
|
||||
break;
|
||||
}
|
||||
(*n)->set_fg_rgb(0xd0, 0xd0, 0xd0);
|
||||
(*n)->printf("%c%c%c ", ni.alt ? 'A' : 'a', ni.ctrl ? 'C' : 'c',
|
||||
n->set_fg_rgb(0xd0, 0xd0, 0xd0);
|
||||
n->printf("%c%c%c ", ni.alt ? 'A' : 'a', ni.ctrl ? 'C' : 'c',
|
||||
ni.shift ? 'S' : 's');
|
||||
if(r < 0x80){
|
||||
(*n)->set_fg_rgb(128, 250, 64);
|
||||
if((*n)->printf("ASCII: [0x%02x (%03d)] '%lc'", r, r,
|
||||
(wchar_t)(iswprint(r) ? r : printutf8(r))) < 0){
|
||||
n->set_fg_rgb(128, 250, 64);
|
||||
if(n->printf("ASCII: [0x%02x (%03d)] '%lc'", r, r,
|
||||
(wchar_t)(iswprint(r) ? r : printutf8(r))) < 0){
|
||||
break;
|
||||
}
|
||||
}else{
|
||||
if(nckey_supppuab_p(r)){
|
||||
(*n)->set_fg_rgb(250, 64, 128);
|
||||
if((*n)->printf("Special: [0x%02x (%02d)] '%s'", r, r, nckeystr(r)) < 0){
|
||||
n->set_fg_rgb(250, 64, 128);
|
||||
if(n->printf("Special: [0x%02x (%02d)] '%s'", r, r, nckeystr(r)) < 0){
|
||||
break;
|
||||
}
|
||||
if(NCKey::IsMouse(r)){
|
||||
if((*n)->printf(-1, NCAlign::Right, " x: %d y: %d", ni.x, ni.y) < 0){
|
||||
if(n->printf(-1, NCAlign::Right, " x: %d y: %d", ni.x, ni.y) < 0){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
(*n)->set_fg_rgb(64, 128, 250);
|
||||
(*n)->printf("Unicode: [0x%08x] '%lc'", r, (wchar_t)r);
|
||||
n->set_fg_rgb(64, 128, 250);
|
||||
n->printf("Unicode: [0x%08x] '%lc'", r, (wchar_t)r);
|
||||
}
|
||||
}
|
||||
if(!dim_rows(*n)){
|
||||
if(!dim_rows(n)){
|
||||
break;
|
||||
}
|
||||
const uint64_t sec = (timenow_to_ns() - start) / NANOSECS_IN_SEC;
|
||||
@ -322,6 +322,8 @@ int main(void){
|
||||
if(!nc.mouse_enable()){
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
// clear the screen in the absence of smcup mode
|
||||
nc.refresh(nullptr, nullptr);
|
||||
int ret = input_demo(&nc);
|
||||
if(!nc.stop() || ret){
|
||||
return EXIT_FAILURE;
|
||||
|
Loading…
Reference in New Issue
Block a user