[Libreoffice-commits] core.git: drawinglayer/source include/drawinglayer solenv/clang-format

Tomaž Vajngerl (via logerrit) logerrit at kemper.freedesktop.org
Fri Apr 3 14:09:17 UTC 2020


 drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx  |  931 ++++++------
 include/drawinglayer/primitive2d/polypolygonprimitive2d.hxx |  729 ++++-----
 solenv/clang-format/blacklist                               |    2 
 3 files changed, 838 insertions(+), 824 deletions(-)

New commits:
commit ab931bf1148123ac262633f195efebb7babf9ce1
Author:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
AuthorDate: Wed Apr 1 13:05:16 2020 +0200
Commit:     Tomaž Vajngerl <quikee at gmail.com>
CommitDate: Fri Apr 3 16:08:37 2020 +0200

    remove polypolygonprimitive2d.{hxx,cxx} from clang-format blacklist
    
    Change-Id: I3be7b8668dbf93a3a14b7b136dbe6057bfaf2f92
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91495
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>

diff --git a/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx b/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx
index 1a521ab65243..959ae69a2159 100644
--- a/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx
@@ -31,531 +31,534 @@
 #include <drawinglayer/geometry/viewinformation2d.hxx>
 #include <vcl/graph.hxx>
 
-
 using namespace com::sun::star;
 
-
 namespace drawinglayer::primitive2d
 {
-        void PolyPolygonHairlinePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
-        {
-            const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
-            const sal_uInt32 nCount(aPolyPolygon.count());
-
-            if(nCount)
-            {
-                for(sal_uInt32 a(0); a < nCount; a++)
-                {
-                    rContainer.push_back(new PolygonHairlinePrimitive2D(aPolyPolygon.getB2DPolygon(a), getBColor()));
-                }
-            }
-        }
-
-        PolyPolygonHairlinePrimitive2D::PolyPolygonHairlinePrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::BColor& rBColor)
-        :   BufferedDecompositionPrimitive2D(),
-            maPolyPolygon(rPolyPolygon),
-            maBColor(rBColor)
-        {
-        }
-
-        bool PolyPolygonHairlinePrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
-        {
-            if(BufferedDecompositionPrimitive2D::operator==(rPrimitive))
-            {
-                const PolyPolygonHairlinePrimitive2D& rCompare = static_cast<const PolyPolygonHairlinePrimitive2D&>(rPrimitive);
-
-                return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
-                    && getBColor() == rCompare.getBColor());
-            }
-
-            return false;
-        }
+void PolyPolygonHairlinePrimitive2D::create2DDecomposition(
+    Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+{
+    const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
+    const sal_uInt32 nCount(aPolyPolygon.count());
 
-        basegfx::B2DRange PolyPolygonHairlinePrimitive2D::getB2DRange(const geometry::ViewInformation2D& /*rViewInformation*/) const
+    if (nCount)
+    {
+        for (sal_uInt32 a(0); a < nCount; a++)
         {
-            // return range
-            return basegfx::utils::getRange(getB2DPolyPolygon());
+            rContainer.push_back(
+                new PolygonHairlinePrimitive2D(aPolyPolygon.getB2DPolygon(a), getBColor()));
         }
+    }
+}
+
+PolyPolygonHairlinePrimitive2D::PolyPolygonHairlinePrimitive2D(
+    const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::BColor& rBColor)
+    : BufferedDecompositionPrimitive2D()
+    , maPolyPolygon(rPolyPolygon)
+    , maBColor(rBColor)
+{
+}
 
-        // provide unique ID
-        sal_uInt32 PolyPolygonHairlinePrimitive2D::getPrimitive2DID() const { return PRIMITIVE2D_ID_POLYPOLYGONHAIRLINEPRIMITIVE2D; }
-
-        void PolyPolygonMarkerPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
-        {
-            const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
-            const sal_uInt32 nCount(aPolyPolygon.count());
+bool PolyPolygonHairlinePrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
+{
+    if (BufferedDecompositionPrimitive2D::operator==(rPrimitive))
+    {
+        const PolyPolygonHairlinePrimitive2D& rCompare
+            = static_cast<const PolyPolygonHairlinePrimitive2D&>(rPrimitive);
 
-            if(nCount)
-            {
-                for(sal_uInt32 a(0); a < nCount; a++)
-                {
-                    rContainer.push_back(
-                        new PolygonMarkerPrimitive2D(
-                            aPolyPolygon.getB2DPolygon(a),
-                            getRGBColorA(),
-                            getRGBColorB(),
-                            getDiscreteDashLength()));
-                }
-            }
-        }
+        return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
+                && getBColor() == rCompare.getBColor());
+    }
 
-        PolyPolygonMarkerPrimitive2D::PolyPolygonMarkerPrimitive2D(
-            const basegfx::B2DPolyPolygon& rPolyPolygon,
-            const basegfx::BColor& rRGBColorA,
-            const basegfx::BColor& rRGBColorB,
-            double fDiscreteDashLength)
-        :   BufferedDecompositionPrimitive2D(),
-            maPolyPolygon(rPolyPolygon),
-            maRGBColorA(rRGBColorA),
-            maRGBColorB(rRGBColorB),
-            mfDiscreteDashLength(fDiscreteDashLength)
-        {
-        }
+    return false;
+}
 
-        bool PolyPolygonMarkerPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
-        {
-            if(BufferedDecompositionPrimitive2D::operator==(rPrimitive))
-            {
-                const PolyPolygonMarkerPrimitive2D& rCompare = static_cast<const PolyPolygonMarkerPrimitive2D&>(rPrimitive);
+basegfx::B2DRange PolyPolygonHairlinePrimitive2D::getB2DRange(
+    const geometry::ViewInformation2D& /*rViewInformation*/) const
+{
+    // return range
+    return basegfx::utils::getRange(getB2DPolyPolygon());
+}
 
-                return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
-                    && getRGBColorA() == rCompare.getRGBColorA()
-                    && getRGBColorB() == rCompare.getRGBColorB()
-                    && getDiscreteDashLength() == rCompare.getDiscreteDashLength());
-            }
+// provide unique ID
+sal_uInt32 PolyPolygonHairlinePrimitive2D::getPrimitive2DID() const
+{
+    return PRIMITIVE2D_ID_POLYPOLYGONHAIRLINEPRIMITIVE2D;
+}
 
-            return false;
-        }
+void PolyPolygonMarkerPrimitive2D::create2DDecomposition(
+    Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+{
+    const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
+    const sal_uInt32 nCount(aPolyPolygon.count());
 
-        basegfx::B2DRange PolyPolygonMarkerPrimitive2D::getB2DRange(const geometry::ViewInformation2D& /*rViewInformation*/) const
+    if (nCount)
+    {
+        for (sal_uInt32 a(0); a < nCount; a++)
         {
-            // return range
-            return basegfx::utils::getRange(getB2DPolyPolygon());
+            rContainer.push_back(new PolygonMarkerPrimitive2D(aPolyPolygon.getB2DPolygon(a),
+                                                              getRGBColorA(), getRGBColorB(),
+                                                              getDiscreteDashLength()));
         }
+    }
+}
+
+PolyPolygonMarkerPrimitive2D::PolyPolygonMarkerPrimitive2D(
+    const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::BColor& rRGBColorA,
+    const basegfx::BColor& rRGBColorB, double fDiscreteDashLength)
+    : BufferedDecompositionPrimitive2D()
+    , maPolyPolygon(rPolyPolygon)
+    , maRGBColorA(rRGBColorA)
+    , maRGBColorB(rRGBColorB)
+    , mfDiscreteDashLength(fDiscreteDashLength)
+{
+}
 
-        // provide unique ID
-        sal_uInt32 PolyPolygonMarkerPrimitive2D::getPrimitive2DID() const { return PRIMITIVE2D_ID_POLYPOLYGONMARKERPRIMITIVE2D; }
-
-
-        void PolyPolygonStrokePrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
-        {
-            const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
-            const sal_uInt32 nCount(aPolyPolygon.count());
-
-            if(nCount)
-            {
-                for(sal_uInt32 a(0); a < nCount; a++)
-                {
-                    rContainer.push_back(
-                        new PolygonStrokePrimitive2D(
-                            aPolyPolygon.getB2DPolygon(a), getLineAttribute(), getStrokeAttribute()));
-                }
-            }
-        }
+bool PolyPolygonMarkerPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
+{
+    if (BufferedDecompositionPrimitive2D::operator==(rPrimitive))
+    {
+        const PolyPolygonMarkerPrimitive2D& rCompare
+            = static_cast<const PolyPolygonMarkerPrimitive2D&>(rPrimitive);
+
+        return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
+                && getRGBColorA() == rCompare.getRGBColorA()
+                && getRGBColorB() == rCompare.getRGBColorB()
+                && getDiscreteDashLength() == rCompare.getDiscreteDashLength());
+    }
+
+    return false;
+}
+
+basegfx::B2DRange PolyPolygonMarkerPrimitive2D::getB2DRange(
+    const geometry::ViewInformation2D& /*rViewInformation*/) const
+{
+    // return range
+    return basegfx::utils::getRange(getB2DPolyPolygon());
+}
 
