From 7c22d03fb6394ae4b9a82061cb160c1bcd7df8da Mon Sep 17 00:00:00 2001 From: Thorsten Behrens Date: Thu, 3 Nov 2011 09:48:52 +0100 Subject: [PATCH] Better fix for removed RangeExpander The sole reason for that late class was the overloaded Range::expand() method - but it's actually quite easy to disambiguate that for boost::bind. --- canvas/source/tools/spriteredrawmanager.cxx | 22 +++------------------ 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/canvas/source/tools/spriteredrawmanager.cxx b/canvas/source/tools/spriteredrawmanager.cxx index 730361c78e62..8f6f306946f8 100644 --- a/canvas/source/tools/spriteredrawmanager.cxx +++ b/canvas/source/tools/spriteredrawmanager.cxx @@ -222,24 +222,6 @@ namespace canvas SpriteRedrawManager::SpriteConnectedRanges& mrUpdater; const SpriteRedrawManager::VectorOfChangeRecords& mrChangeContainer; }; - - class RangeExpander - { - private: - basegfx::B2DRange& mrBounds; - - public: - typedef void result_type; - - RangeExpander( basegfx::B2DRange& rBounds ) : mrBounds( rBounds ) - { - } - - void operator()( const basegfx::B2DRange& rBounds ) - { - mrBounds.expand( rBounds ); - } - }; } void SpriteRedrawManager::setupUpdateAreas( SpriteConnectedRanges& rUpdateAreas ) const @@ -441,7 +423,9 @@ namespace canvas ::basegfx::B2DRange aTrueArea( aBegin->second.getUpdateArea() ); ::std::for_each( aBegin, aEnd, - ::boost::bind( RangeExpander(aTrueArea), + ::boost::bind( (void (basegfx::B2DRange::*)(const basegfx::B2DRange&))( + &basegfx::B2DRange::expand), + aTrueArea, ::boost::bind( &SpriteInfo::getUpdateArea, ::boost::bind( ::o3tl::select2nd(), _1 ) ) ) );