summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2022-08-31 17:22:08 +0200
committerCaolán McNamara <caolanm@redhat.com>2022-09-01 13:17:19 +0200
commit6a57652cfc2e46a271091246cd867804c39f845c (patch)
tree6b78ab2f0d8934e194fab612278ca31d98f0e503
parentf5e3b0a7966d7d28817292adbb58fb43f28b7c6d (diff)
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 <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--drawinglayer/source/processor2d/vclpixelprocessor2d.cxx6
-rw-r--r--include/drawinglayer/geometry/viewinformation2d.hxx2
2 files changed, 6 insertions, 2 deletions
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