-        PolyPolygonStrokePrimitive2D::PolyPolygonStrokePrimitive2D(
-            const basegfx::B2DPolyPolygon& rPolyPolygon,
-            const attribute::LineAttribute& rLineAttribute,
-            const attribute::StrokeAttribute& rStrokeAttribute)
-        :   BufferedDecompositionPrimitive2D(),
-            maPolyPolygon(rPolyPolygon),
-            maLineAttribute(rLineAttribute),
-            maStrokeAttribute(rStrokeAttribute)
-        {
-        }
+// provide unique ID
+sal_uInt32 PolyPolygonMarkerPrimitive2D::getPrimitive2DID() const
+{
+    return PRIMITIVE2D_ID_POLYPOLYGONMARKERPRIMITIVE2D;
+}
 
-        PolyPolygonStrokePrimitive2D::PolyPolygonStrokePrimitive2D(
-            const basegfx::B2DPolyPolygon& rPolyPolygon,
-            const attribute::LineAttribute& rLineAttribute)
-        :   BufferedDecompositionPrimitive2D(),
-            maPolyPolygon(rPolyPolygon),
-            maLineAttribute(rLineAttribute),
-            maStrokeAttribute()
-        {
-        }
+void PolyPolygonStrokePrimitive2D::create2DDecomposition(
+    Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+{
+    const basegfx::B2DPolyPolygon aPolyPolygon(getB2DPolyPolygon());
+    const sal_uInt32 nCount(aPolyPolygon.count());
 
-        bool PolyPolygonStrokePrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
+    if (nCount)
+    {
+        for (sal_uInt32 a(0); a < nCount; a++)
         {
-            if(BufferedDecompositionPrimitive2D::operator==(rPrimitive))
-            {
-                const PolyPolygonStrokePrimitive2D& rCompare = static_cast<const PolyPolygonStrokePrimitive2D&>(rPrimitive);
-
-                return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
-                    && getLineAttribute() == rCompare.getLineAttribute()
-                    && getStrokeAttribute() == rCompare.getStrokeAttribute());
-            }
-
-            return false;
+            rContainer.push_back(new PolygonStrokePrimitive2D(
+                aPolyPolygon.getB2DPolygon(a), getLineAttribute(), getStrokeAttribute()));
         }
+    }
+}
+
+PolyPolygonStrokePrimitive2D::PolyPolygonStrokePrimitive2D(
+    const basegfx::B2DPolyPolygon& rPolyPolygon, const attribute::LineAttribute& rLineAttribute,
+    const attribute::StrokeAttribute& rStrokeAttribute)
+    : BufferedDecompositionPrimitive2D()
+    , maPolyPolygon(rPolyPolygon)
+    , maLineAttribute(rLineAttribute)
+    , maStrokeAttribute(rStrokeAttribute)
+{
+}
+
+PolyPolygonStrokePrimitive2D::PolyPolygonStrokePrimitive2D(
+    const basegfx::B2DPolyPolygon& rPolyPolygon, const attribute::LineAttribute& rLineAttribute)
+    : BufferedDecompositionPrimitive2D()
+    , maPolyPolygon(rPolyPolygon)
+    , maLineAttribute(rLineAttribute)
+    , maStrokeAttribute()
+{
+}
 
-        basegfx::B2DRange PolyPolygonStrokePrimitive2D::getB2DRange(const geometry::ViewInformation2D& /*rViewInformation*/) const
-        {
-            // get range of it (subdivided)
-            basegfx::B2DRange aRetval(basegfx::utils::getRange(getB2DPolyPolygon()));
-
-            // if width, grow by line width
-            if(getLineAttribute().getWidth())
-            {
-                aRetval.grow(getLineAttribute().getWidth() / 2.0);
-            }
-
-            return aRetval;
-        }
+bool PolyPolygonStrokePrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
+{
+    if (BufferedDecompositionPrimitive2D::operator==(rPrimitive))
+    {
+        const PolyPolygonStrokePrimitive2D& rCompare
+            = static_cast<const PolyPolygonStrokePrimitive2D&>(rPrimitive);
 
-        // provide unique ID
-        sal_uInt32 PolyPolygonStrokePrimitive2D::getPrimitive2DID() const { return PRIMITIVE2D_ID_POLYPOLYGONSTROKEPRIMITIVE2D; }
+        return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
+                && getLineAttribute() == rCompare.getLineAttribute()
+                && getStrokeAttribute() == rCompare.getStrokeAttribute());
+    }
 
+    return false;
+}
 
-        PolyPolygonColorPrimitive2D::PolyPolygonColorPrimitive2D(
-            const basegfx::B2DPolyPolygon& rPolyPolygon,
-            const basegfx::BColor& rBColor)
-        :   BasePrimitive2D(),
-            maPolyPolygon(rPolyPolygon),
-            maBColor(rBColor)
-        {
-        }
+basegfx::B2DRange PolyPolygonStrokePrimitive2D::getB2DRange(
+    const geometry::ViewInformation2D& /*rViewInformation*/) const
+{
+    // get range of it (subdivided)
+    basegfx::B2DRange aRetval(basegfx::utils::getRange(getB2DPolyPolygon()));
 
-        bool PolyPolygonColorPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
-        {
-            if(BasePrimitive2D::operator==(rPrimitive))
-            {
-                const PolyPolygonColorPrimitive2D& rCompare = static_cast<const PolyPolygonColorPrimitive2D&>(rPrimitive);
+    // if width, grow by line width
+    if (getLineAttribute().getWidth())
+    {
+        aRetval.grow(getLineAttribute().getWidth() / 2.0);
+    }
 
-                return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
-                    && getBColor() == rCompare.getBColor());
-            }
+    return aRetval;
+}
 
-            return false;
-        }
+// provide unique ID
+sal_uInt32 PolyPolygonStrokePrimitive2D::getPrimitive2DID() const
+{
+    return PRIMITIVE2D_ID_POLYPOLYGONSTROKEPRIMITIVE2D;
+}
+
+PolyPolygonColorPrimitive2D::PolyPolygonColorPrimitive2D(
+    const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::BColor& rBColor)
+    : BasePrimitive2D()
+    , maPolyPolygon(rPolyPolygon)
+    , maBColor(rBColor)
+{
+}
 
-        basegfx::B2DRange PolyPolygonColorPrimitive2D::getB2DRange(const geometry::ViewInformation2D& /*rViewInformation*/) const
-        {
-            // return range
-            return basegfx::utils::getRange(getB2DPolyPolygon());
-        }
+bool PolyPolygonColorPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
+{
+    if (BasePrimitive2D::operator==(rPrimitive))
+    {
+        const PolyPolygonColorPrimitive2D& rCompare
+            = static_cast<const PolyPolygonColorPrimitive2D&>(rPrimitive);
 
-        // provide unique ID
-        sal_uInt32 PolyPolygonColorPrimitive2D::getPrimitive2DID() const { return PRIMITIVE2D_ID_POLYPOLYGONCOLORPRIMITIVE2D; }
+        return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
+                && getBColor() == rCompare.getBColor());
+    }
 
+    return false;
+}
 
-        void PolyPolygonGradientPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
-        {
-            if(!getFillGradient().isDefault())
-            {
-                // create SubSequence with FillGradientPrimitive2D
-                const basegfx::B2DRange aPolyPolygonRange(getB2DPolyPolygon().getB2DRange());
-                FillGradientPrimitive2D* pNewGradient = new FillGradientPrimitive2D(
-                    aPolyPolygonRange,
-                    getDefinitionRange(),
-                    getFillGradient());
-                const Primitive2DReference xSubRef(pNewGradient);
-                const Primitive2DContainer aSubSequence { xSubRef };
-
-                // create mask primitive
-                rContainer.push_back(new MaskPrimitive2D(getB2DPolyPolygon(), aSubSequence));
-            }
-        }
+basegfx::B2DRange PolyPolygonColorPrimitive2D::getB2DRange(
+    const geometry::ViewInformation2D& /*rViewInformation*/) const
+{
+    // return range
+    return basegfx::utils::getRange(getB2DPolyPolygon());
+}
 
-        PolyPolygonGradientPrimitive2D::PolyPolygonGradientPrimitive2D(
-            const basegfx::B2DPolyPolygon& rPolyPolygon,
-            const attribute::FillGradientAttribute& rFillGradient)
-        :   BufferedDecompositionPrimitive2D(),
-            maPolyPolygon(rPolyPolygon),
-            maDefinitionRange(rPolyPolygon.getB2DRange()),
-            maFillGradient(rFillGradient)
-        {
-        }
+// provide unique ID
+sal_uInt32 PolyPolygonColorPrimitive2D::getPrimitive2DID() const
+{
+    return PRIMITIVE2D_ID_POLYPOLYGONCOLORPRIMITIVE2D;
+}
 
