add preStart event and use it to load the cutlist
[enigma2.git] / lib / gui / ewidgetanimation.cpp
index 3912d592c0791e4679ee6ea27795fb690cec3517..2fb0ec94b84cb6c64d3f66d2a2709479f68601d5 100644 (file)
@@ -19,16 +19,24 @@ void eWidgetAnimation::tick(int inc)
                        m_active = 0;
                        m_move_current_tick = m_move_length;
                }
-               int xdiff = m_move_end.x() - m_move_start.x();
-               int ydiff = m_move_end.y() - m_move_start.y();
                
+               m_move_start = m_widget->position();
+               
+               int xdiff = m_move_start.x() - m_move_end.x();
+               int ydiff = m_move_start.y() - m_move_end.y();
+               
+               xdiff *= 31; xdiff /= 32;
+               ydiff *= 31; ydiff /= 32;
+               
+               #if 0
                xdiff *= m_move_current_tick;
                xdiff /= m_move_length;
 
                ydiff *= m_move_current_tick;
                ydiff /= m_move_length;
+               #endif
                
-               ePoint res(m_move_start.x() + xdiff, m_move_start.y() + ydiff);
+               ePoint res(m_move_end.x() + xdiff, m_move_end.y() + ydiff);
                
                m_move_current_tick += inc;
                
@@ -43,4 +51,5 @@ void eWidgetAnimation::startMoveAnimation(ePoint start, ePoint end, int length)
        m_move_start = start;
        m_move_end = end;
        m_active = 1;
+       m_widget->move(m_move_start);
 }