aboutsummaryrefslogtreecommitdiff
path: root/lib/gui
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2005-08-31 03:40:23 +0000
committerFelix Domke <tmbinc@elitedvb.net>2005-08-31 03:40:23 +0000
commit4ebd765cac9f8a7ae4934147ed876a9e228eeb8d (patch)
treeac3d7e51c84b8a5cf421920c3a704f83199e9720 /lib/gui
parent979746945488fdf70364f969071518034d5a87ea (diff)
downloadenigma2-4ebd765cac9f8a7ae4934147ed876a9e228eeb8d.tar.gz
enigma2-4ebd765cac9f8a7ae4934147ed876a9e228eeb8d.zip
- fixes to use moving infobar non non-accel hardware.
Diffstat (limited to 'lib/gui')
-rw-r--r--lib/gui/ewidgetanimation.cpp14
-rw-r--r--lib/gui/ewidgetdesktop.cpp11
2 files changed, 18 insertions, 7 deletions
diff --git a/lib/gui/ewidgetanimation.cpp b/lib/gui/ewidgetanimation.cpp
index 3912d592..a31f2ed4 100644
--- a/lib/gui/ewidgetanimation.cpp
+++ b/lib/gui/ewidgetanimation.cpp
@@ -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;
diff --git a/lib/gui/ewidgetdesktop.cpp b/lib/gui/ewidgetdesktop.cpp
index 1c65d5d2..dcc2ef60 100644
--- a/lib/gui/ewidgetdesktop.cpp
+++ b/lib/gui/ewidgetdesktop.cpp
@@ -36,7 +36,7 @@ int eWidgetDesktop::movedWidget(eWidget *root)
if ((m_comp_mode == cmBuffered) && (root->m_comp_buffer))
{
root->m_comp_buffer->m_position = root->position();
- redrawComposition(0);
+// redrawComposition(0);
return 0;
}
@@ -96,6 +96,11 @@ void eWidgetDesktop::recalcClipRegions(eWidget *root)
invalidate(redraw);
} else
{
+ if (!root->m_vis & eWidget::wVisShow)
+ {
+ removeBufferForWidget(root);
+ return;
+ }
if ((!root->m_comp_buffer) || (root->size() != root->m_comp_buffer->m_screen_size))
createBufferForWidget(root);
@@ -203,7 +208,6 @@ void eWidgetDesktop::paintBackground(eWidgetDesktopCompBuffer *comp)
void eWidgetDesktop::paint()
{
- eDebug("paint");
m_require_redraw = 0;
/* walk all root windows. */
@@ -230,8 +234,7 @@ void eWidgetDesktop::paint()
if (m_comp_mode == cmBuffered)
{
- eDebug("redraw composition");
- redrawComposition(0);
+// redrawComposition(0);
}
}