diff --git a/src/lib/direct.c b/src/lib/direct.c index a7fe7d79b..ca3dd27f0 100644 --- a/src/lib/direct.c +++ b/src/lib/direct.c @@ -1203,6 +1203,7 @@ int ncdirect_stream(ncdirect* n, const char* filename, ncstreamcb streamer, if(x > 0){ ncdirect_cursor_left(n, x); } + // FIXME what about vopts->beg{yx} and vopts->len{yx}? ncdirectv* v = ncdirect_render_visual(n, ncv, vopts->blitter, vopts->scaling, 0, 0, (vopts->flags & NCVISUAL_OPTION_ADDALPHA) ? vopts->transcolor | 0x1000000ul : 0); diff --git a/src/lib/visual.c b/src/lib/visual.c index db1f3b623..3c6dac188 100644 --- a/src/lib/visual.c +++ b/src/lib/visual.c @@ -654,6 +654,8 @@ ncplane* ncvisual_render_cells(notcurses* nc, ncvisual* ncv, const struct blitse } bargs.begy = begy; bargs.begx = begx; + bargs.leny = leny; + bargs.lenx = lenx; bargs.u.cell.placey = placey; bargs.u.cell.placex = placex; bargs.u.cell.blendcolors = flags & NCVISUAL_OPTION_BLEND; @@ -772,8 +774,8 @@ ncplane* ncvisual_render_pixels(notcurses* nc, ncvisual* ncv, const struct blits disppixx -= absplacex * nc->tcache.cellpixx; disppixy -= absplacey * nc->tcache.cellpixy; }else{ - disppixx = ncv->pixx; - disppixy = ncv->pixy; + disppixx = lenx; + disppixy = leny; } if(scaling == NCSCALE_SCALE || scaling == NCSCALE_SCALE_HIRES){ clamp_to_sixelmax(&nc->tcache, &disppixy, &disppixx, &outy, scaling); @@ -795,6 +797,8 @@ ncplane* ncvisual_render_pixels(notcurses* nc, ncvisual* ncv, const struct blits } bargs.begy = begy; bargs.begx = begx; + bargs.leny = leny; + bargs.lenx = lenx; bargs.u.pixel.celldimx = nc->tcache.cellpixx; bargs.u.pixel.celldimy = nc->tcache.cellpixy; bargs.u.pixel.colorregs = nc->tcache.color_registers;