drawinglayer/source/processor2d/vclpixelprocessor2d.cxx | 6 ++++-- include/drawinglayer/geometry/viewinformation2d.hxx | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-)
New commits: commit 6a57652cfc2e46a271091246cd867804c39f845c Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Wed Aug 31 17:22:08 2022 +0200 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Thu Sep 1 13:17:19 2022 +0200 fix limiting drawing of softedge effect (tdf#141981) Apparently an empty viewport actually means everything should be drawn. Change-Id: I55ae453a8f264d48222ade48a2953ab7d97c7f79 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138991 Tested-by: Jenkins Tested-by: Caolán McNamara <caol...@redhat.com> Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx index 087f6bcedb37..9eb5a00410ac 100644 --- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx @@ -1072,7 +1072,8 @@ void VclPixelProcessor2D::processGlowPrimitive2D(const primitive2d::GlowPrimitiv // Limit the bitmap size to the visible area. basegfx::B2DRange bitmapRange(aRange); - bitmapRange.intersect(aExpandedViewInfo.getDiscreteViewport()); + if (!aExpandedViewInfo.getDiscreteViewport().isEmpty()) + bitmapRange.intersect(aExpandedViewInfo.getDiscreteViewport()); if (!bitmapRange.isEmpty()) { const tools::Rectangle aRect( @@ -1133,7 +1134,8 @@ void VclPixelProcessor2D::processSoftEdgePrimitive2D( // Limit the bitmap size to the visible area. basegfx::B2DRange bitmapRange(aRange); - bitmapRange.intersect(aExpandedViewInfo.getDiscreteViewport()); + if (!aExpandedViewInfo.getDiscreteViewport().isEmpty()) + bitmapRange.intersect(aExpandedViewInfo.getDiscreteViewport()); if (!bitmapRange.isEmpty()) { const tools::Rectangle aRect( diff --git a/include/drawinglayer/geometry/viewinformation2d.hxx b/include/drawinglayer/geometry/viewinformation2d.hxx index 41d2365cc628..800015f26157 100644 --- a/include/drawinglayer/geometry/viewinformation2d.hxx +++ b/include/drawinglayer/geometry/viewinformation2d.hxx @@ -121,6 +121,7 @@ public: /// data access const basegfx::B2DHomMatrix& getObjectTransformation() const; const basegfx::B2DHomMatrix& getViewTransformation() const; + /// Empty viewport means everything is visible. const basegfx::B2DRange& getViewport() const; double getViewTime() const; const css::uno::Reference<css::drawing::XDrawPage>& getVisualizedPage() const; @@ -130,6 +131,7 @@ public: const basegfx::B2DHomMatrix& getInverseObjectToViewTransformation() const; /// On-demand prepared Viewport in discrete units for convenience + /// Empty viewport means everything is visible. const basegfx::B2DRange& getDiscreteViewport() const; /** support reduced DisplayQuality, PropertyName is 'ReducedDisplayQuality'. This