-        PolyPolygonGradientPrimitive2D::PolyPolygonGradientPrimitive2D(
-            const basegfx::B2DPolyPolygon& rPolyPolygon,
-            const basegfx::B2DRange& rDefinitionRange,
-            const attribute::FillGradientAttribute& rFillGradient)
-        :   BufferedDecompositionPrimitive2D(),
-            maPolyPolygon(rPolyPolygon),
-            maDefinitionRange(rDefinitionRange),
-            maFillGradient(rFillGradient)
-        {
-        }
+void PolyPolygonGradientPrimitive2D::create2DDecomposition(
+    Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+{
+    if (!getFillGradient().isDefault())
+    {
+        // create SubSequence with FillGradientPrimitive2D
+        const basegfx::B2DRange aPolyPolygonRange(getB2DPolyPolygon().getB2DRange());
+        FillGradientPrimitive2D* pNewGradient = new FillGradientPrimitive2D(
+            aPolyPolygonRange, getDefinitionRange(), getFillGradient());
+        const Primitive2DReference xSubRef(pNewGradient);
+        const Primitive2DContainer aSubSequence{ xSubRef };
+
+        // create mask primitive
+        rContainer.push_back(new MaskPrimitive2D(getB2DPolyPolygon(), aSubSequence));
+    }
+}
+
+PolyPolygonGradientPrimitive2D::PolyPolygonGradientPrimitive2D(
+    const basegfx::B2DPolyPolygon& rPolyPolygon,
+    const attribute::FillGradientAttribute& rFillGradient)
+    : BufferedDecompositionPrimitive2D()
+    , maPolyPolygon(rPolyPolygon)
+    , maDefinitionRange(rPolyPolygon.getB2DRange())
+    , maFillGradient(rFillGradient)
+{
+}
+
+PolyPolygonGradientPrimitive2D::PolyPolygonGradientPrimitive2D(
+    const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::B2DRange& rDefinitionRange,
+    const attribute::FillGradientAttribute& rFillGradient)
+    : BufferedDecompositionPrimitive2D()
+    , maPolyPolygon(rPolyPolygon)
+    , maDefinitionRange(rDefinitionRange)
+    , maFillGradient(rFillGradient)
+{
+}
 
-        bool PolyPolygonGradientPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
-        {
-            if(BufferedDecompositionPrimitive2D::operator==(rPrimitive))
-            {
-                const PolyPolygonGradientPrimitive2D& rCompare = static_cast<const PolyPolygonGradientPrimitive2D&>(rPrimitive);
+bool PolyPolygonGradientPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
+{
+    if (BufferedDecompositionPrimitive2D::operator==(rPrimitive))
+    {
+        const PolyPolygonGradientPrimitive2D& rCompare
+            = static_cast<const PolyPolygonGradientPrimitive2D&>(rPrimitive);
 
-                return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
-                    && getDefinitionRange() == rCompare.getDefinitionRange()
-                    && getFillGradient() == rCompare.getFillGradient());
-            }
+        return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
+                && getDefinitionRange() == rCompare.getDefinitionRange()
+                && getFillGradient() == rCompare.getFillGradient());
+    }
 
-            return false;
-        }
+    return false;
+}
 
-        // provide unique ID
-        sal_uInt32 PolyPolygonGradientPrimitive2D::getPrimitive2DID() const { return PRIMITIVE2D_ID_POLYPOLYGONGRADIENTPRIMITIVE2D; }
+// provide unique ID
+sal_uInt32 PolyPolygonGradientPrimitive2D::getPrimitive2DID() const
+{
+    return PRIMITIVE2D_ID_POLYPOLYGONGRADIENTPRIMITIVE2D;
+}
 
-        void PolyPolygonHatchPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
-        {
-            if(!getFillHatch().isDefault())
-            {
-                // create SubSequence with FillHatchPrimitive2D
-                const basegfx::B2DRange aPolyPolygonRange(getB2DPolyPolygon().getB2DRange());
-                FillHatchPrimitive2D* pNewHatch = new FillHatchPrimitive2D(
-                    aPolyPolygonRange,
-                    getDefinitionRange(),
-                    getBackgroundColor(),
-                    getFillHatch());
-                const Primitive2DReference xSubRef(pNewHatch);
-                const Primitive2DContainer aSubSequence { xSubRef };
-
-                // create mask primitive
-                rContainer.push_back(new MaskPrimitive2D(getB2DPolyPolygon(), aSubSequence));
-            }
-        }
+void PolyPolygonHatchPrimitive2D::create2DDecomposition(
+    Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+{
+    if (!getFillHatch().isDefault())
+    {
+        // create SubSequence with FillHatchPrimitive2D
+        const basegfx::B2DRange aPolyPolygonRange(getB2DPolyPolygon().getB2DRange());
+        FillHatchPrimitive2D* pNewHatch = new FillHatchPrimitive2D(
+            aPolyPolygonRange, getDefinitionRange(), getBackgroundColor(), getFillHatch());
+        const Primitive2DReference xSubRef(pNewHatch);
+        const Primitive2DContainer aSubSequence{ xSubRef };
+
+        // create mask primitive
+        rContainer.push_back(new MaskPrimitive2D(getB2DPolyPolygon(), aSubSequence));
+    }
+}
+
+PolyPolygonHatchPrimitive2D::PolyPolygonHatchPrimitive2D(
+    const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::BColor& rBackgroundColor,
+    const attribute::FillHatchAttribute& rFillHatch)
+    : BufferedDecompositionPrimitive2D()
+    , maPolyPolygon(rPolyPolygon)
+    , maDefinitionRange(rPolyPolygon.getB2DRange())
+    , maBackgroundColor(rBackgroundColor)
+    , maFillHatch(rFillHatch)
+{
+}
+
+PolyPolygonHatchPrimitive2D::PolyPolygonHatchPrimitive2D(
+    const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::B2DRange& rDefinitionRange,
+    const basegfx::BColor& rBackgroundColor, const attribute::FillHatchAttribute& rFillHatch)
+    : BufferedDecompositionPrimitive2D()
+    , maPolyPolygon(rPolyPolygon)
+    , maDefinitionRange(rDefinitionRange)
+    , maBackgroundColor(rBackgroundColor)
+    , maFillHatch(rFillHatch)
+{
+}
 
-        PolyPolygonHatchPrimitive2D::PolyPolygonHatchPrimitive2D(
-            const basegfx::B2DPolyPolygon& rPolyPolygon,
-            const basegfx::BColor& rBackgroundColor,
-            const attribute::FillHatchAttribute& rFillHatch)
-        :   BufferedDecompositionPrimitive2D(),
-            maPolyPolygon(rPolyPolygon),
-            maDefinitionRange(rPolyPolygon.getB2DRange()),
-            maBackgroundColor(rBackgroundColor),
-            maFillHatch(rFillHatch)
-        {
-        }
+bool PolyPolygonHatchPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
+{
+    if (BufferedDecompositionPrimitive2D::operator==(rPrimitive))
+    {
+        const PolyPolygonHatchPrimitive2D& rCompare
+            = static_cast<const PolyPolygonHatchPrimitive2D&>(rPrimitive);
+
+        return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
+                && getDefinitionRange() == rCompare.getDefinitionRange()
+                && getBackgroundColor() == rCompare.getBackgroundColor()
+                && getFillHatch() == rCompare.getFillHatch());
+    }
+
+    return false;
+}
+
+// provide unique ID
+sal_uInt32 PolyPolygonHatchPrimitive2D::getPrimitive2DID() const
+{
+    return PRIMITIVE2D_ID_POLYPOLYGONHATCHPRIMITIVE2D;
+}
 
