diff --git a/src/demo/intro.c b/src/demo/intro.c index 06c2f4d0d..b449c5e2b 100644 --- a/src/demo/intro.c +++ b/src/demo/intro.c @@ -80,14 +80,16 @@ orcashow(struct notcurses* nc, int dimy, int dimx){ }; int odimy, odimx, scaley, scalex; ncvisual_blitter_geom(nc, ncv, &vopts, &odimy, &odimx, &scaley, &scalex, NULL); - int rows = (odimy / scaley) + !!(odimy % scaley); - int cols = (odimx / scalex) + !!(odimx % scalex); - if(cols > dimx || rows > dimy - 1){ - ncvisual_destroy(ncv); - return NULL; + vopts.leny = (odimy / scaley) + !!(odimy % scaley); + vopts.lenx = (odimx / scalex) + !!(odimx % scalex); + if(vopts.lenx > dimx - 1){ + vopts.lenx = dimx - 1; + } + if(vopts.leny > dimy - 1){ + vopts.leny = dimy - 1; } - vopts.y = dimy - rows - 1; - vopts.x = dimx - cols; + vopts.y = dimy - vopts.leny - 1; + vopts.x = dimx - vopts.lenx - 1; struct ncplane* n = ncvisual_render(nc, ncv, &vopts); ncvisual_destroy(ncv); return n;