From 8f43c78e9a607df8c72232f03be4f9a7c80538de Mon Sep 17 00:00:00 2001 From: Armin Le Grand Date: Mon, 23 Jul 2012 15:40:53 +0000 Subject: Resolves: #i120230# Adapt hatch processing for a more pleasant visualisation Adapt hatch processing to keep a view-dependent minimal distance for a more pleasant visualisation (cherry picked from commit 6a036e7ac17a1d4394d60471bd8931d9b16b7bb4) Conflicts: drawinglayer/inc/drawinglayer/attribute/fillhatchattribute.hxx drawinglayer/inc/drawinglayer/primitive2d/fillhatchprimitive2d.hxx drawinglayer/inc/drawinglayer/primitive2d/primitivetools2d.hxx drawinglayer/source/attribute/fillhatchattribute.cxx Change-Id: I15cd784ef7d3e47a20308f16d370c24ef46d2f22 --- drawinglayer/source/attribute/fillhatchattribute.cxx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'drawinglayer/source/attribute') diff --git a/drawinglayer/source/attribute/fillhatchattribute.cxx b/drawinglayer/source/attribute/fillhatchattribute.cxx index e89628b43a69..1d56badae5ee 100644 --- a/drawinglayer/source/attribute/fillhatchattribute.cxx +++ b/drawinglayer/source/attribute/fillhatchattribute.cxx @@ -35,6 +35,7 @@ namespace drawinglayer double mfDistance; double mfAngle; basegfx::BColor maColor; + sal_uInt32 mnMinimalDiscreteDistance; // bitfield unsigned mbFillBackground : 1; @@ -44,11 +45,13 @@ namespace drawinglayer double fDistance, double fAngle, const basegfx::BColor& rColor, + sal_uInt32 nMinimalDiscreteDistance, bool bFillBackground) : meStyle(eStyle), mfDistance(fDistance), mfAngle(fAngle), maColor(rColor), + mnMinimalDiscreteDistance(nMinimalDiscreteDistance), mbFillBackground(bFillBackground) { } @@ -58,6 +61,7 @@ namespace drawinglayer mfDistance(0.0), mfAngle(0.0), maColor(basegfx::BColor()), + mnMinimalDiscreteDistance(3), // same as VCL mbFillBackground(false) { } @@ -67,6 +71,7 @@ namespace drawinglayer double getDistance() const { return mfDistance; } double getAngle() const { return mfAngle; } const basegfx::BColor& getColor() const { return maColor; } + sal_uInt32 getMinimalDiscreteDistance() const { return mnMinimalDiscreteDistance; } bool isFillBackground() const { return mbFillBackground; } bool operator==(const ImpFillHatchAttribute& rCandidate) const @@ -75,7 +80,8 @@ namespace drawinglayer && getDistance() == rCandidate.getDistance() && getAngle() == rCandidate.getAngle() && getColor() == rCandidate.getColor() - && isFillBackground() == rCandidate.isFillBackground()); + && getMinimalDiscreteDistance() == rCandidate.getMinimalDiscreteDistance() + && isFillBackground() == rCandidate.isFillBackground()); } }; @@ -90,9 +96,11 @@ namespace drawinglayer double fDistance, double fAngle, const basegfx::BColor& rColor, + sal_uInt32 nMinimalDiscreteDistance, bool bFillBackground) : mpFillHatchAttribute(ImpFillHatchAttribute( - eStyle, fDistance, fAngle, rColor, bFillBackground)) + eStyle, fDistance, fAngle, rColor, + nMinimalDiscreteDistance, bFillBackground)) { } @@ -147,6 +155,11 @@ namespace drawinglayer return mpFillHatchAttribute->getColor(); } + sal_uInt32 FillHatchAttribute::getMinimalDiscreteDistance() const + { + return mpFillHatchAttribute->getMinimalDiscreteDistance(); + } + bool FillHatchAttribute::isFillBackground() const { return mpFillHatchAttribute->isFillBackground(); -- cgit