-        PolyPolygonHatchPrimitive2D::PolyPolygonHatchPrimitive2D(
-            const basegfx::B2DPolyPolygon& rPolyPolygon,
-            const basegfx::B2DRange& rDefinitionRange,
-            const basegfx::BColor& rBackgroundColor,
-            const attribute::FillHatchAttribute& rFillHatch)
-        :   BufferedDecompositionPrimitive2D(),
-            maPolyPolygon(rPolyPolygon),
-            maDefinitionRange(rDefinitionRange),
-            maBackgroundColor(rBackgroundColor),
-            maFillHatch(rFillHatch)
-        {
-        }
+void PolyPolygonGraphicPrimitive2D::create2DDecomposition(
+    Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+{
+    if (!getFillGraphic().isDefault())
+    {
+        const Graphic& rGraphic = getFillGraphic().getGraphic();
+        const GraphicType aType(rGraphic.GetType());
 
-        bool PolyPolygonHatchPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
+        // is there a bitmap or a metafile (do we have content)?
+        if (GraphicType::Bitmap == aType || GraphicType::GdiMetafile == aType)
         {
-            if(BufferedDecompositionPrimitive2D::operator==(rPrimitive))
-            {
-                const PolyPolygonHatchPrimitive2D& rCompare = static_cast<const PolyPolygonHatchPrimitive2D&>(rPrimitive);
+            const Size aPrefSize(rGraphic.GetPrefSize());
 
-                return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
-                    && getDefinitionRange() == rCompare.getDefinitionRange()
-                    && getBackgroundColor() == rCompare.getBackgroundColor()
-                    && getFillHatch() == rCompare.getFillHatch());
-            }
-
-            return false;
-        }
-
-        // provide unique ID
-        sal_uInt32 PolyPolygonHatchPrimitive2D::getPrimitive2DID() const { return PRIMITIVE2D_ID_POLYPOLYGONHATCHPRIMITIVE2D; }
-
-        void PolyPolygonGraphicPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
-        {
-            if(!getFillGraphic().isDefault())
+            // does content have a size?
+            if (aPrefSize.Width() && aPrefSize.Height())
             {
-                const Graphic& rGraphic = getFillGraphic().getGraphic();
-                const GraphicType aType(rGraphic.GetType());
-
-                // is there a bitmap or a metafile (do we have content)?
-                if(GraphicType::Bitmap == aType || GraphicType::GdiMetafile == aType)
+                // create SubSequence with FillGraphicPrimitive2D based on polygon range
+                const basegfx::B2DRange aOutRange(getB2DPolyPolygon().getB2DRange());
+                const basegfx::B2DHomMatrix aNewObjectTransform(
+                    basegfx::utils::createScaleTranslateB2DHomMatrix(aOutRange.getRange(),
+                                                                     aOutRange.getMinimum()));
+                Primitive2DReference xSubRef;
+
+                if (aOutRange != getDefinitionRange())
                 {
-                    const Size aPrefSize(rGraphic.GetPrefSize());
-
-                    // does content have a size?
-                    if(aPrefSize.Width() && aPrefSize.Height())
-                    {
-                        // create SubSequence with FillGraphicPrimitive2D based on polygon range
-                        const basegfx::B2DRange aOutRange(getB2DPolyPolygon().getB2DRange());
-                        const basegfx::B2DHomMatrix aNewObjectTransform(
-                            basegfx::utils::createScaleTranslateB2DHomMatrix(
-                                aOutRange.getRange(),
-                                aOutRange.getMinimum()));
-                        Primitive2DReference xSubRef;
-
-                        if(aOutRange != getDefinitionRange())
-                        {
-                            // we want to paint (tiled) content which is defined relative to DefinitionRange
-                            // with the same tiling and offset(s) in the target range of the geometry (the
-                            // polygon). The range given in the local FillGraphicAttribute defines the position
-                            // of the graphic in unit coordinates relative to the DefinitionRange. Transform
-                            // this using DefinitionRange to get to the global definition and then with the
-                            // inverse transformation from the target range to go to unit coordinates relative
-                            // to that target coordinate system.
-                            basegfx::B2DRange aAdaptedRange(getFillGraphic().getGraphicRange());
-
-                            const basegfx::B2DHomMatrix aFromDefinitionRangeToGlobal(
-                                basegfx::utils::createScaleTranslateB2DHomMatrix(
-                                    getDefinitionRange().getRange(),
-                                    getDefinitionRange().getMinimum()));
-
-                            aAdaptedRange.transform(aFromDefinitionRangeToGlobal);
-
-                            basegfx::B2DHomMatrix aFromGlobalToOutRange(
-                                basegfx::utils::createScaleTranslateB2DHomMatrix(
-                                    aOutRange.getRange(),
-                                    aOutRange.getMinimum()));
-                            aFromGlobalToOutRange.invert();
-
-                            aAdaptedRange.transform(aFromGlobalToOutRange);
-
-                            const drawinglayer::attribute::FillGraphicAttribute aAdaptedFillGraphicAttribute(
-                                getFillGraphic().getGraphic(),
-                                aAdaptedRange,
-                                getFillGraphic().getTiling(),
-                                getFillGraphic().getOffsetX(),
-                                getFillGraphic().getOffsetY());
-
-                            xSubRef = new FillGraphicPrimitive2D(
-                                aNewObjectTransform,
-                                aAdaptedFillGraphicAttribute);
-                        }
-                        else
-                        {
-                            xSubRef = new FillGraphicPrimitive2D(
-                                aNewObjectTransform,
-                                getFillGraphic());
-                        }
-
-                        // embed to mask primitive
-                        rContainer.push_back(
-                            new MaskPrimitive2D(
-                                getB2DPolyPolygon(),
-                                Primitive2DContainer { xSubRef }));
-                    }
+                    // we want to paint (tiled) content which is defined relative to DefinitionRange
+                    // with the same tiling and offset(s) in the target range of the geometry (the
+                    // polygon). The range given in the local FillGraphicAttribute defines the position
+                    // of the graphic in unit coordinates relative to the DefinitionRange. Transform
+                    // this using DefinitionRange to get to the global definition and then with the
+                    // inverse transformation from the target range to go to unit coordinates relative
+                    // to that target coordinate system.
+                    basegfx::B2DRange aAdaptedRange(getFillGraphic().getGraphicRange());
+
+                    const basegfx::B2DHomMatrix aFromDefinitionRangeToGlobal(
+                        basegfx::utils::createScaleTranslateB2DHomMatrix(
+                            getDefinitionRange().getRange(), getDefinitionRange().getMinimum()));
+
+                    aAdaptedRange.transform(aFromDefinitionRangeToGlobal);
+
+                    basegfx::B2DHomMatrix aFromGlobalToOutRange(
+                        basegfx::utils::createScaleTranslateB2DHomMatrix(aOutRange.getRange(),
+                                                                         aOutRange.getMinimum()));
+                    aFromGlobalToOutRange.invert();
+
+                    aAdaptedRange.transform(aFromGlobalToOutRange);
+
+                    const drawinglayer::attribute::FillGraphicAttribute
+                        aAdaptedFillGraphicAttribute(getFillGraphic().getGraphic(), aAdaptedRange,
+                                                     getFillGraphic().getTiling(),
+                                                     getFillGraphic().getOffsetX(),
+                                                     getFillGraphic().getOffsetY());
+
+                    xSubRef = new FillGraphicPrimitive2D(aNewObjectTransform,
+                                                         aAdaptedFillGraphicAttribute);
+                }
+                else
+                {
+                    xSubRef = new FillGraphicPrimitive2D(aNewObjectTransform, getFillGraphic());
                 }
-            }
-        }
-
-        PolyPolygonGraphicPrimitive2D::PolyPolygonGraphicPrimitive2D(
-            const basegfx::B2DPolyPolygon& rPolyPolygon,
-            const basegfx::B2DRange& rDefinitionRange,
-            const attribute::FillGraphicAttribute& rFillGraphic)
-        :   BufferedDecompositionPrimitive2D(),
-            maPolyPolygon(rPolyPolygon),
-            maDefinitionRange(rDefinitionRange),
-            maFillGraphic(rFillGraphic)
-        {
-        }
-
-        bool PolyPolygonGraphicPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
-        {
-            if(BufferedDecompositionPrimitive2D::operator==(rPrimitive))
-            {
-                const PolyPolygonGraphicPrimitive2D& rCompare = static_cast<const PolyPolygonGraphicPrimitive2D&>(rPrimitive);
 
-                return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
-                    && getDefinitionRange() == rCompare.getDefinitionRange()
-                    && getFillGraphic() == rCompare.getFillGraphic());
+                // embed to mask primitive
+                rContainer.push_back(
+                    new MaskPrimitive2D(getB2DPolyPolygon(), Primitive2DContainer{ xSubRef }));
             }
-
-            return false;
         }
+    }
+}
+
+PolyPolygonGraphicPrimitive2D::PolyPolygonGraphicPrimitive2D(
+    const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::B2DRange& rDefinitionRange,
+    const attribute::FillGraphicAttribute& rFillGraphic)
+    : BufferedDecompositionPrimitive2D()
+    , maPolyPolygon(rPolyPolygon)
+    , maDefinitionRange(rDefinitionRange)
+    , maFillGraphic(rFillGraphic)
+{
+}
 
