summaryrefslogtreecommitdiff
path: root/amiga/bitmap.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2009-06-23 21:29:44 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2009-06-23 21:29:44 +0000
commit507cfe93139f94306d2ac4c0655ff8597c2368fd (patch)
tree9addf79d6fdc51b8c8ed3ba93184c37990933f0f /amiga/bitmap.c
parent050e776119bfdeffe957ddcda10a2affa943aaeb (diff)
downloadnetsurf-507cfe93139f94306d2ac4c0655ff8597c2368fd.tar.gz
netsurf-507cfe93139f94306d2ac4c0655ff8597c2368fd.tar.bz2
Rendering tab in options all done, new option to improve the scale quality (bilinear
filtering). This needs to be tested on 4.0 as I'm not sure if bilinear is valid there, might need to be BSAF_AVERAGE. svn path=/trunk/netsurf/; revision=7939
Diffstat (limited to 'amiga/bitmap.c')
-rw-r--r--amiga/bitmap.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/amiga/bitmap.c b/amiga/bitmap.c
index 31b9f11e3..5e9c16e03 100644
--- a/amiga/bitmap.c
+++ b/amiga/bitmap.c
@@ -359,12 +359,15 @@ struct BitMap *ami_getcachenativebm(struct bitmap *bitmap,int width,int height,s
if(GfxBase->lib_Version >= 53) // AutoDoc says v52, but this function isn't in OS4.0, so checking for v53 (OS4.1)
{
uint32 comptype = COMPOSITE_Src;
+ uint32 flags = COMPFLAG_IgnoreDestAlpha;
+
if(!bitmap->opaque) comptype = COMPOSITE_Src_Over_Dest;
+ if(option_scale_quality) flags |= COMPFLAG_SrcFilter;
CompositeTags(comptype,tbm,scaledbm,
COMPTAG_ScaleX,COMP_FLOAT_TO_FIX(width/bitmap->width),
COMPTAG_ScaleY,COMP_FLOAT_TO_FIX(height/bitmap->height),
- COMPTAG_Flags,COMPFLAG_IgnoreDestAlpha,
+ COMPTAG_Flags, flags,
COMPTAG_DestX,0,
COMPTAG_DestY,0,
COMPTAG_DestWidth,width,
@@ -392,6 +395,7 @@ struct BitMap *ami_getcachenativebm(struct bitmap *bitmap,int width,int height,s
bsa.bsa_SrcBitMap = tbm;
bsa.bsa_DestBitMap = scaledbm;
bsa.bsa_Flags = 0;
+ if(option_scale_quality) bsa.bsa_Flags = BSAF_BILINEAR;
BitMapScale(&bsa);
}