diff options
author | louis <louis.braun@gmx.de> | 2016-07-30 18:22:57 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2016-07-30 18:22:57 +0200 |
commit | a2f9e616ee125650dace9653855081a6e2a16507 (patch) | |
tree | 03d70b0c15e1c0b18063a2fd92d990906c85d328 /coreengine/animation.c | |
parent | 88982c3230e0ce91ce343ca2747ce246c3ea795f (diff) | |
download | vdr-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.c | 12 |
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) { |