diff options
author | Daniel Robertson <danlrobertson89@gmail.com> | 2015-08-15 15:19:18 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2015-08-15 18:51:31 +0000 |
commit | 849f1d37d575bc752c8f987c7541dbd4bfd998c1 (patch) | |
tree | ee0d97e3bb02208aade7c77aee7f142cf0f2307c /canvas/source/cairo | |
parent | f089de7dc5c367a3123129b08a9050b3bacc4eba (diff) |
canvas: replace for_each with range-based for-loop
Replace ::std::for_each for a more readable range-based for loop in
cases in which the function object to be applied by for_each is more
readable as the body of a for loop.
Change-Id: I6f96833d7f251d44e2308278bb92a7d49fd49bcd
Reviewed-on: https://gerrit.libreoffice.org/17763
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'canvas/source/cairo')
-rw-r--r-- | canvas/source/cairo/cairo_spritecanvashelper.cxx | 103 |
1 files changed, 28 insertions, 75 deletions
diff --git a/canvas/source/cairo/cairo_spritecanvashelper.cxx b/canvas/source/cairo/cairo_spritecanvashelper.cxx index a297810b591c..a1b16436739c 100644 --- a/canvas/source/cairo/cairo_spritecanvashelper.cxx +++ b/canvas/source/cairo/cairo_spritecanvashelper.cxx @@ -19,7 +19,6 @@ #include <sal/config.h> -#include <boost/bind.hpp> #include <boost/cast.hpp> #include <basegfx/range/b2drectangle.hxx> @@ -87,47 +86,6 @@ namespace cairocanvas cairo_restore( pCairo.get() ); } - - /** Repaint sprite at original position - - Used for opaque updates, which render directly to the - device buffer. - */ - void spriteRedrawStub( const CairoSharedPtr& pCairo, - const ::canvas::Sprite::Reference& rSprite ) - { - if( rSprite.is() ) - { - ::boost::polymorphic_downcast< Sprite* >( rSprite.get() )->redraw( pCairo, false ); - } - } - - /** Repaint sprite at given position - - Used for generic update, which renders into device buffer. - */ - void spriteRedrawStub2( const CairoSharedPtr& pCairo, - const ::canvas::Sprite::Reference& rSprite ) - { - if( rSprite.is() ) - { - ::boost::polymorphic_downcast< Sprite* >( rSprite.get() )->redraw( pCairo, true ); - } - } - - /** Repaint sprite at original position - - Used for opaque updates from scrollUpdate(), which render - directly to the front buffer. - */ - void spriteRedrawStub3( const CairoSharedPtr& pCairo, - const ::canvas::SpriteRedrawManager::AreaComponent& rComponent ) - { - const ::canvas::Sprite::Reference& rSprite( rComponent.second.getSprite() ); - - if( rSprite.is() ) - ::boost::polymorphic_downcast< Sprite* >( rSprite.get() )->redraw( pCairo, false ); - } } SpriteCanvasHelper::SpriteCanvasHelper() : @@ -242,10 +200,9 @@ namespace cairocanvas // repaint all active sprites on top of background into // VDev. mpRedrawManager->forEachSprite( - ::boost::bind( - &spriteRedraw, - boost::cref(pCompositingCairo), - _1 ) ); + [&pCompositingCairo]( const Sprite::Reference rSprite ) + { spriteRedraw( pCompositingCairo, rSprite ); } + ); // flush to screen cairo_rectangle( pWindowCairo.get(), 0, 0, rSize.getX(), rSize.getY() ); @@ -328,12 +285,13 @@ namespace cairocanvas // opaque sprite content) // repaint all affected sprites directly to output device - ::std::for_each( rUpdateArea.maComponentList.begin(), - rUpdateArea.maComponentList.end(), - ::boost::bind( - &spriteRedrawStub3, - boost::cref(pCompositingCairo), - _1 ) ); + for( const auto& rComponent : rUpdateArea.maComponentList ) + { + const ::canvas::Sprite::Reference& rSprite( rComponent.second.getSprite() ); + if( rSprite.is() ) + ::boost::polymorphic_downcast< Sprite* >( rSprite.get() )->redraw( + pCompositingCairo, true ); + } } else { @@ -386,12 +344,9 @@ namespace cairocanvas // repaint uncovered areas from sprite. Need to actually // clip here, since we're only repainting _parts_ of the // sprite - ::std::for_each( aUnscrollableAreas.begin(), - aUnscrollableAreas.end(), - ::boost::bind( &opaqueUpdateSpriteArea, - ::boost::cref(aFirst->second.getSprite()), - boost::cref(pCompositingCairo), - _1 ) ); + for( const auto& rArea : aUnscrollableAreas ) + opaqueUpdateSpriteArea( aFirst->second.getSprite(), + pCompositingCairo, rArea ); } // repaint uncovered areas from backbuffer - take the @@ -401,12 +356,9 @@ namespace cairocanvas ::basegfx::computeSetDifference( aUncoveredAreas, rUpdateArea.maTotalBounds, ::basegfx::B2DRange( rDestRect ) ); - ::std::for_each( aUncoveredAreas.begin(), - aUncoveredAreas.end(), - ::boost::bind( &repaintBackground, - boost::cref(pCompositingCairo), - mpOwningSpriteCanvas->getBufferSurface(), - _1 ) ); + for( const auto& rArea : aUncoveredAreas ) + repaintBackground( pCompositingCairo, + mpOwningSpriteCanvas->getBufferSurface(), rArea ); cairo_rectangle( pWindowCairo.get(), 0, 0, rSize.getX(), rSize.getY() ); cairo_clip( pWindowCairo.get() ); @@ -443,12 +395,12 @@ namespace cairocanvas cairo_clip( pCompositingCairo.get() ); // repaint all affected sprites directly to output device - ::std::for_each( rSortedUpdateSprites.begin(), - rSortedUpdateSprites.end(), - ::boost::bind( - &spriteRedrawStub, - boost::cref(pCompositingCairo), - _1 ) ); + for( const auto& rSprite : rSortedUpdateSprites ) + { + if( rSprite.is() ) + ::boost::polymorphic_downcast< Sprite* >( rSprite.get() )->redraw( + pCompositingCairo, false ); + } // flush to screen cairo_rectangle( pWindowCairo.get(), 0, 0, rDeviceSize.getX(), rDeviceSize.getY() ); @@ -512,11 +464,12 @@ namespace cairocanvas // repaint all affected sprites on top of background into // VDev. - ::std::for_each( rSortedUpdateSprites.begin(), - rSortedUpdateSprites.end(), - ::boost::bind( &spriteRedrawStub2, - boost::cref(pCompositingCairo), - _1 ) ); + for( const auto& rSprite : rSortedUpdateSprites ) + { + if( rSprite.is() ) + ::boost::polymorphic_downcast< Sprite* >( rSprite.get() )->redraw( + pCompositingCairo, true ); + } // flush to screen cairo_rectangle( pWindowCairo.get(), aOutputPosition.X(), aOutputPosition.Y(), aOutputSize.Width(), aOutputSize.Height() ); |