summaryrefslogtreecommitdiff
path: root/canvas/source/cairo/cairo_spritecanvashelper.cxx
diff options
context:
space:
mode:
authorDaniel Robertson <danlrobertson89@gmail.com>2015-08-15 15:19:18 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2015-08-15 18:51:31 +0000
commit849f1d37d575bc752c8f987c7541dbd4bfd998c1 (patch)
treeee0d97e3bb02208aade7c77aee7f142cf0f2307c /canvas/source/cairo/cairo_spritecanvashelper.cxx
parentf089de7dc5c367a3123129b08a9050b3bacc4eba (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/cairo_spritecanvashelper.cxx')
-rw-r--r--canvas/source/cairo/cairo_spritecanvashelper.cxx103
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() );