diff options
| author | Krzysztof Kosi??ski <tweenk.pl@gmail.com> | 2010-07-07 17:21:03 +0000 |
|---|---|---|
| committer | Krzysztof KosiĆski <tweenk.pl@gmail.com> | 2010-07-07 17:21:03 +0000 |
| commit | 2f5eafec8d66d018d760b85a829c1d4ba1b0ed6d (patch) | |
| tree | 271bd139e254192743f02b6686aa33ee39e8c2a7 /src/display/nr-arena-image.cpp | |
| parent | Smaller intermediate rendering regions (diff) | |
| download | inkscape-2f5eafec8d66d018d760b85a829c1d4ba1b0ed6d.tar.gz inkscape-2f5eafec8d66d018d760b85a829c1d4ba1b0ed6d.zip | |
Switch to nearest neighbor filtering when image is larger than original
(bzr r9508.1.12)
Diffstat (limited to 'src/display/nr-arena-image.cpp')
| -rw-r--r-- | src/display/nr-arena-image.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/display/nr-arena-image.cpp b/src/display/nr-arena-image.cpp index f198b176b..325cff65a 100644 --- a/src/display/nr-arena-image.cpp +++ b/src/display/nr-arena-image.cpp @@ -197,6 +197,11 @@ nr_arena_image_render( cairo_t *ct, NRArenaItem *item, NRRectL *area, NRPixBlock cairo_pattern_t *p = cairo_get_source(ct); ink_cairo_pattern_set_matrix(p, image->grid2px); + Geom::Matrix total = item->ctm * image->grid2px.inverse(); + if (total.expansionX() > 1.0 || total.expansionY() > 1.0) { + cairo_pattern_set_filter(p, CAIRO_FILTER_NEAREST); + } + cairo_paint_with_alpha(ct, ((double) item->opacity) / 255.0); cairo_restore(ct); |
