[vlc-devel] [PATCH 1/3] skins2: window_manager: use C++ for: loops
Alexandre Janniaux
ajanni at videolabs.io
Sun Apr 4 14:38:11 UTC 2021
---
modules/gui/skins2/src/window_manager.cpp | 149 ++++++++++------------
1 file changed, 64 insertions(+), 85 deletions(-)
diff --git a/modules/gui/skins2/src/window_manager.cpp b/modules/gui/skins2/src/window_manager.cpp
index 9663b79721..90f901bcf0 100644
--- a/modules/gui/skins2/src/window_manager.cpp
+++ b/modules/gui/skins2/src/window_manager.cpp
@@ -156,11 +156,8 @@ void WindowManager::move( TopWindow &rWindow, int left, int top ) const
checkAnchors( &rWindow, xOffset, yOffset );
// Move all the windows
- WinSet_t::const_iterator it;
- for( it = m_movingWindows.begin(); it != m_movingWindows.end(); ++it )
- {
- (*it)->move( (*it)->getLeft() + xOffset, (*it)->getTop() + yOffset );
- }
+ for( auto window : m_movingWindows )
+ window->move( window->getLeft() + xOffset, window->getTop() + yOffset );
}
@@ -183,29 +180,27 @@ void WindowManager::startResize( GenericLayout &rLayout, Direction_t direction )
const AncList_t &ancList1 = rLayout.getAnchorList();
// Iterate through all the hanged windows
- for( itWin = m_dependencies[rLayout.getWindow()].begin();
- itWin != m_dependencies[rLayout.getWindow()].end(); ++itWin )
+ for( auto window : m_dependencies[rLayout.getWindow()] )
{
// Now, check for anchoring between the 2 windows
const AncList_t &ancList2 =
- (*itWin)->getActiveLayout().getAnchorList();
- for( itAnc1 = ancList1.begin(); itAnc1 != ancList1.end(); ++itAnc1 )
+ window->getActiveLayout().getAnchorList();
+ for( auto anc1 : ancList1 )
{
- for( itAnc2 = ancList2.begin();
- itAnc2 != ancList2.end(); ++itAnc2 )
+ for( auto anc2 : ancList2 )
{
- if( (*itAnc1)->isHanging( **itAnc2 ) )
+ if( anc1->isHanging( *anc2 ) )
{
// Add the dependencies of the hanged window to one of the
// lists of moving windows
Position::Ref_t aRefPos =
- (*itAnc1)->getPosition().getRefLeftTop();
+ anc1->getPosition().getRefLeftTop();
if( aRefPos == Position::kRightTop )
- buildDependSet( m_resizeMovingE, *itWin );
+ buildDependSet( m_resizeMovingE, window );
else if( aRefPos == Position::kLeftBottom )
- buildDependSet( m_resizeMovingS, *itWin );
+ buildDependSet( m_resizeMovingS, window );
else if( aRefPos == Position::kRightBottom )
- buildDependSet( m_resizeMovingSE, *itWin );
+ buildDependSet( m_resizeMovingSE, window );
break;
}
}
@@ -285,33 +280,32 @@ void WindowManager::resize( GenericLayout &rLayout,
rLayout.refreshAll();
// Move all the anchored windows
- WinSet_t::const_iterator it;
if( m_direction == kResizeE ||
m_direction == kResizeSE )
{
- for( it = m_resizeMovingE.begin(); it != m_resizeMovingE.end(); ++it )
+ for( auto window : m_resizeMovingE )
{
- (*it)->move( (*it)->getLeft() + xNewOffset,
- (*it)->getTop() );
+ window->move( window->getLeft() + xNewOffset,
+ window->getTop() );
}
}
if( m_direction == kResizeS ||
m_direction == kResizeSE )
{
- for( it = m_resizeMovingS.begin(); it != m_resizeMovingS.end(); ++it )
+ for( auto window : m_resizeMovingS )
{
- (*it)->move( (*it)->getLeft(),
- (*it)->getTop( )+ yNewOffset );
+ window->move( window->getLeft(),
+ window->getTop( )+ yNewOffset );
}
}
if( m_direction == kResizeE ||
m_direction == kResizeS ||
m_direction == kResizeSE )
{
- for( it = m_resizeMovingSE.begin(); it != m_resizeMovingSE.end(); ++it )
+ for( auto window : m_resizeMovingSE )
{
- (*it)->move( (*it)->getLeft() + xNewOffset,
- (*it)->getTop() + yNewOffset );
+ window->move( window->getLeft() + xNewOffset,
+ window->getTop() + yNewOffset );
}
}
}
@@ -365,13 +359,12 @@ void WindowManager::unmaximize( TopWindow &rWindow )
void WindowManager::synchVisibility() const
{
- WinSet_t::const_iterator it;
- for( it = m_allWindows.begin(); it != m_allWindows.end(); ++it )
+ for( auto window : m_allWindows )
{
// Show the window if it has to be visible
- if( (*it)->getVisibleVar().get() )
+ if( window->getVisibleVar().get() )
{
- (*it)->innerShow();
+ window->innerShow();
}
}
}
@@ -379,14 +372,13 @@ void WindowManager::synchVisibility() const
void WindowManager::saveVisibility()
{
- WinSet_t::const_iterator it;
m_savedWindows.clear();
- for( it = m_allWindows.begin(); it != m_allWindows.end(); ++it )
+ for( auto window : m_allWindows )
{
// Remember the window if it is visible
- if( (*it)->getVisibleVar().get() )
+ if( window->getVisibleVar().get() )
{
- m_savedWindows.insert( *it );
+ m_savedWindows.insert( window );
}
}
}
@@ -400,10 +392,9 @@ void WindowManager::restoreVisibility() const
msg_Warn( getIntf(), "restoring visibility for no window" );
}
- WinSet_t::const_iterator it;
- for( it = m_savedWindows.begin(); it != m_savedWindows.end(); ++it )
+ for( auto window : m_savedWindows )
{
- (*it)->show();
+ window->show();
}
}
@@ -411,10 +402,9 @@ void WindowManager::restoreVisibility() const
void WindowManager::raiseAll() const
{
// Raise all the windows
- WinSet_t::const_iterator it;
- for( it = m_allWindows.begin(); it != m_allWindows.end(); ++it )
+ for( auto window : m_allWindows )
{
- (*it)->raise();
+ window->raise();
}
}
@@ -422,14 +412,13 @@ void WindowManager::raiseAll() const
void WindowManager::showAll( bool firstTime ) const
{
// Show all the windows
- WinSet_t::const_iterator it;
- for( it = m_allWindows.begin(); it != m_allWindows.end(); ++it )
+ for( auto window : m_allWindows )
{
// When the theme is opened for the first time,
// only show the window if set as visible in the XML
- if( (*it)->getInitialVisibility() || !firstTime )
+ if( window->getInitialVisibility() || !firstTime )
{
- (*it)->show();
+ window->show();
}
}
}
@@ -446,10 +435,9 @@ void WindowManager::show( TopWindow &rWindow ) const
void WindowManager::hideAll() const
{
- WinSet_t::const_iterator it;
- for( it = m_allWindows.begin(); it != m_allWindows.end(); ++it )
+ for( auto window : m_allWindows )
{
- (*it)->hide();
+ window->hide();
}
}
@@ -461,10 +449,9 @@ void WindowManager::setOnTop( bool b_ontop )
pVarOnTop->set( b_ontop );
// set/unset the "on top" status
- WinSet_t::const_iterator it;
- for( it = m_allWindows.begin(); it != m_allWindows.end(); ++it )
+ for( auto window : m_allWindows )
{
- (*it)->toggleOnTop( b_ontop );
+ window->toggleOnTop( b_ontop );
}
}
@@ -485,13 +472,12 @@ void WindowManager::buildDependSet( WinSet_t &rWinSet,
// Iterate through the anchored windows
const WinSet_t &anchored = m_dependencies[pWindow];
- WinSet_t::const_iterator iter;
- for( iter = anchored.begin(); iter != anchored.end(); ++iter )
+ for( auto window : anchored )
{
// Check that the window isn't already in the set before adding it
- if( rWinSet.find( *iter ) == rWinSet.end() )
+ if( rWinSet.find( window ) == rWinSet.end() )
{
- buildDependSet( rWinSet, *iter );
+ buildDependSet( rWinSet, window );
}
}
}
@@ -501,85 +487,78 @@ void WindowManager::checkAnchors( TopWindow *pWindow,
int &xOffset, int &yOffset ) const
{
(void)pWindow;
- WinSet_t::const_iterator itMov, itSta;
- AncList_t::const_iterator itAncMov, itAncSta;
// Check magnetism with screen edges first (actually it is the work area)
SkinsRect workArea = OSFactory::instance( getIntf() )->getWorkArea();
// Iterate through the moving windows
- for( itMov = m_movingWindows.begin();
- itMov != m_movingWindows.end(); ++itMov )
+ for( auto moving : m_movingWindows )
{
// Skip the invisible windows
- if( ! (*itMov)->getVisibleVar().get() )
+ if( !moving->getVisibleVar().get() )
{
continue;
}
- int newLeft = (*itMov)->getLeft() + xOffset;
- int newTop = (*itMov)->getTop() + yOffset;
+ int newLeft = moving->getLeft() + xOffset;
+ int newTop = moving->getTop() + yOffset;
if( newLeft > workArea.getLeft() - m_magnet &&
newLeft < workArea.getLeft() + m_magnet )
{
- xOffset = workArea.getLeft() - (*itMov)->getLeft();
+ xOffset = workArea.getLeft() - moving->getLeft();
}
if( newTop > workArea.getTop() - m_magnet &&
newTop < workArea.getTop() + m_magnet )
{
- yOffset = workArea.getTop() - (*itMov)->getTop();
+ yOffset = workArea.getTop() - moving->getTop();
}
int right = workArea.getLeft() + workArea.getWidth();
- if( newLeft + (*itMov)->getWidth() > right - m_magnet &&
- newLeft + (*itMov)->getWidth() < right + m_magnet )
+ if( newLeft + moving->getWidth() > right - m_magnet &&
+ newLeft + moving->getWidth() < right + m_magnet )
{
- xOffset = right - (*itMov)->getLeft() - (*itMov)->getWidth();
+ xOffset = right - moving->getLeft() - moving->getWidth();
}
int bottom = workArea.getTop() + workArea.getHeight();
- if( newTop + (*itMov)->getHeight() > bottom - m_magnet &&
- newTop + (*itMov)->getHeight() < bottom + m_magnet )
+ if( newTop + moving->getHeight() > bottom - m_magnet &&
+ newTop + moving->getHeight() < bottom + m_magnet )
{
- yOffset = bottom - (*itMov)->getTop() - (*itMov)->getHeight();
+ yOffset = bottom - moving->getTop() - moving->getHeight();
}
}
// Iterate through the moving windows
- for( itMov = m_movingWindows.begin();
- itMov != m_movingWindows.end(); ++itMov )
+ for( auto moving : m_movingWindows )
{
// Skip the invisible windows
- if( ! (*itMov)->getVisibleVar().get() )
+ if( !moving->getVisibleVar().get() )
{
continue;
}
// Get the anchors in the main layout of this moving window
const AncList_t &movAnchors =
- (*itMov)->getActiveLayout().getAnchorList();
+ moving->getActiveLayout().getAnchorList();
// Iterate through the static windows
- for( itSta = m_allWindows.begin();
- itSta != m_allWindows.end(); ++itSta )
+ for( auto window : m_allWindows )
{
// Skip the moving windows and the invisible ones
- if( m_movingWindows.find( (*itSta) ) != m_movingWindows.end() ||
- ! (*itSta)->getVisibleVar().get() )
+ if( m_movingWindows.find( window ) != m_movingWindows.end() ||
+ ! window->getVisibleVar().get() )
{
continue;
}
// Get the anchors in the main layout of this static window
const AncList_t &staAnchors =
- (*itSta)->getActiveLayout().getAnchorList();
+ window->getActiveLayout().getAnchorList();
// Check if there is an anchoring between one of the movAnchors
// and one of the staAnchors
- for( itAncMov = movAnchors.begin();
- itAncMov != movAnchors.end(); ++itAncMov )
+ for( auto movAnchor : movAnchors )
{
- for( itAncSta = staAnchors.begin();
- itAncSta != staAnchors.end(); ++itAncSta )
+ for( auto staAnchor : staAnchors )
{
- if( (*itAncSta)->canHang( **itAncMov, xOffset, yOffset ) )
+ if( staAnchor->canHang( *movAnchor, xOffset, yOffset ) )
{
// We have found an anchoring!
// There is nothing to do here, since xOffset and
@@ -593,8 +572,8 @@ void WindowManager::checkAnchors( TopWindow *pWindow,
// Temporary variables
int xOffsetTemp = -xOffset;
int yOffsetTemp = -yOffset;
- if( (*itAncMov)->canHang( **itAncSta, xOffsetTemp,
- yOffsetTemp ) )
+ if( movAnchor->canHang( *staAnchor, xOffsetTemp,
+ yOffsetTemp ) )
{
// We have found an anchoring!
// xOffsetTemp and yOffsetTemp have been updated,
--
2.31.1
More information about the vlc-devel
mailing list