diff options
Diffstat (limited to 'coreengine/viewelement.c')
-rw-r--r-- | coreengine/viewelement.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/coreengine/viewelement.c b/coreengine/viewelement.c index 9e806cf..06ca23e 100644 --- a/coreengine/viewelement.c +++ b/coreengine/viewelement.c @@ -15,7 +15,6 @@ cViewElement::cViewElement(void) { detached = false; waitOnWakeup = true; startAnimation = true; - viewAnimated = false; globals = NULL; tokenContainer = NULL; attribs = new cViewElementAttribs((int)eViewElementAttribs::count); @@ -35,7 +34,6 @@ cViewElement::cViewElement(const cViewElement &other) { detached = false; waitOnWakeup = true; startAnimation = true; - viewAnimated = false; globals = other.globals; container.Set(other.container.X(), other.container.Y(), other.container.Width(), other.container.Height()); tokenContainer = NULL; @@ -436,7 +434,7 @@ void cViewElement::StartAnimation(void) { SetPosition(start, ref); sdOsd->Flush(); delete shifter; - shifter = new cAnimation((cShiftable*)this, start, ref, true, !viewAnimated); + shifter = new cAnimation((cShiftable*)this, start, ref, true); shifter->Start(); } else if (FadeTime() > 0) { SetTransparency(100); @@ -471,8 +469,19 @@ cRect cViewElement::CoveredArea(void) { return unionArea; } -void cViewElement::Flush(void) { - sdOsd->Flush(); +void cViewElement::RegisterAnimation(void) { + sdOsd->AddAnimation(); +} + +void cViewElement::UnregisterAnimation(void) { + sdOsd->RemoveAnimation(); +} + +void cViewElement::Flush(bool animFlush) { + if (animFlush) + sdOsd->AnimatedFlush(); + else + sdOsd->Flush(); } bool cViewElement::Parse(bool forced) { |