slideshow: replace for_each with range-based for

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. In addition, replace while loops
with range-based for loops when possible and complex implementations
of boost::bind with lambda expressions.

Change-Id: I6adfb18197bd1b8627719adfca2e4c36d58a0e05
Reviewed-on: https://gerrit.libreoffice.org/17786
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
This commit is contained in:
Daniel Robertson
2015-08-16 13:55:51 -04:00
committed by Thorsten Behrens
parent b190574b6a
commit a811d6efe4
9 changed files with 135 additions and 243 deletions

View File

@@ -26,7 +26,6 @@
#include "activity.hxx"
#include "activitiesqueue.hxx"
#include <boost/mem_fn.hpp>
#include <boost/shared_ptr.hpp>
#include <algorithm>
@@ -51,12 +50,10 @@ namespace slideshow
// dispose all queue entries
try
{
std::for_each( maCurrentActivitiesWaiting.begin(),
maCurrentActivitiesWaiting.end(),
boost::mem_fn( &Disposable::dispose ) );
std::for_each( maCurrentActivitiesReinsert.begin(),
maCurrentActivitiesReinsert.end(),
boost::mem_fn( &Disposable::dispose ) );
for( const auto& pActivity : maCurrentActivitiesWaiting )
pActivity->dispose();
for( const auto& pActivity : maCurrentActivitiesReinsert )
pActivity->dispose();
}
catch (uno::Exception &)
{
@@ -169,9 +166,8 @@ namespace slideshow
void ActivitiesQueue::processDequeued()
{
// notify all dequeued activities from last round
::std::for_each( maDequeuedActivities.begin(),
maDequeuedActivities.end(),
::boost::mem_fn( &Activity::dequeued ) );
for( const auto& pActivity : maDequeuedActivities )
pActivity->dequeued();
maDequeuedActivities.clear();
}
@@ -183,14 +179,12 @@ namespace slideshow
void ActivitiesQueue::clear()
{
// dequeue all entries:
std::for_each( maCurrentActivitiesWaiting.begin(),
maCurrentActivitiesWaiting.end(),
boost::mem_fn( &Activity::dequeued ) );
for( const auto& pActivity : maCurrentActivitiesWaiting )
pActivity->dequeued();
ActivityQueue().swap( maCurrentActivitiesWaiting );
std::for_each( maCurrentActivitiesReinsert.begin(),
maCurrentActivitiesReinsert.end(),
boost::mem_fn( &Activity::dequeued ) );
for( const auto& pActivity : maCurrentActivitiesReinsert )
pActivity->dequeued();
ActivityQueue().swap( maCurrentActivitiesReinsert );
}
}

View File

