aboutsummaryrefslogtreecommitdiff
path: root/src/MTools/Anim/MOpacity.pm
diff options
context:
space:
mode:
Diffstat (limited to 'src/MTools/Anim/MOpacity.pm')
-rw-r--r--src/MTools/Anim/MOpacity.pm9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/MTools/Anim/MOpacity.pm b/src/MTools/Anim/MOpacity.pm
index 4525b2d..382a505 100644
--- a/src/MTools/Anim/MOpacity.pm
+++ b/src/MTools/Anim/MOpacity.pm
@@ -77,6 +77,7 @@ sub new {
});
$self -> {__animation} = undef;
$self -> mconfigure (%options);
+ $self -> {__complete} = 0;
return $self;
}
@@ -102,7 +103,12 @@ sub start {
});
$self -> {__animation} -> wheninterrupted (sub {
$self -> {__animation} = undef;
- $self -> notify ('ANIMATION_ABORD', $self -> {__opacity});
+ if ($self -> {__complete}) {
+ $self -> {__complete} = 0;
+ $self -> notify ('ANIMATION_END');
+ } else {
+ $self -> notify ('ANIMATION_ABORD', $self -> {__opacity});
+ }
});
$self -> {__animation} -> start ();
}
@@ -119,6 +125,7 @@ sub complete {
my ($self) = @_;
return if !$self->isRunning();
$self->__event($self -> mget ('to_opacity') - $self -> {__opacitydep});
+ $self -> {__complete} = 1;
$self->stop();
}