summaryrefslogtreecommitdiff
path: root/coreengine/animation.c
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2016-07-30 18:22:57 +0200
committerlouis <louis.braun@gmx.de>2016-07-30 18:22:57 +0200
commita2f9e616ee125650dace9653855081a6e2a16507 (patch)
tree03d70b0c15e1c0b18063a2fd92d990906c85d328 /coreengine/animation.c
parent88982c3230e0ce91ce343ca2747ce246c3ea795f (diff)
downloadvdr-plugin-skindesigner-a2f9e616ee125650dace9653855081a6e2a16507.tar.gz
vdr-plugin-skindesigner-a2f9e616ee125650dace9653855081a6e2a16507.tar.bz2
fixed shiftout of viewelements which were not drawn at shiftin
Diffstat (limited to 'coreengine/animation.c')
-rw-r--r--coreengine/animation.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/coreengine/animation.c b/coreengine/animation.c
index 65fb587..558f386 100644
--- a/coreengine/animation.c
+++ b/coreengine/animation.c
@@ -328,8 +328,13 @@ void cShifter::Init(void) {
stepYFast = (float)(end.Y() - start.Y()) * distanceFast / 100.0f / (float)stepsFast;
stepYSlow = (float)(end.Y() - start.Y()) * (100.0f - distanceFast) / 100.0f / (float)(steps-stepsFast);
}
- x = start.X();
- y = start.Y();
+ if (shiftin) {
+ x = start.X();
+ y = start.Y();
+ } else {
+ x = end.X();
+ y = end.Y();
+ }
}
void cShifter::Reactivate(void) {
@@ -337,6 +342,9 @@ void cShifter::Reactivate(void) {
finished = false;
shiftin = false;
step = 0;
+ if (start.X() == 0 && start.Y() == 0 && end.X() == 0 && end.Y() == 0) {
+ Init();
+ }
}
void cShifter::SetInitial(void) {