@@ -34,7 +34,6 @@
#include "nodetools.hxx"
#include "generateevent.hxx"
#include <boost/bind.hpp>
#include <vector>
#include <algorithm>
#include <iterator>
@@ -624,10 +623,8 @@ void BaseNode::notifyDeactivating( const AnimationNodeSharedPtr& rNotifier )
void BaseNode::notifyEndListeners() const
{
// notify all listeners
std::for_each( maDeactivatingListeners.begin(),
maDeactivatingListeners.end(),
boost::bind( &AnimationNode::notifyDeactivating, _1,
boost::cref(mpSelf) ) );
for( const auto& rListner : maDeactivatingListeners )
rListner->notifyDeactivating( mpSelf );
// notify state change
maContext.mrEventMultiplexer.notifyAnimationEnd( mpSelf );

View File

@@ -64,10 +64,8 @@ PointerSymbol::PointerSymbol( uno::Reference<rendering::XBitmap> const & xBitm
maPos(),
mbVisible(false)
{
std::for_each( rViewContainer.begin(),
rViewContainer.end(),
[this]( const UnoViewSharedPtr& sp )
{ this->viewAdded(sp); } );
for( const auto& rView : rViewContainer )
viewAdded( rView );
}
void PointerSymbol::setVisible( const bool bVisible )
@@ -76,19 +74,15 @@ void PointerSymbol::setVisible( const bool bVisible )
{
mbVisible = bVisible;
ViewsVecT::const_iterator aIter( maViews.begin() );
ViewsVecT::const_iterator const aEnd ( maViews.end() );
while( aIter != aEnd )
for( const auto& rView : maViews )
{
if( aIter->second )
if( rView.second )
{
if( bVisible )
aIter->second->show();
rView.second->show();
else
aIter->second->hide();
rView.second->hide();
}
++aIter;
}
// sprites changed, need a screen update for this frame.
@@ -173,14 +167,11 @@ void PointerSymbol::viewChanged( const UnoViewSharedPtr& rView )
void PointerSymbol::viewsChanged()
{
// reposition sprites on all views
ViewsVecT::const_iterator aIter( maViews.begin() );
ViewsVecT::const_iterator const aEnd ( maViews.end() );
while( aIter != aEnd )
for( const auto& rView : maViews )
{
if( aIter->second )
aIter->second->movePixel(
calcSpritePos( aIter->first ));
++aIter;
if( rView.second )
rView.second->movePixel(
calcSpritePos( rView.first ) );
}
}
@@ -191,18 +182,15 @@ void PointerSymbol::viewsChanged(const geometry::RealPoint2D pos)
maPos = pos;
// reposition sprites on all views
ViewsVecT::const_iterator aIter( maViews.begin() );
ViewsVecT::const_iterator const aEnd ( maViews.end() );
while( aIter != aEnd )
for( const auto& rView : maViews )
{
if( aIter->second )
if( rView.second )
{
aIter->second->movePixel(
calcSpritePos( aIter->first ));
rView.second->movePixel(
calcSpritePos( rView.first ) );
mrScreenUpdater.notifyUpdate();
mrScreenUpdater.commitUpdates();
}
++aIter;
}
}
}

View File

@@ -167,11 +167,8 @@ RehearseTimingsActivity::RehearseTimingsActivity( const SlideShowContext& rConte
maSpriteSizePixel.setY( metric.GetLineHeight() * 11 / 10 );
mnYOffset = (metric.GetAscent() + (metric.GetLineHeight() / 20));
std::for_each( rContext.mrViewContainer.begin(),
rContext.mrViewContainer.end(),
boost::bind( &RehearseTimingsActivity::viewAdded,
this,
_1 ));
for( const auto& rView : rContext.mrViewContainer )
viewAdded( rView );
}
RehearseTimingsActivity::~RehearseTimingsActivity()

View File

@@ -137,20 +137,18 @@ namespace internal
mpImpl->mbUpdateAllRequest )
{
// unconditionally update all views
std::for_each( mpImpl->mrViewContainer.begin(),
mpImpl->mrViewContainer.end(),
mpImpl->mbViewClobbered ?
boost::mem_fn(&View::paintScreen) :
boost::mem_fn(&View::updateScreen) );
for( const auto& pView : mpImpl->mrViewContainer )
{
if( mpImpl->mbViewClobbered )
pView->paintScreen();
else
pView->updateScreen();
}
}
else if( !mpImpl->maViewUpdateRequests.empty() )
{
// update notified views only
UpdateRequestVector::const_iterator aIter(
mpImpl->maViewUpdateRequests.begin() );
const UpdateRequestVector::const_iterator aEnd(
mpImpl->maViewUpdateRequests.end() );
while( aIter != aEnd )
for( const auto& rViewUpdateRequest : mpImpl->maViewUpdateRequests )
{
// TODO(P1): this is O(n^2) in the number of views, if
// lots of views notify updates.
@@ -159,15 +157,13 @@ namespace internal
UnoViewVector::const_iterator aFoundView;
if( (aFoundView=std::find(mpImpl->mrViewContainer.begin(),
aEndOfViews,
aIter->first)) != aEndOfViews )
rViewUpdateRequest.first)) != aEndOfViews )
{
if( aIter->second )
if( rViewUpdateRequest.second )
(*aFoundView)->paintScreen(); // force-paint
else
(*aFoundView)->updateScreen(); // update changes only
}
++aIter;
}
}
@@ -195,9 +191,8 @@ namespace internal
// TODO(F2): This will interfere with other updates, since it
// happens out-of-sync with main animation loop. Might cause
// artifacts.
std::for_each( mpImpl->mrViewContainer.begin(),
mpImpl->mrViewContainer.end(),
boost::mem_fn(&View::updateScreen) );
for( auto const& pView : mpImpl->mrViewContainer )
pView->updateScreen();
}
void ScreenUpdater::lockUpdates()

View File

