diff options
Diffstat (limited to 'coreengine/view.c')
-rw-r--r-- | coreengine/view.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/coreengine/view.c b/coreengine/view.c index 48cded7..ae7cee5 100644 --- a/coreengine/view.c +++ b/coreengine/view.c @@ -160,8 +160,6 @@ void cView::PreCache(void) { for (int i=0; i < numViewElements; i++) { if (!viewElements[i]) continue; - if (FadeTime() > 0 || ShiftTime() > 0) - viewElements[i]->SetAnimatedView(); viewElements[i]->SetContainer(contX, contY, attribs->Width(), attribs->Height()); viewElements[i]->Cache(); } @@ -169,8 +167,6 @@ void cView::PreCache(void) { for (int i=0; i < numViewElements; i++) { if (!viewElementsHorizontal[i]) continue; - if (FadeTime() > 0 || ShiftTime() > 0) - viewElementsHorizontal[i]->SetAnimatedView(); viewElementsHorizontal[i]->SetContainer(contX, contY, attribs->Width(), attribs->Height()); viewElementsHorizontal[i]->Cache(); } @@ -278,7 +274,15 @@ void cView::SetPosition(cPoint &position, cPoint &reference, bool force) { } } -void cView::Flush(void) { +void cView::RegisterAnimation(void) { + sdOsd.AddAnimation(); +} + +void cView::UnregisterAnimation(void) { + sdOsd.RemoveAnimation(); +} + +void cView::Flush(bool animFlush) { if (init) { init = false; StartAnimation(); @@ -292,7 +296,10 @@ void cView::Flush(void) { WakeViewElements(); menuInit = false; } - sdOsd.Flush(); + if (animFlush) + sdOsd.AnimatedFlush(); + else + sdOsd.Flush(); } void cView::Debug(void) { |