drop ncplane_erase() from slider

pull/287/head
nick black 5 years ago committed by Nick Black
parent 98fe08727b
commit ed783fe421

@ -183,6 +183,6 @@ int fallin_demo(struct notcurses* nc){
assert(ncvisual_decode(ncv, &averr) == NULL); assert(ncvisual_decode(ncv, &averr) == NULL);
assert(averr == AVERROR_EOF); assert(averr == AVERROR_EOF);
ncvisual_destroy(ncv); ncvisual_destroy(ncv);
ncplane_pulse(notcurses_stdplane(ncv), &demodelay, pulser); ncplane_pulse(notcurses_stdplane(nc), &demodelay, pulser);
return ret; return ret;
} }

@ -159,7 +159,6 @@ int sliding_puzzle_demo(struct notcurses* nc){
int wastey = ((maxy - 2) - (CHUNKS_VERT * chunky)) / 2; int wastey = ((maxy - 2) - (CHUNKS_VERT * chunky)) / 2;
int wastex = ((maxx - 2) - (CHUNKS_HORZ * chunkx)) / 2; int wastex = ((maxx - 2) - (CHUNKS_HORZ * chunkx)) / 2;
struct ncplane* n = notcurses_stdplane(nc); struct ncplane* n = notcurses_stdplane(nc);
ncplane_erase(n);
const int chunkcount = CHUNKS_VERT * CHUNKS_HORZ; const int chunkcount = CHUNKS_VERT * CHUNKS_HORZ;
struct ncplane** chunks = malloc(sizeof(*chunks) * chunkcount); struct ncplane** chunks = malloc(sizeof(*chunks) * chunkcount);
if(chunks == NULL){ if(chunks == NULL){

@ -443,7 +443,7 @@ int witherworm_demo(struct notcurses* nc){
NULL NULL
}; };
const char** s; const char** s;
const int steps[] = { 0, 0x10040, 0x100, 0x100, 0x10001, }; const int steps[] = { 0, 0x10040, 0x20110, 0x120, 0x12020, };
const int starts[] = { 0, 0x10101, 0x004000, 0x000040, 0x400040, }; const int starts[] = { 0, 0x10101, 0x004000, 0x000040, 0x400040, };
struct ncplane* n = notcurses_stdplane(nc); struct ncplane* n = notcurses_stdplane(nc);
@ -472,49 +472,47 @@ int witherworm_demo(struct notcurses* nc){
y = 0; y = 0;
x = 0; x = 0;
ncplane_set_bg_rgb(n, 20, 20, 20); ncplane_set_bg_rgb(n, 20, 20, 20);
do{ // we fill up the entire screen, however large, walking our strtable do{ // we fill up the screen, however large, bouncing around our strtable
s = strs; s = strs + random() % ((sizeof(strs) / sizeof(*strs)) - 1);
for(s = strs ; *s ; ++s){ size_t idx = 0;
size_t idx = 0; ncplane_cursor_yx(n, &y, &x);
ncplane_cursor_yx(n, &y, &x);
// fprintf(stderr, "%02d %s\n", y, *s); // fprintf(stderr, "%02d %s\n", y, *s);
while((*s)[idx]){ // each multibyte char of string while((*s)[idx]){ // each multibyte char of string
if(ncplane_set_fg_rgb(n, channel_r(rgb), channel_g(rgb), channel_b(rgb))){ if(ncplane_set_fg_rgb(n, channel_r(rgb), channel_g(rgb), channel_b(rgb))){
return -1; return -1;
} }
if(y >= maxy || x >= maxx){ if(y >= maxy || x >= maxx){
break; break;
} }
wchar_t wcs; wchar_t wcs;
int eaten = mbtowc(&wcs, &(*s)[idx], MB_CUR_MAX + 1); int eaten = mbtowc(&wcs, &(*s)[idx], MB_CUR_MAX + 1);
if(eaten < 0){ if(eaten < 0){
return -1; return -1;
} }
if(iswspace(wcs)){ if(iswspace(wcs)){
idx += eaten; idx += eaten;
continue; continue;
} }
int ulen = 0; int ulen = 0;
int r; int r;
if(wcwidth(wcs) <= maxx - x){ if(wcwidth(wcs) <= maxx - x){
if((r = ncplane_putegc(n, &(*s)[idx], &ulen)) < 0){ if((r = ncplane_putegc(n, &(*s)[idx], &ulen)) < 0){
if(ulen < 0){ if(ulen < 0){
return -1;
}
}
}else{
if((r = ncplane_putsimple(n, '#')) < 1){
return -1; return -1;
} }
} }
ncplane_cursor_yx(n, &y, &x); }else{
idx += ulen; if((r = ncplane_putsimple(n, '#')) < 1){
bytes_out += ulen; return -1;
cols_out += r; }
++egcs_out;
} }
rgb += step; ncplane_cursor_yx(n, &y, &x);
idx += ulen;
bytes_out += ulen;
cols_out += r;
++egcs_out;
} }
rgb += step;
}while(y < maxy && x < maxx); }while(y < maxy && x < maxx);
struct ncplane* math = mathplane(nc); struct ncplane* math = mathplane(nc);
if(math == NULL){ if(math == NULL){
@ -525,7 +523,7 @@ int witherworm_demo(struct notcurses* nc){
return -1; return -1;
} }
if(message(mess, maxy, maxx, i, sizeof(steps) / sizeof(*steps), if(message(mess, maxy, maxx, i, sizeof(steps) / sizeof(*steps),
bytes_out, egcs_out, cols_out)){ bytes_out, egcs_out, cols_out)){
return -1; return -1;
} }
if(demo_render(nc)){ if(demo_render(nc)){

Loading…
Cancel
Save