@@ -28,7 +28,6 @@
#include "viewappletshape.hxx"
#include "tools.hxx"
#include <boost/bind.hpp>
#include <algorithm>
@@ -128,15 +127,12 @@ namespace slideshow
void AppletShape::implViewChanged( const UnoViewSharedPtr& rView )
{
const ::basegfx::B2DRectangle& rBounds = getBounds();
// determine ViewAppletShape that needs update
ViewAppletShapeVector::const_iterator aIter(maViewAppletShapes.begin());
ViewAppletShapeVector::const_iterator const aEnd (maViewAppletShapes.end());
while( aIter != aEnd )
for( const auto& pViewAppletShape : maViewAppletShapes )
{
if( (*aIter)->getViewLayer()->isOnView(rView) )
(*aIter)->resize(getBounds());
++aIter;
if( pViewAppletShape->getViewLayer()->isOnView( rView ) )
pViewAppletShape->resize( rBounds );
}
}
@@ -145,12 +141,9 @@ namespace slideshow
void AppletShape::implViewsChanged()
{
// resize all ViewShapes
::std::for_each( maViewAppletShapes.begin(),
maViewAppletShapes.end(),
::boost::bind(
&ViewAppletShape::resize,
_1,
AppletShape::getBounds()) );
const ::basegfx::B2DRectangle& rBounds = getBounds();
for( const auto& pViewAppletShape : maViewAppletShapes )
pViewAppletShape->resize( rBounds );
}
@@ -190,21 +183,18 @@ namespace slideshow
OSL_ENSURE( ::std::count_if(maViewAppletShapes.begin(),
aEnd,
::boost::bind<bool>(
::std::equal_to< ViewLayerSharedPtr >(),
::boost::bind( &ViewAppletShape::getViewLayer, _1 ),
::boost::cref( rLayer ) ) ) < 2,
[&rLayer]
( const ViewAppletShapeSharedPtr& pShape )
{ return rLayer == pShape->getViewLayer(); } ) < 2,
"AppletShape::removeViewLayer(): Duplicate ViewLayer entries!" );
ViewAppletShapeVector::iterator aIter;
if( (aIter=::std::remove_if( maViewAppletShapes.begin(),
aEnd,
::boost::bind<bool>(
::std::equal_to< ViewLayerSharedPtr >(),
::boost::bind( &ViewAppletShape::getViewLayer,
_1 ),
::boost::cref( rLayer ) ) )) == aEnd )
[&rLayer]
( const ViewAppletShapeSharedPtr& pShape )
{ return rLayer == pShape->getViewLayer(); } ) ) == aEnd )
{
// view layer seemingly was not added, failed
return false;
@@ -231,10 +221,9 @@ namespace slideshow
// redraw all view shapes, by calling their update() method
if( ::std::count_if( maViewAppletShapes.begin(),
maViewAppletShapes.end(),
::boost::bind<bool>(
::boost::mem_fn( &ViewAppletShape::render ),
_1,
::boost::cref( rCurrBounds ) ) )
[&rCurrBounds]
( const ViewAppletShapeSharedPtr& pShape )
{ return pShape->render( rCurrBounds ); } )
!= static_cast<ViewAppletShapeVector::difference_type>(maViewAppletShapes.size()) )
{
// at least one of the ViewShape::update() calls did return
@@ -249,11 +238,10 @@ namespace slideshow
bool AppletShape::implStartIntrinsicAnimation()
{
::std::for_each( maViewAppletShapes.begin(),
maViewAppletShapes.end(),
::boost::bind( &ViewAppletShape::startApplet,
_1,
getBounds()) );
const ::basegfx::B2DRectangle& rBounds = getBounds();
for( const auto& pViewAppletShape : maViewAppletShapes )
pViewAppletShape->startApplet( rBounds );
mbIsPlaying = true;
return true;
@@ -263,9 +251,8 @@ namespace slideshow
bool AppletShape::implEndIntrinsicAnimation()
{
::std::for_each( maViewAppletShapes.begin(),
maViewAppletShapes.end(),
::boost::mem_fn( &ViewAppletShape::endApplet ) );
for( const auto& pViewAppletShape : maViewAppletShapes )
pViewAppletShape->endApplet();
mbIsPlaying = false;

View File

@@ -62,7 +62,6 @@
#include "gdimtftools.hxx"
#include "drawinglayeranimation.hxx"
#include <boost/bind.hpp>
#include <math.h>
using namespace ::com::sun::star;
@@ -166,19 +165,15 @@ namespace slideshow
// redraw all view shapes, by calling their update() method
ViewShape::RenderArgs renderArgs( getViewRenderArgs() );
bool bVisible = isVisible();
if( ::std::count_if( maViewShapes.begin(),
maViewShapes.end(),
::boost::bind<bool>(
::boost::mem_fn( &ViewShape::update ), // though _theoretically_,
// bind should eat this even
// with _1 being a shared_ptr,
// it does _not_ for MSVC without
// the extra mem_fn. WTF.
_1,
::boost::cref( mpCurrMtf ),
::boost::cref( renderArgs ),
nUpdateFlags,
isVisible() ) )
[this, &bVisible, &renderArgs, &nUpdateFlags]
( const ViewShapeSharedPtr& pShape )
{ return pShape->update( this->mpCurrMtf,
renderArgs,
nUpdateFlags,
bVisible ); } )
!= static_cast<ViewShapeVector::difference_type>(maViewShapes.size()) )
{
// at least one of the ViewShape::update() calls did return
@@ -319,8 +314,8 @@ namespace slideshow
// restore old transformation when leaving the scope
const ::comphelper::ScopeGuard aGuard(
boost::bind( &::cppcanvas::Canvas::setTransformation,
pDestinationCanvas, aOldTransform ) );
[&pDestinationCanvas, &aOldTransform]()
{ return pDestinationCanvas->setTransformation( aOldTransform ); } );
// retrieve bounds for subset of whole metafile
@@ -330,15 +325,10 @@ namespace slideshow
// cannot use ::boost::bind, ::basegfx::B2DRange::expand()
// is overloaded.
VectorOfDocTreeNodes::const_iterator aCurr( rSubsets.begin() );
const VectorOfDocTreeNodes::const_iterator aEnd( rSubsets.end() );
while( aCurr != aEnd )
{
for( const auto& rDocTreeNode : rSubsets )
aTotalBounds.expand( pRenderer->getSubsetArea(
aCurr->getStartIndex(),
aCurr->getEndIndex() ) );
++aCurr;
}
rDocTreeNode.getStartIndex(),
rDocTreeNode.getEndIndex() ) );
OSL_ENSURE( aTotalBounds.getMinX() >= -0.1 &&
aTotalBounds.getMinY() >= -0.1 &&
@@ -632,11 +622,9 @@ namespace slideshow
// already added?
if( ::std::any_of( maViewShapes.begin(),
maViewShapes.end(),
::boost::bind<bool>(
::std::equal_to< ViewLayerSharedPtr >(),
::boost::bind( &ViewShape::getViewLayer,
_1 ),
::boost::cref( rNewLayer ) ) ))
[&rNewLayer]
( const ViewShapeSharedPtr& pShape )
{ return rNewLayer == pShape->getViewLayer(); } ) )
{
// yes, nothing to do
return;
@@ -669,22 +657,18 @@ namespace slideshow
OSL_ENSURE( ::std::count_if(maViewShapes.begin(),
aEnd,
::boost::bind<bool>(
::std::equal_to< ViewLayerSharedPtr >(),
::boost::bind( &ViewShape::getViewLayer,
_1 ),
::boost::cref( rLayer ) ) ) < 2,
[&rLayer]
( const ViewShapeSharedPtr& pShape )
{ return rLayer == pShape->getViewLayer(); } ) < 2,
"DrawShape::removeViewLayer(): Duplicate ViewLayer entries!" );
ViewShapeVector::iterator aIter;
if( (aIter=::std::remove_if( maViewShapes.begin(),
aEnd,
::boost::bind<bool>(
::std::equal_to< ViewLayerSharedPtr >(),
::boost::bind( &ViewShape::getViewLayer,
_1 ),
::boost::cref( rLayer ) ) )) == aEnd )
[&rLayer]
( const ViewShapeSharedPtr& pShape )
{ return rLayer == pShape->getViewLayer(); } ) ) == aEnd )
{
// view layer seemingly was not added, failed
return false;
@@ -745,41 +729,6 @@ namespace slideshow
return maBounds;
}
namespace
{
/** Functor expanding AA border for each passed ViewShape
Could not use ::boost::bind here, since
B2DRange::expand is overloaded (which yields one or
the other template type deduction ambiguous)
*/
class Expander
{
public:
explicit Expander( ::basegfx::B2DSize& rBounds ) :
mrBounds( rBounds )
{
}
void operator()( const ViewShapeSharedPtr& rShape ) const
{
const ::basegfx::B2DSize& rShapeBorder( rShape->getAntialiasingBorder() );
mrBounds.setX(
::std::max(
rShapeBorder.getX(),
mrBounds.getX() ) );
mrBounds.setY(
::std::max(
rShapeBorder.getY(),
mrBounds.getY() ) );
}
private:
::basegfx::B2DSize& mrBounds;
};
}
::basegfx::B2DRectangle DrawShape::getUpdateArea() const
{
::basegfx::B2DRectangle aBounds;
@@ -823,9 +772,17 @@ namespace slideshow
// for every view, get AA border and 'expand' aAABorder
// appropriately.
::std::for_each( maViewShapes.begin(),
maViewShapes.end(),
Expander( aAABorder ) );
for( const auto& rViewShape : maViewShapes )
{
const ::basegfx::B2DSize rShapeBorder( rViewShape->getAntialiasingBorder() );
aAABorder.setX( ::std::max(
rShapeBorder.getX(),
aAABorder.getX() ) );
aAABorder.setY( ::std::max(
rShapeBorder.getY(),
aAABorder.getY() ) );
}
// add calculated AA border to aBounds
aBounds = ::basegfx::B2DRectangle( aBounds.getMinX() - aAABorder.getX(),
@@ -996,10 +953,11 @@ namespace slideshow
basegfx::B2DHomMatrix aTransform;
pCanvas->setTransformation( aTransform /* empty */ );
::cppcanvas::Canvas* pTmpCanvas = pCanvas.get();
comphelper::ScopeGuard const resetOldTransformation(
boost::bind( &cppcanvas::Canvas::setTransformation,
pCanvas.get(),
boost::cref(aOldTransform) ));
[&aOldTransform, &pTmpCanvas]()
{ return pTmpCanvas->setTransformation( aOldTransform ); } );
aTransform.scale( maBounds.getWidth(),
maBounds.getHeight() );
@@ -1022,19 +980,20 @@ namespace slideshow
// slide-absolute position
HyperlinkRegions aTranslatedRegions;
// increase capacity to same size as the container for
// shape-relative hyperlink regions to avoid reallocation
aTranslatedRegions.reserve( maHyperlinkRegions.size() );
const basegfx::B2DPoint& rOffset(getBounds().getMinimum());
HyperlinkRegions::const_iterator aIter( maHyperlinkRegions.begin() );
HyperlinkRegions::const_iterator const aEnd ( maHyperlinkRegions.end() );
while( aIter != aEnd )
for( const auto& cp : maHyperlinkRegions )
{
basegfx::B2DRange const& relRegion( aIter->first );
basegfx::B2DRange const& relRegion( cp.first );
aTranslatedRegions.push_back(
std::make_pair(
basegfx::B2DRange(
relRegion.getMinimum() + rOffset,
relRegion.getMaximum() + rOffset),
aIter->second) );
++aIter;
cp.second) );
}
return aTranslatedRegions;
@@ -1058,9 +1017,8 @@ namespace slideshow
{
// notify all ViewShapes, by calling their enterAnimationMode method.
// We're now entering animation mode
::std::for_each( maViewShapes.begin(),
maViewShapes.end(),
::boost::mem_fn( &ViewShape::enterAnimationMode ) );
for( const auto& rViewShape : maViewShapes )
rViewShape->enterAnimationMode();
}
++mnIsAnimatedCount;
@@ -1077,9 +1035,8 @@ namespace slideshow
{
// notify all ViewShapes, by calling their leaveAnimationMode method.
// we're now leaving animation mode
::std::for_each( maViewShapes.begin(),
maViewShapes.end(),
::boost::mem_fn( &ViewShape::leaveAnimationMode ) );
for( const auto& rViewShape : maViewShapes )
rViewShape->leaveAnimationMode();
}
}

