diff options
| author | Niko Kiirala <niko@kiirala.com> | 2007-06-13 14:56:06 +0000 |
|---|---|---|
| committer | kiirala <kiirala@users.sourceforge.net> | 2007-06-13 14:56:06 +0000 |
| commit | 2f214003ec338a1980afb91e25c55be67c7ab2ff (patch) | |
| tree | b738684e90bf887a3e5d57a7ff010c22dc93af91 /src | |
| parent | Filter effects: support for SourceAlpha and BackgroundAlpha (diff) | |
| download | inkscape-2f214003ec338a1980afb91e25c55be67c7ab2ff.tar.gz inkscape-2f214003ec338a1980afb91e25c55be67c7ab2ff.zip | |
Fixed a rendering problem in feOffset
(bzr r3058)
Diffstat (limited to 'src')
| -rw-r--r-- | src/display/nr-filter-offset.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/display/nr-filter-offset.cpp b/src/display/nr-filter-offset.cpp index ee6741d20..3b9c051e2 100644 --- a/src/display/nr-filter-offset.cpp +++ b/src/display/nr-filter-offset.cpp @@ -72,10 +72,17 @@ void FilterOffset::area_enlarge(NRRectL &area, Matrix const &trans) offset[X] -= trans[4]; offset[Y] -= trans[5]; - area.x0 -= static_cast<NR::ICoord>(offset[X]); - area.x1 -= static_cast<NR::ICoord>(offset[X]); - area.y0 -= static_cast<NR::ICoord>(offset[Y]); - area.y1 -= static_cast<NR::ICoord>(offset[Y]); + if (offset[X] > 0) { + area.x0 -= static_cast<NR::ICoord>(offset[X]); + } else { + area.x1 -= static_cast<NR::ICoord>(offset[X]); + } + + if (offset[Y] > 0) { + area.y0 -= static_cast<NR::ICoord>(offset[Y]); + } else { + area.y1 -= static_cast<NR::ICoord>(offset[Y]); + } } } /* namespace NR */ |
