summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--basegfx/source/polygon/b2dtrapezoid.cxx6
-rw-r--r--basegfx/test/boxclipper.cxx2
-rw-r--r--compilerplugins/clang/sequenceloop.cxx5
-rw-r--r--svx/source/sdr/contact/viewcontactofsdrpathobj.cxx2
-rw-r--r--svx/source/svdraw/svdotextpathdecomposition.cxx2
-rw-r--r--vcl/headless/svpgdi.cxx2
-rw-r--r--vcl/source/filter/wmf/emfwr.cxx4
-rw-r--r--vcl/source/filter/wmf/wmfwr.cxx4
-rw-r--r--vcl/source/gdi/FileDefinitionWidgetDraw.cxx2
-rw-r--r--vcl/source/gdi/lineinfo.cxx4
-rw-r--r--vcl/source/outdev/line.cxx8
-rw-r--r--vcl/source/outdev/polygon.cxx4
-rw-r--r--vcl/source/outdev/transparent.cxx4
-rw-r--r--vcl/unx/generic/gdi/salgdi.cxx2
14 files changed, 27 insertions, 24 deletions
diff --git a/basegfx/source/polygon/b2dtrapezoid.cxx b/basegfx/source/polygon/b2dtrapezoid.cxx
index f30001f52d2a..3a255c18a7a3 100644
--- a/basegfx/source/polygon/b2dtrapezoid.cxx
+++ b/basegfx/source/polygon/b2dtrapezoid.cxx
@@ -496,7 +496,7 @@ namespace basegfx::trapezoidhelper
aSource = aSource.getDefaultAdaptiveSubdivision();
}
- for(const auto& aPolygonCandidate : aSource)
+ for(const auto& aPolygonCandidate : std::as_const(aSource))
{
// 1st run: count points
const sal_uInt32 nCount(aPolygonCandidate.count());
@@ -513,7 +513,7 @@ namespace basegfx::trapezoidhelper
// after 2nd loop since pointers to it are used in the edges
maPoints.reserve(nAllPointCount);
- for(const auto& aPolygonCandidate : aSource)
+ for(const auto& aPolygonCandidate : std::as_const(aSource))
{
// 2nd run: add points
const sal_uInt32 nCount(aPolygonCandidate.count());
@@ -533,7 +533,7 @@ namespace basegfx::trapezoidhelper
// in the edges may be wrong. Security first here.
sal_uInt32 nStartIndex(0);
- for(const auto& aPolygonCandidate : aSource)
+ for(const auto& aPolygonCandidate : std::as_const(aSource))
{
const sal_uInt32 nCount(aPolygonCandidate.count());
diff --git a/basegfx/test/boxclipper.cxx b/basegfx/test/boxclipper.cxx
index 8aaa45be9fbc..b65f25bae425 100644
--- a/basegfx/test/boxclipper.cxx
+++ b/basegfx/test/boxclipper.cxx
@@ -158,7 +158,7 @@ public:
static constexpr OUStringLiteral randomSvg=u"m394 783h404v57h-404zm-197-505h571v576h-571zm356-634h75v200h-75zm-40-113h403v588h-403zm93-811h111v494h-111zm-364-619h562v121h-562zm-134-8h292v27h-292zm110 356h621v486h-621zm78-386h228v25h-228zm475-345h201v201h-201zm-2-93h122v126h-122zm-417-243h567v524h-567zm-266-738h863v456h-863zm262-333h315v698h-315zm-328-826h43v393h-43zm830-219h120v664h-120zm-311-636h221v109h-221zm-500 137h628v19h-628zm681-94h211v493h-211zm-366-646h384v355h-384zm-189-199h715v247h-715zm165-459h563v601h-563zm258-479h98v606h-98zm270-517h65v218h-65zm-44-259h96v286h-96zm-599-202h705v468h-705zm216-803h450v494h-450zm-150-22h26v167h-26zm-55-599h50v260h-50zm190-278h490v387h-490zm-290-453h634v392h-634zm257 189h552v300h-552zm-151-690h136v455h-136zm12-597h488v432h-488zm501-459h48v39h-48zm-224-112h429v22h-429zm-281 102h492v621h-492zm519-158h208v17h-208zm-681-563h56v427h-56zm126-451h615v392h-615zm-47-410h598v522h-598zm-32 316h79v110h-79zm-71-129h18v127h-18zm126-993h743v589h-743zm211-430h428v750h-428zm61-554h100v220h-100zm-353-49h658v157h-658zm778-383h115v272h-115zm-249-541h119v712h-119zm203 86h94v40h-94z";
B2DPolyPolygon randomPoly;
CPPUNIT_ASSERT(utils::importFromSvgD(randomPoly, randomSvg, false, nullptr));
- for (auto const& aPolygon : randomPoly)
+ for (auto const& aPolygon : std::as_const(randomPoly))
aRandomIntersections.appendElement(aPolygon.getB2DRange(), B2VectorOrientation::Negative);
#endif
}
diff --git a/compilerplugins/clang/sequenceloop.cxx b/compilerplugins/clang/sequenceloop.cxx
index 7f14d6c4d951..8c931d70d5d1 100644
--- a/compilerplugins/clang/sequenceloop.cxx
+++ b/compilerplugins/clang/sequenceloop.cxx
@@ -56,7 +56,10 @@ bool SequenceLoop::VisitCXXForRangeStmt(CXXForRangeStmt const* forStmt)
.Namespace("star")
.Namespace("sun")
.Namespace("com")
- .GlobalNamespace())
+ .GlobalNamespace()
+ // B2DPolyPolygon is similar in that accessing the non-const begin()/end() methods
+ // might trigger unnecessary copying
+ && !tc.Class("B2DPolyPolygon").Namespace("basegfx").GlobalNamespace())
return true;
const VarDecl* varDecl = forStmt->getLoopVariable();
auto tc2 = loplugin::TypeCheck(varDecl->getType());
diff --git a/svx/source/sdr/contact/viewcontactofsdrpathobj.cxx b/svx/source/sdr/contact/viewcontactofsdrpathobj.cxx
index 00e3f1054bd9..7786c875bbde 100644
--- a/svx/source/sdr/contact/viewcontactofsdrpathobj.cxx
+++ b/svx/source/sdr/contact/viewcontactofsdrpathobj.cxx
@@ -46,7 +46,7 @@ namespace sdr::contact
sal_uInt32 nPolyCount(rUnitPolyPolygon.count());
sal_uInt32 nPointCount(0);
- for(auto const& rPolygon : rUnitPolyPolygon)
+ for(auto const& rPolygon : std::as_const(rUnitPolyPolygon))
{
nPointCount += rPolygon.count();
}
diff --git a/svx/source/svdraw/svdotextpathdecomposition.cxx b/svx/source/svdraw/svdotextpathdecomposition.cxx
index 44f72ec8de07..d97d9129124b 100644
--- a/svx/source/svdraw/svdotextpathdecomposition.cxx
+++ b/svx/source/svdraw/svdotextpathdecomposition.cxx
@@ -557,7 +557,7 @@ namespace
basegfx::B2DPolyPolygon aB2DPolyPolygon = rB2DPolyPolygon;
aB2DPolyPolygon.transform(rTransform);
- for(auto const& rPolygon : aB2DPolyPolygon)
+ for(auto const& rPolygon : std::as_const(aB2DPolyPolygon))
{
// create one primitive per polygon
rTarget.push_back(
diff --git a/vcl/headless/svpgdi.cxx b/vcl/headless/svpgdi.cxx
index c756c79ae60a..926ef9fe1f6d 100644
--- a/vcl/headless/svpgdi.cxx
+++ b/vcl/headless/svpgdi.cxx
@@ -1942,7 +1942,7 @@ bool SvpSalGraphics::drawGradient(const tools::PolyPolygon& rPolyPolygon, const
else
{
basegfx::B2DPolyPolygon aB2DPolyPolygon(rPolyPolygon.getB2DPolyPolygon());
- for (auto const & rPolygon : aB2DPolyPolygon)
+ for (auto const & rPolygon : std::as_const(aB2DPolyPolygon))
{
basegfx::B2DHomMatrix rObjectToDevice;
AddPolygonToPath(cr, rPolygon, rObjectToDevice, !getAntiAlias(), false);
diff --git a/vcl/source/filter/wmf/emfwr.cxx b/vcl/source/filter/wmf/emfwr.cxx
index 6c6428959652..8c7f90654a14 100644
--- a/vcl/source/filter/wmf/emfwr.cxx
+++ b/vcl/source/filter/wmf/emfwr.cxx
@@ -950,7 +950,7 @@ void EMFWriter::Impl_handleLineInfoPolyPolygons(const LineInfo& rInfo, const bas
if(aLinePolyPolygon.count())
{
- for(auto const& rB2DPolygon : aLinePolyPolygon)
+ for(auto const& rB2DPolygon : std::as_const(aLinePolyPolygon))
{
ImplWritePolygonRecord( tools::Polygon(rB2DPolygon), false );
}
@@ -965,7 +965,7 @@ void EMFWriter::Impl_handleLineInfoPolyPolygons(const LineInfo& rInfo, const bas
maVDev->SetLineColor();
maVDev->SetFillColor(aOldLineColor);
- for(auto const& rB2DPolygon : aFillPolyPolygon)
+ for(auto const& rB2DPolygon : std::as_const(aFillPolyPolygon))
{
ImplWritePolyPolygonRecord(tools::PolyPolygon( tools::Polygon(rB2DPolygon) ));
}
diff --git a/vcl/source/filter/wmf/wmfwr.cxx b/vcl/source/filter/wmf/wmfwr.cxx
index 90e51a4ca93b..ae62d54866d3 100644
--- a/vcl/source/filter/wmf/wmfwr.cxx
+++ b/vcl/source/filter/wmf/wmfwr.cxx
@@ -984,7 +984,7 @@ void WMFWriter::HandleLineInfoPolyPolygons(const LineInfo& rInfo, const basegfx:
aSrcLineInfo = rInfo;
SetLineAndFillAttr();
- for(auto const& rB2DPolygon : aLinePolyPolygon)
+ for(auto const& rB2DPolygon : std::as_const(aLinePolyPolygon))
{
WMFRecord_PolyLine( tools::Polygon(rB2DPolygon) );
}
@@ -1000,7 +1000,7 @@ void WMFWriter::HandleLineInfoPolyPolygons(const LineInfo& rInfo, const basegfx:
aSrcFillColor = aOldLineColor;
SetLineAndFillAttr();
- for(auto const& rB2DPolygon : aFillPolyPolygon)
+ for(auto const& rB2DPolygon : std::as_const(aFillPolyPolygon))
{
WMFRecord_Polygon( tools::Polygon(rB2DPolygon) );
}
diff --git a/vcl/source/gdi/FileDefinitionWidgetDraw.cxx b/vcl/source/gdi/FileDefinitionWidgetDraw.cxx
index 4a8f8bd8d953..ec840c984d80 100644
--- a/vcl/source/gdi/FileDefinitionWidgetDraw.cxx
+++ b/vcl/source/gdi/FileDefinitionWidgetDraw.cxx
@@ -384,7 +384,7 @@ void drawFromDrawCommands(gfx::DrawRoot const& rDrawRoot, SalGraphics& rGraphics
{
rGraphics.SetLineColor(Color(*rPath.mpStrokeColor));
rGraphics.SetFillColor();
- for (auto const& rPolygon : aPolyPolygon)
+ for (auto const& rPolygon : std::as_const(aPolyPolygon))
{
FileDefinitionWidgetDraw::drawPolyLine(
rGraphics, basegfx::B2DHomMatrix(), rPolygon, 1.0 - rPath.mnOpacity,
diff --git a/vcl/source/gdi/lineinfo.cxx b/vcl/source/gdi/lineinfo.cxx
index 345eeb21a678..27f4e408f95f 100644
--- a/vcl/source/gdi/lineinfo.cxx
+++ b/vcl/source/gdi/lineinfo.cxx
@@ -238,7 +238,7 @@ void LineInfo::applyToB2DPolyPolygon(
{
basegfx::B2DPolyPolygon aResult;
- for(auto const& rPolygon : io_rLinePolyPolygon)
+ for(auto const& rPolygon : std::as_const(io_rLinePolyPolygon))
{
basegfx::B2DPolyPolygon aLineTarget;
basegfx::utils::applyLineDashing(
@@ -257,7 +257,7 @@ void LineInfo::applyToB2DPolyPolygon(
const double fHalfLineWidth((GetWidth() * 0.5) + 0.5);
- for(auto const& rPolygon : io_rLinePolyPolygon)
+ for(auto const& rPolygon : std::as_const(io_rLinePolyPolygon))
{
o_rFillPolyPolygon.append(basegfx::utils::createAreaGeometry(
rPolygon,
diff --git a/vcl/source/outdev/line.cxx b/vcl/source/outdev/line.cxx
index e7e84b58ad54..479705082265 100644
--- a/vcl/source/outdev/line.cxx
+++ b/vcl/source/outdev/line.cxx
@@ -184,7 +184,7 @@ void OutputDevice::drawLine( basegfx::B2DPolyPolygon aLinePolyPolygon, const Lin
{
basegfx::B2DPolyPolygon aResult;
- for(auto const& rPolygon : aLinePolyPolygon)
+ for(auto const& rPolygon : std::as_const(aLinePolyPolygon))
{
basegfx::B2DPolyPolygon aLineTarget;
basegfx::utils::applyLineDashing(
@@ -212,7 +212,7 @@ void OutputDevice::drawLine( basegfx::B2DPolyPolygon aLinePolyPolygon, const Lin
aLinePolyPolygon = basegfx::utils::adaptiveSubdivideByDistance(aLinePolyPolygon, 1.0);
}
- for(auto const& rPolygon : aLinePolyPolygon)
+ for(auto const& rPolygon : std::as_const(aLinePolyPolygon))
{
aFillPolyPolygon.append(basegfx::utils::createAreaGeometry(
rPolygon,
@@ -229,7 +229,7 @@ void OutputDevice::drawLine( basegfx::B2DPolyPolygon aLinePolyPolygon, const Lin
if(aLinePolyPolygon.count())
{
- for(auto const& rB2DPolygon : aLinePolyPolygon)
+ for(auto const& rB2DPolygon : std::as_const(aLinePolyPolygon))
{
const bool bPixelSnapHairline(mnAntialiasing & AntialiasingFlags::PixelSnapHairline);
bool bDone(false);
@@ -283,7 +283,7 @@ void OutputDevice::drawLine( basegfx::B2DPolyPolygon aLinePolyPolygon, const Lin
if(!bDone)
{
- for(auto const& rB2DPolygon : aFillPolyPolygon)
+ for(auto const& rB2DPolygon : std::as_const(aFillPolyPolygon))
{
tools::Polygon aPolygon(rB2DPolygon);
diff --git a/vcl/source/outdev/polygon.cxx b/vcl/source/outdev/polygon.cxx
index e59ec9630690..772c2dbdea07 100644
--- a/vcl/source/outdev/polygon.cxx
+++ b/vcl/source/outdev/polygon.cxx
@@ -90,7 +90,7 @@ void OutputDevice::DrawPolyPolygon( const tools::PolyPolygon& rPolyPoly )
{
const bool bPixelSnapHairline(mnAntialiasing & AntialiasingFlags::PixelSnapHairline);
- for(auto const& rPolygon : aB2DPolyPolygon)
+ for(auto const& rPolygon : std::as_const(aB2DPolyPolygon))
{
bSuccess = mpGraphics->DrawPolyLine(
aTransform,
@@ -320,7 +320,7 @@ void OutputDevice::ImplDrawPolyPolygonWithB2DPolyPolygon(const basegfx::B2DPolyP
{
const bool bPixelSnapHairline(mnAntialiasing & AntialiasingFlags::PixelSnapHairline);
- for(auto const& rPolygon : aB2DPolyPolygon)
+ for(auto const& rPolygon : std::as_const(aB2DPolyPolygon))
{
bSuccess = mpGraphics->DrawPolyLine(
aTransform,
diff --git a/vcl/source/outdev/transparent.cxx b/vcl/source/outdev/transparent.cxx
index 28e70a6f0f49..1648745d41e0 100644
--- a/vcl/source/outdev/transparent.cxx
+++ b/vcl/source/outdev/transparent.cxx
@@ -172,7 +172,7 @@ void OutputDevice::DrawTransparent(
{
const bool bPixelSnapHairline(mnAntialiasing & AntialiasingFlags::PixelSnapHairline);
- for(auto const& rPolygon : aB2DPolyPolygon)
+ for(auto const& rPolygon : std::as_const(aB2DPolyPolygon))
{
mpGraphics->DrawPolyLine(
aFullTransform,
@@ -293,7 +293,7 @@ bool OutputDevice::DrawTransparentNatively ( const tools::PolyPolygon& rPolyPoly
// draw the border line
const bool bPixelSnapHairline(mnAntialiasing & AntialiasingFlags::PixelSnapHairline);
- for(auto const& rPolygon : aB2DPolyPolygon)
+ for(auto const& rPolygon : std::as_const(aB2DPolyPolygon))
{
bDrawn = mpGraphics->DrawPolyLine(
aTransform,
diff --git a/vcl/unx/generic/gdi/salgdi.cxx b/vcl/unx/generic/gdi/salgdi.cxx
index 544882fe6dc4..e809923fb3bd 100644
--- a/vcl/unx/generic/gdi/salgdi.cxx
+++ b/vcl/unx/generic/gdi/salgdi.cxx
@@ -613,7 +613,7 @@ bool X11SalGraphics::drawPolyPolygon(
cairo_t* cr = getCairoContext();
clipRegion(cr);
- for(auto const& rPolygon : aPolyPolygon)
+ for(auto const& rPolygon : std::as_const(aPolyPolygon))
{
const sal_uInt32 nPointCount(rPolygon.count());