diff options
-rw-r--r-- | basegfx/source/polygon/b2dtrapezoid.cxx | 6 | ||||
-rw-r--r-- | basegfx/test/boxclipper.cxx | 2 | ||||
-rw-r--r-- | compilerplugins/clang/sequenceloop.cxx | 5 | ||||
-rw-r--r-- | svx/source/sdr/contact/viewcontactofsdrpathobj.cxx | 2 | ||||
-rw-r--r-- | svx/source/svdraw/svdotextpathdecomposition.cxx | 2 | ||||
-rw-r--r-- | vcl/headless/svpgdi.cxx | 2 | ||||
-rw-r--r-- | vcl/source/filter/wmf/emfwr.cxx | 4 | ||||
-rw-r--r-- | vcl/source/filter/wmf/wmfwr.cxx | 4 | ||||
-rw-r--r-- | vcl/source/gdi/FileDefinitionWidgetDraw.cxx | 2 | ||||
-rw-r--r-- | vcl/source/gdi/lineinfo.cxx | 4 | ||||
-rw-r--r-- | vcl/source/outdev/line.cxx | 8 | ||||
-rw-r--r-- | vcl/source/outdev/polygon.cxx | 4 | ||||
-rw-r--r-- | vcl/source/outdev/transparent.cxx | 4 | ||||
-rw-r--r-- | vcl/unx/generic/gdi/salgdi.cxx | 2 |
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()); |