-        // provide unique ID
-        sal_uInt32 PolyPolygonGraphicPrimitive2D::getPrimitive2DID() const { return PRIMITIVE2D_ID_POLYPOLYGONGRAPHICPRIMITIVE2D; }
-
-
-        void PolyPolygonSelectionPrimitive2D::create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
-        {
-            if(getTransparence() >= 1.0 || !getB2DPolyPolygon().count())
-                return;
-
-            Primitive2DContainer aRetval;
-
-            if(getFill() && getB2DPolyPolygon().isClosed())
-            {
-                // create fill primitive
-                const Primitive2DReference aFill(
-                    new PolyPolygonColorPrimitive2D(
-                        getB2DPolyPolygon(),
-                        getColor()));
-
-                aRetval = Primitive2DContainer { aFill };
-            }
-
-            if(getDiscreteGrow() > 0.0)
-            {
-                const attribute::LineAttribute aLineAttribute(
-                    getColor(),
-                    getDiscreteGrow() * getDiscreteUnit() * 2.0);
-                const Primitive2DReference aFatLine(
-                    new PolyPolygonStrokePrimitive2D(
-                        getB2DPolyPolygon(),
-                        aLineAttribute));
-
-                aRetval.push_back(aFatLine);
-            }
-
-            // embed filled to transparency (if used)
-            if(!aRetval.empty() && getTransparence() > 0.0)
-            {
-                const Primitive2DReference aTrans(
-                    new UnifiedTransparencePrimitive2D(
-                        aRetval,
-                        getTransparence()));
-
-                aRetval = Primitive2DContainer { aTrans };
-            }
+bool PolyPolygonGraphicPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
+{
+    if (BufferedDecompositionPrimitive2D::operator==(rPrimitive))
+    {
+        const PolyPolygonGraphicPrimitive2D& rCompare
+            = static_cast<const PolyPolygonGraphicPrimitive2D&>(rPrimitive);
 
-            rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
-        }
+        return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
+                && getDefinitionRange() == rCompare.getDefinitionRange()
+                && getFillGraphic() == rCompare.getFillGraphic());
+    }
 
-        PolyPolygonSelectionPrimitive2D::PolyPolygonSelectionPrimitive2D(
-            const basegfx::B2DPolyPolygon& rPolyPolygon,
-            const basegfx::BColor& rColor,
-            double fTransparence,
-            double fDiscreteGrow,
-            bool bFill)
-        :   DiscreteMetricDependentPrimitive2D(),
-            maPolyPolygon(rPolyPolygon),
-            maColor(rColor),
-            mfTransparence(fTransparence),
-            mfDiscreteGrow(fabs(fDiscreteGrow)),
-            mbFill(bFill)
-        {
-        }
+    return false;
+}
 
-        bool PolyPolygonSelectionPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
-        {
-            if(DiscreteMetricDependentPrimitive2D::operator==(rPrimitive))
-            {
-                const PolyPolygonSelectionPrimitive2D& rCompare = static_cast<const PolyPolygonSelectionPrimitive2D&>(rPrimitive);
-
-                return (getB2DPolyPolygon() == rCompare.getB2DPolyPolygon()
-                    && getColor() == rCompare.getColor()
-                    && getTransparence() == rCompare.getTransparence()
-                    && getDiscreteGrow() == rCompare.getDiscreteGrow()
-                    && getFill() == rCompare.getFill());
-            }
+// provide unique ID
+sal_uInt32 PolyPolygonGraphicPrimitive2D::getPrimitive2DID() const
+{
+    return PRIMITIVE2D_ID_POLYPOLYGONGRAPHICPRIMITIVE2D;
+}
 
-            return false;
-        }
+void PolyPolygonSelectionPrimitive2D::create2DDecomposition(
+    Primitive2DContainer& rContainer, const geometry::ViewInformation2D& /*rViewInformation*/) const
+{
+    if (getTransparence() >= 1.0 || !getB2DPolyPolygon().count())
+        return;
+
+    Primitive2DContainer aRetval;
+
+    if (getFill() && getB2DPolyPolygon().isClosed())
+    {
+        // create fill primitive
+        const Primitive2DReference aFill(
+            new PolyPolygonColorPrimitive2D(getB2DPolyPolygon(), getColor()));
+
+        aRetval = Primitive2DContainer{ aFill };
+    }
+
+    if (getDiscreteGrow() > 0.0)
+    {
+        const attribute::LineAttribute aLineAttribute(getColor(),
+                                                      getDiscreteGrow() * getDiscreteUnit() * 2.0);
+        const Primitive2DReference aFatLine(
+            new PolyPolygonStrokePrimitive2D(getB2DPolyPolygon(), aLineAttribute));
+
+        aRetval.push_back(aFatLine);
+    }
+
+    // embed filled to transparency (if used)
+    if (!aRetval.empty() && getTransparence() > 0.0)
+    {
+        const Primitive2DReference aTrans(
+            new UnifiedTransparencePrimitive2D(aRetval, getTransparence()));
+
+        aRetval = Primitive2DContainer{ aTrans };
+    }
+
+    rContainer.insert(rContainer.end(), aRetval.begin(), aRetval.end());
+}
+
+PolyPolygonSelectionPrimitive2D::PolyPolygonSelectionPrimitive2D(
+    const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::BColor& rColor,
+    double fTransparence, double fDiscreteGrow, bool bFill)
+    : DiscreteMetricDependentPrimitive2D()
+    , maPolyPolygon(rPolyPolygon)
+    , maColor(rColor)
+    , mfTransparence(fTransparence)
+    , mfDiscreteGrow(fabs(fDiscreteGrow))
+    , mbFill(bFill)
+{
+}
 
-        basegfx::B2DRange PolyPolygonSelectionPrimitive2D::getB2DRange(const geometry::ViewInformation2D& rViewInformation) const
-        {
-            basegfx::B2DRange aRetval(basegfx::utils::getRange(getB2DPolyPolygon()));
+bool PolyPolygonSelectionPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
+{
+    if (DiscreteMetricDependentPrimitive2D::operator==(rPrimitive))
+    {
+        const PolyPolygonSelectionPrimitive2D& rCompare
+            = static_cast<const PolyPolygonSelectionPrimitive2D&>(rPrimitive);
+
+        return (
+            getB2DPolyPolygon() == rCompare.getB2DPolyPolygon() && getColor() == rCompare.getColor()
+            && getTransparence() == rCompare.getTransparence()
+            && getDiscreteGrow() == rCompare.getDiscreteGrow() && getFill() == rCompare.getFill());
+    }
+
+    return false;
+}
+
+basegfx::B2DRange PolyPolygonSelectionPrimitive2D::getB2DRange(
+    const geometry::ViewInformation2D& rViewInformation) const
+{
+    basegfx::B2DRange aRetval(basegfx::utils::getRange(getB2DPolyPolygon()));
 
-            if(getDiscreteGrow() > 0.0)
-            {
-                // get the current DiscreteUnit (not sure if getDiscreteUnit() is updated here, better go safe way)
-                const double fDiscreteUnit((rViewInformation.getInverseObjectToViewTransformation() * basegfx::B2DVector(1.0, 0.0)).getLength());
+    if (getDiscreteGrow() > 0.0)
+    {
+        // get the current DiscreteUnit (not sure if getDiscreteUnit() is updated here, better go safe way)
+        const double fDiscreteUnit(
+            (rViewInformation.getInverseObjectToViewTransformation() * basegfx::B2DVector(1.0, 0.0))
+                .getLength());
 
-                aRetval.grow(fDiscreteUnit * getDiscreteGrow());
-            }
+        aRetval.grow(fDiscreteUnit * getDiscreteGrow());
+    }
 
-            return aRetval;
-        }
+    return aRetval;
+}
 
-        // provide unique ID
-        sal_uInt32 PolyPolygonSelectionPrimitive2D::getPrimitive2DID() const { return PRIMITIVE2D_ID_POLYPOLYGONSELECTIONPRIMITIVE2D; }
+// provide unique ID
+sal_uInt32 PolyPolygonSelectionPrimitive2D::getPrimitive2DID() const
+{
+    return PRIMITIVE2D_ID_POLYPOLYGONSELECTIONPRIMITIVE2D;
+}
 