View File

@@ -29,8 +29,6 @@
#include "drawshapesubsetting.hxx"
#include "drawshape.hxx"
#include <boost/bind.hpp>
#include <algorithm>
#include <functional>
#include <limits>
@@ -400,11 +398,8 @@ namespace slideshow
// the whole shape set
// determine new subset range
::std::for_each( maSubsetShapes.begin(),
maSubsetShapes.end(),
::boost::bind(&DrawShapeSubsetting::updateSubsetBounds,
this,
_1 ) );
for( const auto& pShape : maSubsetShapes )
updateSubsetBounds( pShape );
updateSubsets();

View File

@@ -29,7 +29,6 @@
#include "shape.hxx"
#include "tools.hxx"
#include <boost/bind.hpp>
#include <algorithm>
@@ -105,29 +104,21 @@ namespace slideshow
void MediaShape::implViewChanged( const UnoViewSharedPtr& rView )
{
const ::basegfx::B2DRectangle& rBounds = getBounds();
// determine ViewMediaShape that needs update
ViewMediaShapeVector::const_iterator aIter(maViewMediaShapes.begin());
ViewMediaShapeVector::const_iterator const aEnd (maViewMediaShapes.end());
while( aIter != aEnd )
{
if( (*aIter)->getViewLayer()->isOnView(rView) )
(*aIter)->resize(getBounds());
++aIter;
}
for( const auto& pViewMediaShape : maViewMediaShapes )
if( pViewMediaShape->getViewLayer()->isOnView( rView ) )
pViewMediaShape->resize( rBounds );
}
void MediaShape::implViewsChanged()
{
const ::basegfx::B2DRectangle& rBounds = getBounds();
// resize all ViewShapes
::std::for_each( maViewMediaShapes.begin(),
maViewMediaShapes.end(),
::boost::bind(
&ViewMediaShape::resize,
_1,
getBounds()) );
for( const auto& pViewMediaShape : maViewMediaShapes )
pViewMediaShape->resize( rBounds );
}
@@ -156,21 +147,18 @@ namespace slideshow
OSL_ENSURE( ::std::count_if(maViewMediaShapes.begin(),
aEnd,
::boost::bind<bool>(
::std::equal_to< ViewLayerSharedPtr >(),
::boost::bind( &ViewMediaShape::getViewLayer, _1 ),
::boost::cref( rLayer ) ) ) < 2,
[&rLayer]
( const ViewMediaShapeSharedPtr& pShape )
{ return rLayer == pShape->getViewLayer(); } ) < 2,
"MediaShape::removeViewLayer(): Duplicate ViewLayer entries!" );
ViewMediaShapeVector::iterator aIter;
if( (aIter=::std::remove_if( maViewMediaShapes.begin(),
aEnd,
::boost::bind<bool>(
::std::equal_to< ViewLayerSharedPtr >(),
::boost::bind( &ViewMediaShape::getViewLayer,
_1 ),
::boost::cref( rLayer ) ) )) == aEnd )
[&rLayer]
( const ViewMediaShapeSharedPtr& pShape )
{ return rLayer == pShape->getViewLayer(); } ) ) == aEnd )
{
// view layer seemingly was not added, failed
return false;
@@ -197,10 +185,9 @@ namespace slideshow
// redraw all view shapes, by calling their update() method
if( ::std::count_if( maViewMediaShapes.begin(),
maViewMediaShapes.end(),
::boost::bind<bool>(
::boost::mem_fn( &ViewMediaShape::render ),
_1,
::boost::cref( rCurrBounds ) ) )
[&rCurrBounds]
( const ViewMediaShapeSharedPtr& pShape )
{ return pShape->render( rCurrBounds ); } )
!= static_cast<ViewMediaShapeVector::difference_type>(maViewMediaShapes.size()) )
{
// at least one of the ViewShape::update() calls did return
@@ -215,9 +202,8 @@ namespace slideshow
bool MediaShape::implStartIntrinsicAnimation()
{
::std::for_each( maViewMediaShapes.begin(),
maViewMediaShapes.end(),
::boost::mem_fn( &ViewMediaShape::startMedia ) );
for( const auto& pViewMediaShape : maViewMediaShapes )
pViewMediaShape->startMedia();
mbIsPlaying = true;
@@ -228,9 +214,8 @@ namespace slideshow
bool MediaShape::implEndIntrinsicAnimation()
{
::std::for_each( maViewMediaShapes.begin(),
maViewMediaShapes.end(),
::boost::mem_fn( &ViewMediaShape::endMedia ) );
for( const auto& pViewMediaShape : maViewMediaShapes )
pViewMediaShape->endMedia();
mbIsPlaying = false;
@@ -241,9 +226,8 @@ namespace slideshow
bool MediaShape::implPauseIntrinsicAnimation()
{
::std::for_each( maViewMediaShapes.begin(),
maViewMediaShapes.end(),
::boost::mem_fn( &ViewMediaShape::pauseMedia ) );
for( const auto& pViewMediaShape : maViewMediaShapes )
pViewMediaShape->pauseMedia();
mbIsPlaying = false;
@@ -261,10 +245,8 @@ namespace slideshow
void MediaShape::implSetIntrinsicAnimationTime(double fTime)
{
::std::for_each( maViewMediaShapes.begin(),
maViewMediaShapes.end(),
::boost::bind( &ViewMediaShape::setMediaTime,
_1, boost::cref(fTime)) );
for( const auto& pViewMediaShape : maViewMediaShapes )
pViewMediaShape->setMediaTime( fTime );
}