default to NCBLIT_3x2, unify NCBLIT_DEFAULT selection #1088

pull/1097/head
nick black 4 years ago
parent 5613eb6afe
commit 78e5ac670d
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC

@ -3152,11 +3152,11 @@ API extern const struct blitset notcurses_blitters[];
static inline ncblitter_e
ncvisual_default_blitter(bool utf8, ncscale_e scale){
if(utf8){
// NCBLIT_2x2 is better image quality, especially for large images, but
// NCBLIT_3x2 is better image quality, especially for large images, but
// it's not the general default because it doesn't preserve aspect ratio.
// NCSCALE_STRETCH throws away aspect ratio, and can safely use NCBLIT_2x2.
// NCSCALE_STRETCH throws away aspect ratio, and can safely use NCBLIT_3x2.
if(scale == NCSCALE_STRETCH){
return NCBLIT_2x2;
return NCBLIT_3x2;
}
return NCBLIT_2x1;
}

@ -797,9 +797,15 @@ int ncblit_bgrx(const void* data, int linesize, const struct ncvisual_options* v
if(begy < 0 || begx < 0 || lenx < -1 || leny < -1){
return -1;
}
ncblitter_e blitter;
if(!vopts || vopts->blitter == NCBLIT_DEFAULT){
blitter = ncvisual_default_blitter(nc, NCSCALE_NONE);
}else{
blitter = vopts->blitter;
}
const bool degrade = !(vopts->flags & NCVISUAL_OPTION_NODEGRADE);
const struct blitset* bset = lookup_blitset(notcurses_canutf8(nc->nc),
vopts->blitter, degrade);
blitter, degrade);
if(bset == NULL){
return -1;
}
@ -830,9 +836,15 @@ int ncblit_rgba(const void* data, int linesize, const struct ncvisual_options* v
if(begy < 0 || begx < 0 || lenx < -1 || leny < -1){
return -1;
}
ncblitter_e blitter;
if(!vopts || vopts->blitter == NCBLIT_DEFAULT){
blitter = ncvisual_default_blitter(notcurses_canutf8(nc->nc), NCSCALE_NONE);
}else{
blitter = vopts->blitter;
}
const bool degrade = !(vopts->flags & NCVISUAL_OPTION_NODEGRADE);
const struct blitset* bset = lookup_blitset(notcurses_canutf8(nc->nc),
vopts->blitter, degrade);
blitter, degrade);
if(bset == NULL){
return -1;
}

@ -5,9 +5,8 @@
static inline const struct blitset*
lookup_blitset(unsigned utf8, ncblitter_e setid, bool may_degrade) {
if(setid == NCBLIT_DEFAULT){
setid = NCBLIT_2x1;
may_degrade = true;
if(setid == NCBLIT_DEFAULT){ // ought have resolved NCBLIT_DEFAULT before now
return NULL;
}
// the only viable blitter in ASCII is NCBLIT_1x1
if(!utf8 && setid != NCBLIT_1x1){

Loading…
Cancel
Save