diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2013-11-12 23:54:23 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2013-11-12 23:54:23 +0000 |
| commit | 072f4e717d42b6a70532fb755b8e31a54cd313b6 (patch) | |
| tree | c26166b179735d68a965a6be90ae320133afe012 /src/display/drawing-image.cpp | |
| parent | Update to trunk (diff) | |
| parent | fix C++11 compilation. There A LOT of const_casts in this file... :-( (diff) | |
| download | inkscape-072f4e717d42b6a70532fb755b8e31a54cd313b6.tar.gz inkscape-072f4e717d42b6a70532fb755b8e31a54cd313b6.zip | |
Update to trunk
(bzr r11950.1.199)
Diffstat (limited to 'src/display/drawing-image.cpp')
| -rw-r--r-- | src/display/drawing-image.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/display/drawing-image.cpp b/src/display/drawing-image.cpp index a9c0499c2..1b9214c49 100644 --- a/src/display/drawing-image.cpp +++ b/src/display/drawing-image.cpp @@ -108,13 +108,6 @@ unsigned DrawingImage::_renderItem(DrawingContext &ct, Geom::IntRect const &/*ar if (!outline) { if (!_pixbuf) return RENDER_OK; - - // if (_style) { - // _style->image_rendering.computed - // See: http://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty - // http://www.w3.org/TR/css4-images/#the-image-rendering - // style.h/style.cpp - // } Inkscape::DrawingContext::Save save(ct); ct.transform(_ctm); @@ -126,6 +119,24 @@ unsigned DrawingImage::_renderItem(DrawingContext &ct, Geom::IntRect const &/*ar ct.scale(_scale); ct.setSource(_pixbuf->getSurfaceRaw(), 0, 0); + if (_style) { + // See: http://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty + // http://www.w3.org/TR/css4-images/#the-image-rendering + // style.h/style.cpp + switch (_style->image_rendering.computed) { + case SP_CSS_COLOR_RENDERING_AUTO: + // Do nothing + break; + case SP_CSS_COLOR_RENDERING_OPTIMIZEQUALITY: + ct.patternSetFilter( CAIRO_FILTER_BEST ); + break; + case SP_CSS_COLOR_RENDERING_OPTIMIZESPEED: + default: + ct.patternSetFilter( CAIRO_FILTER_NEAREST ); + break; + } + } + ct.paint(_opacity); } else { // outline; draw a rect instead |
