diff options
-rw-r--r-- | basegfx/source/polygon/b2dpolypolygontools.cxx | 18 | ||||
-rw-r--r-- | basegfx/test/B2DPolygonTest.cxx | 19 | ||||
-rw-r--r-- | drawinglayer/source/processor2d/vclpixelprocessor2d.cxx | 10 | ||||
-rw-r--r-- | drawinglayer/source/processor2d/vclprocessor2d.cxx | 10 | ||||
-rw-r--r-- | include/basegfx/polygon/b2dpolygontools.hxx | 3 |
5 files changed, 0 insertions, 60 deletions
diff --git a/basegfx/source/polygon/b2dpolypolygontools.cxx b/basegfx/source/polygon/b2dpolypolygontools.cxx index d537531a4600..062e37da9dae 100644 --- a/basegfx/source/polygon/b2dpolypolygontools.cxx +++ b/basegfx/source/polygon/b2dpolypolygontools.cxx @@ -416,24 +416,6 @@ namespace basegfx return aRetval; } - bool containsOnlyHorizontalOrVerticalLines(const basegfx::B2DPolygon& rPolygon) - { - if (rPolygon.count() <= 1) - return false; - - for (size_t i = 1; i < rPolygon.count(); ++i) - { - const basegfx::B2DPoint& rPrevPoint = rPolygon.getB2DPoint(i - 1); - const basegfx::B2DPoint& rPoint = rPolygon.getB2DPoint(i); - if (rPrevPoint.getX() == rPoint.getX() || rPrevPoint.getY() == rPoint.getY()) - continue; - - return false; - } - - return true; - } - B2DPolyPolygon createSevenSegmentPolyPolygon(sal_Char nNumber, bool bLitSegments) { // config here diff --git a/basegfx/test/B2DPolygonTest.cxx b/basegfx/test/B2DPolygonTest.cxx index 46458574a270..0bb3f15dfdbe 100644 --- a/basegfx/test/B2DPolygonTest.cxx +++ b/basegfx/test/B2DPolygonTest.cxx @@ -22,7 +22,6 @@ #include <cppunit/extensions/HelperMacros.h> #include <basegfx/polygon/b2dpolygon.hxx> -#include <basegfx/polygon/b2dpolygontools.hxx> #include <basegfx/point/b2dpoint.hxx> namespace basegfx @@ -79,30 +78,12 @@ public: aPoly.getB2DPoint(1)); } - void testContainsOnlyHorizontalOrVerticalLines() - { - // First line is horizontal, second is vertical. - B2DPolygon aPoly; - aPoly.append(B2DPoint(0, 1)); - aPoly.append(B2DPoint(1, 1)); - aPoly.append(B2DPoint(1, 0)); - CPPUNIT_ASSERT(utils::containsOnlyHorizontalOrVerticalLines(aPoly)); - - // First line is diagonal, second is vertical. - aPoly.clear(); - aPoly.append(B2DPoint(0, 0)); - aPoly.append(B2DPoint(1, 1)); - aPoly.append(B2DPoint(1, 0)); - CPPUNIT_ASSERT(!utils::containsOnlyHorizontalOrVerticalLines(aPoly)); - } - // Change the following lines only, if you add, remove or rename // member functions of the current class, // because these macros are need by auto register mechanism. CPPUNIT_TEST_SUITE(b2dpolygon); CPPUNIT_TEST(testBasics); - CPPUNIT_TEST(testContainsOnlyHorizontalOrVerticalLines); CPPUNIT_TEST_SUITE_END(); }; // class b2dpolygon diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx index db65dc3de4bb..03012fb5d35a 100644 --- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx @@ -140,16 +140,6 @@ namespace drawinglayer mpOutputDevice->SetLineColor(Color(aLineColor)); //aLocalPolygon.transform(maCurrentTransformation); - if (getOptionsDrawinglayer().IsAntiAliasing() && getOptionsDrawinglayer().IsSnapHorVerLinesToDiscrete()) - { - if (basegfx::utils::containsOnlyHorizontalOrVerticalLines(rLocalPolygon)) - { - // DrawPolyLineDirect() only works in AA mode, but pure horizontal or vertical - // lines are better with AA off. - return false; - } - } - // try drawing; if it did not work, use standard fallback return mpOutputDevice->DrawPolyLineDirect( maCurrentTransformation, diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx index 335e30a56ce9..361f7a5bd5a3 100644 --- a/drawinglayer/source/processor2d/vclprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx @@ -331,7 +331,6 @@ namespace drawinglayer basegfx::B2DPolygon aLocalPolygon(rPolygonCandidate.getB2DPolygon()); aLocalPolygon.transform(maCurrentTransformation); - bool bDisableAA = false; if(bPixelBased && getOptionsDrawinglayer().IsAntiAliasing() && getOptionsDrawinglayer().IsSnapHorVerLinesToDiscrete()) { // #i98289# @@ -340,18 +339,9 @@ namespace drawinglayer // not-AntiAliased such lines look more pleasing to the eye (e.g. 2D chart content). This // NEEDS to be done in discrete coordinates, so only useful for pixel based rendering. aLocalPolygon = basegfx::utils::snapPointsOfHorizontalOrVerticalEdges(aLocalPolygon); - - // Also disable AA, snap would leave the start/end of lines still anti-aliased when - // their coordinates are provided in logic units. - bDisableAA = basegfx::utils::containsOnlyHorizontalOrVerticalLines(aLocalPolygon); } - const AntialiasingFlags nOriginalAA(mpOutputDevice->GetAntialiasing()); - if (bDisableAA && (nOriginalAA & AntialiasingFlags::EnableB2dDraw)) - mpOutputDevice->SetAntialiasing(nOriginalAA & ~AntialiasingFlags::EnableB2dDraw); mpOutputDevice->DrawPolyLine(aLocalPolygon, 0.0); - if (bDisableAA && (nOriginalAA & AntialiasingFlags::EnableB2dDraw)) - mpOutputDevice->SetAntialiasing(mpOutputDevice->GetAntialiasing() | AntialiasingFlags::EnableB2dDraw); } // direct draw of transformed BitmapEx primitive diff --git a/include/basegfx/polygon/b2dpolygontools.hxx b/include/basegfx/polygon/b2dpolygontools.hxx index fbd73220ec29..57b9130b4399 100644 --- a/include/basegfx/polygon/b2dpolygontools.hxx +++ b/include/basegfx/polygon/b2dpolygontools.hxx @@ -445,9 +445,6 @@ namespace basegfx */ BASEGFX_DLLPUBLIC B2DPolygon snapPointsOfHorizontalOrVerticalEdges(const B2DPolygon& rCandidate); - /// Determines if rPolygon lacks diagonal lines or not. - BASEGFX_DLLPUBLIC bool containsOnlyHorizontalOrVerticalLines(const basegfx::B2DPolygon& rPolygon); - /// get the tangent with which the given point is entered seen from the previous /// polygon path data. Take into account all stuff like closed state, zero-length edges and others. BASEGFX_DLLPUBLIC B2DVector getTangentEnteringPoint(const B2DPolygon& rCandidate, sal_uInt32 nIndex); |