[vlc-commits] skins2: cosmetics (no functional change)

Erwan Tulou git at videolan.org
Fri Apr 5 19:16:01 CEST 2013


vlc | branch: master | Erwan Tulou <erwan10 at videolan.org> | Fri Apr  5 17:02:37 2013 +0200| [29db598a0a7ff27ec7cfeab68da3194bc456dd4a] | committer: Erwan Tulou

skins2: cosmetics (no functional change)

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=29db598a0a7ff27ec7cfeab68da3194bc456dd4a
---

 modules/gui/skins2/controls/ctrl_slider.cpp |   78 +++++++++++----------------
 modules/gui/skins2/controls/ctrl_slider.hpp |    6 ++-
 2 files changed, 36 insertions(+), 48 deletions(-)

diff --git a/modules/gui/skins2/controls/ctrl_slider.cpp b/modules/gui/skins2/controls/ctrl_slider.cpp
index 283c8ec..fe5b002 100644
--- a/modules/gui/skins2/controls/ctrl_slider.cpp
+++ b/modules/gui/skins2/controls/ctrl_slider.cpp
@@ -38,7 +38,7 @@
 
 static inline float scroll( bool up, float pct, float step )
 {
-    return pct + (up? step : -step);
+    return pct + ( up ? step : -step );
 }
 
 
@@ -57,7 +57,8 @@ CtrlSliderCursor::CtrlSliderCursor( intf_thread_t *pIntf,
     m_cmdOverDown( this ), m_cmdDownOver( this ),
     m_cmdOverUp( this ), m_cmdUpOver( this ),
     m_cmdMove( this ), m_cmdScroll( this ),
-    m_lastPercentage( 0 ), m_xOffset( 0 ), m_yOffset( 0 ),
+    m_lastPercentage( 0 ), m_lastCursorRect(),
+    m_xOffset( 0 ), m_yOffset( 0 ),
     m_pEvt( NULL ), m_rCurve( rCurve )
 {
     // Build the images of the cursor
@@ -134,10 +135,8 @@ bool CtrlSliderCursor::mouseOver( int x, int y ) const
         return m_pImg->hit( x - xPos + m_pImg->getWidth() / 2,
                             y - yPos + m_pImg->getHeight() / 2 );
     }
-    else
-    {
-        return false;
-    }
+
+    return false;
 }
 
 
@@ -149,10 +148,10 @@ void CtrlSliderCursor::draw( OSGraphics &rImage, int xDest, int yDest, int w, in
         rect inter;
         rect clip( xDest, yDest, w, h);
 
-        if( rect::intersect( m_currentCursorRect, clip, &inter ) )
+        if( rect::intersect( m_lastCursorRect, clip, &inter ) )
             rImage.drawGraphics( *m_pImg,
-                             inter.x - m_currentCursorRect.x,
-                             inter.y - m_currentCursorRect.y,
+                             inter.x - m_lastCursorRect.x,
+                             inter.y - m_lastCursorRect.y,
                              inter.x, inter.y, inter.width, inter.height );
     }
 }
@@ -160,22 +159,7 @@ void CtrlSliderCursor::draw( OSGraphics &rImage, int xDest, int yDest, int w, in
 
 void CtrlSliderCursor::onPositionChange()
 {
-    // Compute the position of the cursor
-    int xPos, yPos;
-    m_rCurve.getPoint( m_rVariable.get(), xPos, yPos );
-
-    // Compute the resize factors
-    float factorX, factorY;
-    getResizeFactors( factorX, factorY );
-    xPos = (int)(xPos * factorX);
-    yPos = (int)(yPos * factorY);
-
-    const Position *pPos = getPosition();
-
-    int x = pPos->getLeft() + xPos - m_pImg->getWidth() / 2;
-    int y = pPos->getTop() + yPos - m_pImg->getHeight() / 2;
-
-    m_currentCursorRect = rect( x, y, m_pImg->getWidth(), m_pImg->getHeight() );
+    m_lastCursorRect = getCurrentCursorRect();
 }
 
 
@@ -302,6 +286,27 @@ void CtrlSliderCursor::getResizeFactors( float &rFactorX,
 
 void CtrlSliderCursor::refreshLayout( bool force )
 {
+    rect currRect = getCurrentCursorRect();
+    if( !force && currRect == m_lastCursorRect )
+        return;
+
+    rect join;
+    if( rect::join( m_lastCursorRect, currRect, &join ) )
+    {
+        m_lastCursorRect = currRect;
+
+        const Position *pPos = getPosition();
+        notifyLayout( join.width, join.height,
+                      join.x - pPos->getLeft(),
+                      join.y - pPos->getTop() );
+    }
+}
+
+
+rect CtrlSliderCursor::getCurrentCursorRect()
+{
+    const Position *pPos = getPosition();
+
     // Compute the position of the cursor
     int xPos, yPos;
     m_rCurve.getPoint( m_rVariable.get(), xPos, yPos );
@@ -312,31 +317,10 @@ void CtrlSliderCursor::refreshLayout( bool force )
     xPos = (int)(xPos * factorX);
     yPos = (int)(yPos * factorY);
 
-    const Position *pPos = getPosition();
-
     int x = pPos->getLeft() + xPos - m_pImg->getWidth() / 2;
     int y = pPos->getTop() + yPos - m_pImg->getHeight() / 2;
 
-    rect region( x, y, m_pImg->getWidth(), m_pImg->getHeight() );
-
-
-    if( !force &&
-        region.x == m_currentCursorRect.x &&
-        region.y == m_currentCursorRect.y &&
-        region.width == m_currentCursorRect.width &&
-        region.height == m_currentCursorRect.height )
-    {
-        return;
-    }
-
-    rect join;
-    if( rect::join( m_currentCursorRect, region, &join ) )
-    {
-        m_currentCursorRect = region;
-        notifyLayout( join.width, join.height,
-                      join.x - pPos->getLeft(),
-                      join.y - pPos->getTop() );
-    }
+    return rect( x, y, m_pImg->getWidth(), m_pImg->getHeight() );
 }
 
 
diff --git a/modules/gui/skins2/controls/ctrl_slider.hpp b/modules/gui/skins2/controls/ctrl_slider.hpp
index 573c706..10eaa60 100644
--- a/modules/gui/skins2/controls/ctrl_slider.hpp
+++ b/modules/gui/skins2/controls/ctrl_slider.hpp
@@ -88,7 +88,6 @@ private:
     int m_width, m_height;
     /// Position of the cursor
     int m_xPosition, m_yPosition;
-    rect m_currentCursorRect;
     /// Callback objects
     DEFINE_CALLBACK( CtrlSliderCursor, OverDown )
     DEFINE_CALLBACK( CtrlSliderCursor, DownOver )
@@ -98,6 +97,8 @@ private:
     DEFINE_CALLBACK( CtrlSliderCursor, Scroll )
     /// Last saved position of the cursor (stored as a percentage)
     float m_lastPercentage;
+    /// Last saved cursor placement
+    rect m_lastCursorRect;
     /// Offset between the mouse pointer and the center of the cursor
     int m_xOffset, m_yOffset;
     /// The last received event
@@ -117,6 +118,9 @@ private:
 
     /// Call notifyLayout
     void refreshLayout( bool force = true );
+
+    /// getter for the current slider rectangle
+    rect getCurrentCursorRect();
 };
 
 



More information about the vlc-commits mailing list