-} // end of namespace
+} // end drawinglayer::primitive2d namespace
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/drawinglayer/primitive2d/polypolygonprimitive2d.hxx b/include/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
index e7127129b931..bb3637aad394 100644
--- a/include/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
+++ b/include/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
@@ -33,370 +33,383 @@
 
 namespace drawinglayer::primitive2d
 {
-        // PolyPolygonHairlinePrimitive2D class
-
-        /** PolyPolygonHairlinePrimitive2D class
-
-            This primitive defines a multi-PolygonHairlinePrimitive2D and is
-            just for convenience. The definition is not different from the single
-                defined PolygonHairlinePrimitive2Ds.
-         */
-        class DRAWINGLAYER_DLLPUBLIC PolyPolygonHairlinePrimitive2D final : public BufferedDecompositionPrimitive2D
-        {
-        private:
-            /// the hairline geometry
-            basegfx::B2DPolyPolygon                 maPolyPolygon;
-
-            /// the hairline color
-            basegfx::BColor                         maBColor;
-
-            /// local decomposition.
-            virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
-        public:
-            /// constructor
-            PolyPolygonHairlinePrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon, const basegfx::BColor& rBColor);
-
-            /// data read access
-            const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
-            const basegfx::BColor& getBColor() const { return maBColor; }
-
-            /// compare operator
-            virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
+// PolyPolygonHairlinePrimitive2D class
 
-            /// get range
-            virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
-
-            /// provide unique ID
-            virtual sal_uInt32 getPrimitive2DID() const override;
-        };
+/** PolyPolygonHairlinePrimitive2D class
 
-        // PolyPolygonMarkerPrimitive2D class
+    This primitive defines a multi-PolygonHairlinePrimitive2D and is
+    just for convenience. The definition is not different from the single
+        defined PolygonHairlinePrimitive2Ds.
+ */
+class DRAWINGLAYER_DLLPUBLIC PolyPolygonHairlinePrimitive2D final
+    : public BufferedDecompositionPrimitive2D
+{
+private:
+    /// the hairline geometry
+    basegfx::B2DPolyPolygon maPolyPolygon;
 
-        /** PolyPolygonMarkerPrimitive2D class
+    /// the hairline color
+    basegfx::BColor maBColor;
 
-            This primitive defines a multi-PolygonMarkerPrimitive2D and is
-            just for convenience. The definition is not different from the single
-            defined PolygonMarkerPrimitive2Ds.
-         */
-        class DRAWINGLAYER_DLLPUBLIC PolyPolygonMarkerPrimitive2D final : public BufferedDecompositionPrimitive2D
-        {
-        private:
-            /// the marker hairline geometry
-            basegfx::B2DPolyPolygon                 maPolyPolygon;
-
-            /// the two colors
-            basegfx::BColor                         maRGBColorA;
-            basegfx::BColor                         maRGBColorB;
-
-            /// the dash distance in 'pixels'
-            double                                  mfDiscreteDashLength;
-
-            /// local decomposition.
-            virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
-        public:
-            /// constructor
-            PolyPolygonMarkerPrimitive2D(
-                const basegfx::B2DPolyPolygon& rPolyPolygon,
-                const basegfx::BColor& rRGBColorA,
-                const basegfx::BColor& rRGBColorB,
-                double fDiscreteDashLength);
-
-            // data read access
-            const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
-            const basegfx::BColor& getRGBColorA() const { return maRGBColorA; }
-            const basegfx::BColor& getRGBColorB() const { return maRGBColorB; }
-            double getDiscreteDashLength() const { return mfDiscreteDashLength; }
+    /// local decomposition.
+    virtual void
+    create2DDecomposition(Primitive2DContainer& rContainer,
+                          const geometry::ViewInformation2D& rViewInformation) const override;
 
-            /// compare operator
-            virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
+public:
+    /// constructor
+    PolyPolygonHairlinePrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon,
+                                   const basegfx::BColor& rBColor);
 
-            /// get range
-            virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
-
-            /// provide unique ID
-            virtual sal_uInt32 getPrimitive2DID() const override;
-        };
-
-        // PolyPolygonStrokePrimitive2D class
-
-        /** PolyPolygonStrokePrimitive2D class
-
-            This primitive defines a multi-PolygonStrokePrimitive2D and is
-            just for convenience. The definition is not different from the single
-            defined PolygonStrokePrimitive2Ds.
-         */
-        class DRAWINGLAYER_DLLPUBLIC PolyPolygonStrokePrimitive2D final : public BufferedDecompositionPrimitive2D
-        {
-        private:
-            /// the line geometry
-            basegfx::B2DPolyPolygon                 maPolyPolygon;
-
-            /// the line attributes like width, join and color
-            attribute::LineAttribute                maLineAttribute;
-
-            /// the line stroking (if used)
-            attribute::StrokeAttribute              maStrokeAttribute;
-
-            /// local decomposition.
-            virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
-        public:
-            /// constructor
-            PolyPolygonStrokePrimitive2D(
-                const basegfx::B2DPolyPolygon& rPolyPolygon,
-                const attribute::LineAttribute& rLineAttribute,
-                const attribute::StrokeAttribute& rStrokeAttribute);
-
-            PolyPolygonStrokePrimitive2D(
-                const basegfx::B2DPolyPolygon& rPolyPolygon,
-                const attribute::LineAttribute& rLineAttribute);
-
-            /// data read access
-            const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
-            const attribute::LineAttribute& getLineAttribute() const { return maLineAttribute; }
-            const attribute::StrokeAttribute& getStrokeAttribute() const { return maStrokeAttribute; }
-
-            /// compare operator
-            virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
-
-            /// get range
-            virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
-
-            /// provide unique ID
-            virtual sal_uInt32 getPrimitive2DID() const override;
-        };
-
-        // PolyPolygonColorPrimitive2D class
-
-        /** PolyPolygonColorPrimitive2D class
-
-            This primitive defines a tools::PolyPolygon filled with a single color.
-            This is one of the non-decomposable primitives, so a renderer
-            should process it.
-         */
-        class DRAWINGLAYER_DLLPUBLIC PolyPolygonColorPrimitive2D final : public BasePrimitive2D
-        {
-        private:
-            /// the tools::PolyPolygon geometry
-            basegfx::B2DPolyPolygon                 maPolyPolygon;
-
-            /// the polygon fill color
-            basegfx::BColor                         maBColor;
-
-        public:
-            /// constructor
-            PolyPolygonColorPrimitive2D(
-                const basegfx::B2DPolyPolygon& rPolyPolygon,
-                const basegfx::BColor& rBColor);
-
-            /// data read access
-            const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
-            const basegfx::BColor& getBColor() const { return maBColor; }
-
-            /// compare operator
-            virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
-
-            /// get range
-            virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
-
-            /// provide unique ID
-            virtual sal_uInt32 getPrimitive2DID() const override;
-        };
-
-        // PolyPolygonGradientPrimitive2D class
-
-        /** PolyPolygonColorPrimitive2D class
-
-            This primitive defines a tools::PolyPolygon filled with a gradient. The
-            decomosition will create a MaskPrimitive2D containing a
-            FillGradientPrimitive2D.
-         */
-        class DRAWINGLAYER_DLLPUBLIC PolyPolygonGradientPrimitive2D final : public BufferedDecompositionPrimitive2D
-        {
-        private:
-            /// the tools::PolyPolygon geometry
-            basegfx::B2DPolyPolygon                     maPolyPolygon;
-
-            /// the definition range
-            basegfx::B2DRange                           maDefinitionRange;
-
-            /// the gradient definition
-            attribute::FillGradientAttribute            maFillGradient;
-
-            /// local decomposition.
-            virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
-        public:
-            /// constructors. The one without definition range will use output range as definition range
-            PolyPolygonGradientPrimitive2D(
-                const basegfx::B2DPolyPolygon& rPolyPolygon,
-                const attribute::FillGradientAttribute& rFillGradient);
-            PolyPolygonGradientPrimitive2D(
-                const basegfx::B2DPolyPolygon& rPolyPolygon,
-                const basegfx::B2DRange& rDefinitionRange,
-                const attribute::FillGradientAttribute& rFillGradient);
-
-            /// data read access
-            const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
-            const basegfx::B2DRange& getDefinitionRange() const { return maDefinitionRange; }
-            const attribute::FillGradientAttribute& getFillGradient() const { return maFillGradient; }
-
-            /// compare operator
-            virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
-
-            /// provide unique ID
-            virtual sal_uInt32 getPrimitive2DID() const override;
-        };
-
-        // PolyPolygonHatchPrimitive2D class
-
-        /** PolyPolygonHatchPrimitive2D class
-
-            This primitive defines a tools::PolyPolygon filled with a hatch. The
-            decomosition will create a MaskPrimitive2D containing a
-            FillHatchPrimitive2D.
-         */
-        class DRAWINGLAYER_DLLPUBLIC PolyPolygonHatchPrimitive2D final : public BufferedDecompositionPrimitive2D
-        {
-        private:
-            /// the tools::PolyPolygon geometry
-            basegfx::B2DPolyPolygon                     maPolyPolygon;
-
-            /// the definition range
-            basegfx::B2DRange                           maDefinitionRange;
-
-            /// the hatch background color (if used)
-            basegfx::BColor                             maBackgroundColor;
-
-            /// the hatch definition
-            attribute::FillHatchAttribute               maFillHatch;
-
-            /// local decomposition.
-            virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
-        public:
-            /// constructors. The one without definition range will use output range as definition range
-            PolyPolygonHatchPrimitive2D(
-                const basegfx::B2DPolyPolygon& rPolyPolygon,
-                const basegfx::BColor& rBackgroundColor,
-                const attribute::FillHatchAttribute& rFillHatch);
-            PolyPolygonHatchPrimitive2D(
-                const basegfx::B2DPolyPolygon& rPolyPolygon,
-                const basegfx::B2DRange& rDefinitionRange,
-                const basegfx::BColor& rBackgroundColor,
-                const attribute::FillHatchAttribute& rFillHatch);
-
-            /// data read access
-            const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
-            const basegfx::B2DRange& getDefinitionRange() const { return maDefinitionRange; }
-            const basegfx::BColor& getBackgroundColor() const { return maBackgroundColor; }
-            const attribute::FillHatchAttribute& getFillHatch() const { return maFillHatch; }
-
-            /// compare operator
-            virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
-
-            /// provide unique ID
-            virtual sal_uInt32 getPrimitive2DID() const override;
-        };
-
-        // PolyPolygonGraphicPrimitive2D class
-
-        /** PolyPolygonGraphicPrimitive2D class
-
-            This primitive defines a tools::PolyPolygon filled with bitmap data
-            (including transparence). The decomosition will create a MaskPrimitive2D
-            containing a FillGraphicPrimitive2D.
-         */
-        class DRAWINGLAYER_DLLPUBLIC PolyPolygonGraphicPrimitive2D final : public BufferedDecompositionPrimitive2D
-        {
-        private:
-            /// the tools::PolyPolygon geometry
-            basegfx::B2DPolyPolygon                     maPolyPolygon;
-
-            /// the definition range
-            basegfx::B2DRange                           maDefinitionRange;
-
-            /// the bitmap fill definition (may include tiling)
-            attribute::FillGraphicAttribute             maFillGraphic;
-
-            /// local decomposition.
-            virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
-        public:
-            PolyPolygonGraphicPrimitive2D(
-                const basegfx::B2DPolyPolygon& rPolyPolygon,
-                const basegfx::B2DRange& rDefinitionRange,
-                const attribute::FillGraphicAttribute& rFillGraphic);
-
-            /// data read access
-            const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
-            const basegfx::B2DRange& getDefinitionRange() const { return maDefinitionRange; }
-            const attribute::FillGraphicAttribute& getFillGraphic() const { return maFillGraphic; }
-
-            /// compare operator
-            virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
-
-            /// provide unique ID
-            virtual sal_uInt32 getPrimitive2DID() const override;
-        };
-
-        // PolyPolygonSelectionPrimitive2D class
-
-        /** PolyPolygonSelectionPrimitive2D class
-
-            This primitive defines a tools::PolyPolygon which gets filled with a defined color
-            and a defined transparence, but also gets extended ('grown') by the given
-            discrete size (thus being a view-dependent primitive)
-         */
-        class DRAWINGLAYER_DLLPUBLIC PolyPolygonSelectionPrimitive2D final : public DiscreteMetricDependentPrimitive2D
-        {
-        private:
-            /// the tools::PolyPolygon geometry
-            basegfx::B2DPolyPolygon                 maPolyPolygon;
-
-            /// the color
-            basegfx::BColor                         maColor;
-
-            /// the transparence [0.0 .. 1.0]
-            double                                  mfTransparence;
-
-            /// the discrete grow size ('pixels'), only positive values allowed
-            double                                  mfDiscreteGrow;
-
-            /// draw polygons filled when fill is set
-            bool                                    mbFill : 1;
-
-            /// local decomposition.
-            virtual void create2DDecomposition(Primitive2DContainer& rContainer, const geometry::ViewInformation2D& rViewInformation) const override;
-
-        public:
-            /// constructor
-            PolyPolygonSelectionPrimitive2D(
-                const basegfx::B2DPolyPolygon& rPolyPolygon,
-                const basegfx::BColor& rColor,
-                double fTransparence,
-                double fDiscreteGrow,
-                bool bFill);
-
-            /// data read access
-            const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
-            const basegfx::BColor& getColor() const { return maColor; }
-            double getTransparence() const { return mfTransparence; }
-            double getDiscreteGrow() const { return mfDiscreteGrow; }
-            bool getFill() const { return mbFill; }
-
-            /// compare operator
-            virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
-
-            /// get range
-            virtual basegfx::B2DRange getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
-
-            /// provide unique ID
-            virtual sal_uInt32 getPrimitive2DID() const override;
-        };
-} // end of namespace primitive2d::drawinglayer
+    /// data read access
+    const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
+    const basegfx::BColor& getBColor() const { return maBColor; }
+
+    /// compare operator
+    virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
+
+    /// get range
+    virtual basegfx::B2DRange
+    getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
+
+    /// provide unique ID
+    virtual sal_uInt32 getPrimitive2DID() const override;
+};
+
+// PolyPolygonMarkerPrimitive2D class
+
+/** PolyPolygonMarkerPrimitive2D class
+
+    This primitive defines a multi-PolygonMarkerPrimitive2D and is
+    just for convenience. The definition is not different from the single
+    defined PolygonMarkerPrimitive2Ds.
+ */
+class DRAWINGLAYER_DLLPUBLIC PolyPolygonMarkerPrimitive2D final
+    : public BufferedDecompositionPrimitive2D
+{
+private:
+    /// the marker hairline geometry
+    basegfx::B2DPolyPolygon maPolyPolygon;
+
+    /// the two colors
+    basegfx::BColor maRGBColorA;
+    basegfx::BColor maRGBColorB;
+
+    /// the dash distance in 'pixels'
+    double mfDiscreteDashLength;
+
+    /// local decomposition.
+    virtual void
+    create2DDecomposition(Primitive2DContainer& rContainer,
+                          const geometry::ViewInformation2D& rViewInformation) const override;
+
+public:
+    /// constructor
+    PolyPolygonMarkerPrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon,
+                                 const basegfx::BColor& rRGBColorA,
+                                 const basegfx::BColor& rRGBColorB, double fDiscreteDashLength);
+
+    // data read access
+    const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
+    const basegfx::BColor& getRGBColorA() const { return maRGBColorA; }
+    const basegfx::BColor& getRGBColorB() const { return maRGBColorB; }
+    double getDiscreteDashLength() const { return mfDiscreteDashLength; }
+
+    /// compare operator
+    virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
+
+    /// get range
+    virtual basegfx::B2DRange
+    getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
+
+    /// provide unique ID
+    virtual sal_uInt32 getPrimitive2DID() const override;
+};
+
+// PolyPolygonStrokePrimitive2D class
+
+/** PolyPolygonStrokePrimitive2D class
+
+    This primitive defines a multi-PolygonStrokePrimitive2D and is
+    just for convenience. The definition is not different from the single
+    defined PolygonStrokePrimitive2Ds.
+ */
+class DRAWINGLAYER_DLLPUBLIC PolyPolygonStrokePrimitive2D final
+    : public BufferedDecompositionPrimitive2D
+{
+private:
+    /// the line geometry
+    basegfx::B2DPolyPolygon maPolyPolygon;
+
+    /// the line attributes like width, join and color
+    attribute::LineAttribute maLineAttribute;
+
+    /// the line stroking (if used)
+    attribute::StrokeAttribute maStrokeAttribute;
+
+    /// local decomposition.
+    virtual void
+    create2DDecomposition(Primitive2DContainer& rContainer,
+                          const geometry::ViewInformation2D& rViewInformation) const override;
+
+public:
+    /// constructor
+    PolyPolygonStrokePrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon,
+                                 const attribute::LineAttribute& rLineAttribute,
+                                 const attribute::StrokeAttribute& rStrokeAttribute);
+
+    PolyPolygonStrokePrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon,
+                                 const attribute::LineAttribute& rLineAttribute);
+
+    /// data read access
+    const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
+    const attribute::LineAttribute& getLineAttribute() const { return maLineAttribute; }
+    const attribute::StrokeAttribute& getStrokeAttribute() const { return maStrokeAttribute; }
+
+    /// compare operator
+    virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
+
+    /// get range
+    virtual basegfx::B2DRange
+    getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
+
+    /// provide unique ID
+    virtual sal_uInt32 getPrimitive2DID() const override;
+};
+
+// PolyPolygonColorPrimitive2D class
+
+/** PolyPolygonColorPrimitive2D class
+
+    This primitive defines a tools::PolyPolygon filled with a single color.
+    This is one of the non-decomposable primitives, so a renderer
+    should process it.
+ */
+class DRAWINGLAYER_DLLPUBLIC PolyPolygonColorPrimitive2D final : public BasePrimitive2D
+{
+private:
+    /// the tools::PolyPolygon geometry
+    basegfx::B2DPolyPolygon maPolyPolygon;
 
+    /// the polygon fill color
+    basegfx::BColor maBColor;
+
+public:
+    /// constructor
+    PolyPolygonColorPrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon,
+                                const basegfx::BColor& rBColor);
+
+    /// data read access
+    const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
+    const basegfx::BColor& getBColor() const { return maBColor; }
+
+    /// compare operator
+    virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
+
+    /// get range
+    virtual basegfx::B2DRange
+    getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
+
+    /// provide unique ID
+    virtual sal_uInt32 getPrimitive2DID() const override;
+};
+
+// PolyPolygonGradientPrimitive2D class
+
+/** PolyPolygonColorPrimitive2D class
+
+    This primitive defines a tools::PolyPolygon filled with a gradient. The
+    decomosition will create a MaskPrimitive2D containing a
+    FillGradientPrimitive2D.
+ */
+class DRAWINGLAYER_DLLPUBLIC PolyPolygonGradientPrimitive2D final
+    : public BufferedDecompositionPrimitive2D
+{
+private:
+    /// the tools::PolyPolygon geometry
+    basegfx::B2DPolyPolygon maPolyPolygon;
+
+    /// the definition range
+    basegfx::B2DRange maDefinitionRange;
+
+    /// the gradient definition
+    attribute::FillGradientAttribute maFillGradient;
+
+    /// local decomposition.
+    virtual void
+    create2DDecomposition(Primitive2DContainer& rContainer,
+                          const geometry::ViewInformation2D& rViewInformation) const override;
+
+public:
+    /// constructors. The one without definition range will use output range as definition range
+    PolyPolygonGradientPrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon,
+                                   const attribute::FillGradientAttribute& rFillGradient);
+    PolyPolygonGradientPrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon,
+                                   const basegfx::B2DRange& rDefinitionRange,
+                                   const attribute::FillGradientAttribute& rFillGradient);
+
+    /// data read access
+    const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
+    const basegfx::B2DRange& getDefinitionRange() const { return maDefinitionRange; }
+    const attribute::FillGradientAttribute& getFillGradient() const { return maFillGradient; }
+
+    /// compare operator
+    virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
+
+    /// provide unique ID
+    virtual sal_uInt32 getPrimitive2DID() const override;
+};
+
+// PolyPolygonHatchPrimitive2D class
+
+/** PolyPolygonHatchPrimitive2D class
+
+    This primitive defines a tools::PolyPolygon filled with a hatch. The
+    decomosition will create a MaskPrimitive2D containing a
+    FillHatchPrimitive2D.
+ */
+class DRAWINGLAYER_DLLPUBLIC PolyPolygonHatchPrimitive2D final
+    : public BufferedDecompositionPrimitive2D
+{
+private:
+    /// the tools::PolyPolygon geometry
+    basegfx::B2DPolyPolygon maPolyPolygon;
+
+    /// the definition range
+    basegfx::B2DRange maDefinitionRange;
+
+    /// the hatch background color (if used)
+    basegfx::BColor maBackgroundColor;
+
+    /// the hatch definition
+    attribute::FillHatchAttribute maFillHatch;
+
+    /// local decomposition.
+    virtual void
+    create2DDecomposition(Primitive2DContainer& rContainer,
+                          const geometry::ViewInformation2D& rViewInformation) const override;
+
+public:
+    /// constructors. The one without definition range will use output range as definition range
+    PolyPolygonHatchPrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon,
+                                const basegfx::BColor& rBackgroundColor,
+                                const attribute::FillHatchAttribute& rFillHatch);
+    PolyPolygonHatchPrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon,
+                                const basegfx::B2DRange& rDefinitionRange,
+                                const basegfx::BColor& rBackgroundColor,
+                                const attribute::FillHatchAttribute& rFillHatch);
+
+    /// data read access
+    const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
+    const basegfx::B2DRange& getDefinitionRange() const { return maDefinitionRange; }
+    const basegfx::BColor& getBackgroundColor() const { return maBackgroundColor; }
+    const attribute::FillHatchAttribute& getFillHatch() const { return maFillHatch; }
+
+    /// compare operator
+    virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
+
+    /// provide unique ID
+    virtual sal_uInt32 getPrimitive2DID() const override;
+};
+
+// PolyPolygonGraphicPrimitive2D class
+
+/** PolyPolygonGraphicPrimitive2D class
+
+    This primitive defines a tools::PolyPolygon filled with bitmap data
+    (including transparence). The decomosition will create a MaskPrimitive2D
+    containing a FillGraphicPrimitive2D.
+ */
+class DRAWINGLAYER_DLLPUBLIC PolyPolygonGraphicPrimitive2D final
+    : public BufferedDecompositionPrimitive2D
+{
+private:
+    /// the tools::PolyPolygon geometry
+    basegfx::B2DPolyPolygon maPolyPolygon;
+
+    /// the definition range
+    basegfx::B2DRange maDefinitionRange;
+
+    /// the bitmap fill definition (may include tiling)
+    attribute::FillGraphicAttribute maFillGraphic;
+
+    /// local decomposition.
+    virtual void
+    create2DDecomposition(Primitive2DContainer& rContainer,
+                          const geometry::ViewInformation2D& rViewInformation) const override;
+
+public:
+    PolyPolygonGraphicPrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon,
+                                  const basegfx::B2DRange& rDefinitionRange,
+                                  const attribute::FillGraphicAttribute& rFillGraphic);
+
+    /// data read access
+    const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
+    const basegfx::B2DRange& getDefinitionRange() const { return maDefinitionRange; }
+    const attribute::FillGraphicAttribute& getFillGraphic() const { return maFillGraphic; }
+
+    /// compare operator
+    virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
+
+    /// provide unique ID
+    virtual sal_uInt32 getPrimitive2DID() const override;
+};
+
+// PolyPolygonSelectionPrimitive2D class
+
+/** PolyPolygonSelectionPrimitive2D class
+
+    This primitive defines a tools::PolyPolygon which gets filled with a defined color
+    and a defined transparence, but also gets extended ('grown') by the given
+    discrete size (thus being a view-dependent primitive)
+ */
+class DRAWINGLAYER_DLLPUBLIC PolyPolygonSelectionPrimitive2D final
+    : public DiscreteMetricDependentPrimitive2D
+{
+private:
+    /// the tools::PolyPolygon geometry
+    basegfx::B2DPolyPolygon maPolyPolygon;
+
+    /// the color
+    basegfx::BColor maColor;
+
+    /// the transparence [0.0 .. 1.0]
+    double mfTransparence;
+
+    /// the discrete grow size ('pixels'), only positive values allowed
+    double mfDiscreteGrow;
+
+    /// draw polygons filled when fill is set
+    bool mbFill : 1;
+
+    /// local decomposition.
+    virtual void
+    create2DDecomposition(Primitive2DContainer& rContainer,
+                          const geometry::ViewInformation2D& rViewInformation) const override;
+
+public:
+    /// constructor
+    PolyPolygonSelectionPrimitive2D(const basegfx::B2DPolyPolygon& rPolyPolygon,
+                                    const basegfx::BColor& rColor, double fTransparence,
+                                    double fDiscreteGrow, bool bFill);
+
+    /// data read access
+    const basegfx::B2DPolyPolygon& getB2DPolyPolygon() const { return maPolyPolygon; }
+    const basegfx::BColor& getColor() const { return maColor; }
+    double getTransparence() const { return mfTransparence; }
+    double getDiscreteGrow() const { return mfDiscreteGrow; }
+    bool getFill() const { return mbFill; }
+
+    /// compare operator
+    virtual bool operator==(const BasePrimitive2D& rPrimitive) const override;
+
+    /// get range
+    virtual basegfx::B2DRange
+    getB2DRange(const geometry::ViewInformation2D& rViewInformation) const override;
+
+    /// provide unique ID
+    virtual sal_uInt32 getPrimitive2DID() const override;
+};
+} // end of namespace primitive2d::drawinglayer
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/clang-format/blacklist b/solenv/clang-format/blacklist
index 1d5f5913fdcc..ad9b37d19255 100644
--- a/solenv/clang-format/blacklist
+++ b/solenv/clang-format/blacklist
@@ -3701,7 +3701,6 @@ drawinglayer/source/primitive2d/pagepreviewprimitive2d.cxx
 drawinglayer/source/primitive2d/patternfillprimitive2d.cxx
 drawinglayer/source/primitive2d/pointarrayprimitive2d.cxx
 drawinglayer/source/primitive2d/polygonprimitive2d.cxx
-drawinglayer/source/primitive2d/polypolygonprimitive2d.cxx
 drawinglayer/source/primitive2d/primitivetools2d.cxx
 drawinglayer/source/primitive2d/sceneprimitive2d.cxx
 drawinglayer/source/primitive2d/sdrdecompositiontools2d.cxx
@@ -5888,7 +5887,6 @@ include/drawinglayer/primitive2d/pagehierarchyprimitive2d.hxx
 include/drawinglayer/primitive2d/pagepreviewprimitive2d.hxx
 include/drawinglayer/primitive2d/patternfillprimitive2d.hxx
 include/drawinglayer/primitive2d/polygonprimitive2d.hxx
-include/drawinglayer/primitive2d/polypolygonprimitive2d.hxx
 include/drawinglayer/primitive2d/primitivetools2d.hxx
 include/drawinglayer/primitive2d/sceneprimitive2d.hxx
 include/drawinglayer/primitive2d/sdrdecompositiontools2d.hxx


More information about the Libreoffice-commits mailing list