diff --git a/src/lib/visual.c b/src/lib/visual.c index 350434bf0..93d0c5d61 100644 --- a/src/lib/visual.c +++ b/src/lib/visual.c @@ -300,25 +300,26 @@ int ncvisual_geom_inner(const tinfo* ti, const ncvisual* n, geom->pixx = n->pixx; return 0; } + // determine our blitter + const struct blitset* bset = rgba_blitter(ti, vopts); + if(!bset){ + logerror("Couldn't get a blitter for %d\n", vopts ? vopts->blitter : NCBLIT_DEFAULT); + return -1; + } + geom->cdimy = ti->cellpixy; + geom->cdimx = ti->cellpixx; + if((geom->blitter = bset->geom) == NCBLIT_PIXEL){ + geom->maxpixely = ti->sixel_maxy_pristine; + geom->maxpixelx = ti->sixel_maxx; + geom->scaley = ti->cellpixy; + geom->scalex = ti->cellpixx; + }else{ + geom->scaley = bset->height; + geom->scalex = bset->width; + } // when n is NULL, we only report properties unrelated to the ncvisual, // i.e. the cell-pixel geometry, max bitmap geometry, blitter, and scaling. if(n == NULL){ - const struct blitset* bset = rgba_blitter(ti, vopts); - if(!bset){ - logerror("Couldn't get a blitter for %d\n", vopts ? vopts->blitter : NCBLIT_DEFAULT); - return -1; - } - geom->cdimy = ti->cellpixy; - geom->cdimx = ti->cellpixx; - if((geom->blitter = bset->geom) == NCBLIT_PIXEL){ - geom->maxpixely = ti->sixel_maxy_pristine; - geom->maxpixelx = ti->sixel_maxx; - geom->scaley = ti->cellpixy; - geom->scalex = ti->cellpixx; - }else{ - geom->scaley = bset->height; - geom->scalex = bset->width; - } return 0; } // FIXME now work with full variant