[Libreoffice-commits] core.git: basegfx/source include/basegfx

Tor Lillqvist tml at collabora.com
Tue Apr 22 22:19:20 PDT 2014


 basegfx/source/polygon/b2dpolypolygontools.cxx  |   18 ++++++++++++++++++
 include/basegfx/polygon/b2dpolypolygontools.hxx |    5 +++++
 2 files changed, 23 insertions(+)

New commits:
commit a26d592dab62842b97d25045ce8f88a9c068dc97
Author: Tor Lillqvist <tml at collabora.com>
Date:   Wed Apr 23 08:16:01 2014 +0300

    Revert "Remove unused basegfx::tools::containsOnlyHorizontalAndVerticalEdges"
    
    Is used in vcl/win/source/gdi/salgdi.cxx.
    
    This reverts commit 34fa29ed4c0fa73d3e07e62cb6ca2577ee115b35.
    
    Conflicts:
    	unusedcode.easy
    
    Change-Id: I0ee3c2bc0ec5649045ae415b44482f63da360634

diff --git a/basegfx/source/polygon/b2dpolypolygontools.cxx b/basegfx/source/polygon/b2dpolypolygontools.cxx
index f904d64..35bc6ed 100644
--- a/basegfx/source/polygon/b2dpolypolygontools.cxx
+++ b/basegfx/source/polygon/b2dpolypolygontools.cxx
@@ -497,6 +497,24 @@ namespace basegfx
             return aRetval;
         }
 
+        bool containsOnlyHorizontalAndVerticalEdges(const B2DPolyPolygon& rCandidate)
+        {
+            if(rCandidate.areControlPointsUsed())
+            {
+                return false;
+            }
+
+            for(sal_uInt32 a(0); a < rCandidate.count(); a++)
+            {
+                if(!containsOnlyHorizontalAndVerticalEdges(rCandidate.getB2DPolygon(a)))
+                {
+                    return false;
+                }
+            }
+
+            return true;
+        }
+
         B2DPolyPolygon createSevenSegmentPolyPolygon(sal_Char nNumber, bool bLitSegments)
         {
             // config here
diff --git a/include/basegfx/polygon/b2dpolypolygontools.hxx b/include/basegfx/polygon/b2dpolypolygontools.hxx
index c21489a..e92fe5a 100644
--- a/include/basegfx/polygon/b2dpolypolygontools.hxx
+++ b/include/basegfx/polygon/b2dpolypolygontools.hxx
@@ -287,6 +287,11 @@ namespace basegfx
         */
         BASEGFX_DLLPUBLIC B2DPolyPolygon snapPointsOfHorizontalOrVerticalEdges(const B2DPolyPolygon& rCandidate);
 
+        /** returns true if the Polygon only contains horizontal or vertical edges
+            so that it could be represented by RegionBands
+        */
+        BASEGFX_DLLPUBLIC bool containsOnlyHorizontalAndVerticalEdges(const B2DPolyPolygon& rCandidate);
+
         /// converters for com::sun::star::drawing::PointSequence
         BASEGFX_DLLPUBLIC B2DPolyPolygon UnoPointSequenceSequenceToB2DPolyPolygon(
             const com::sun::star::drawing::PointSequenceSequence& rPointSequenceSequenceSource,


More information about the Libreoffice-commits mailing list