From 6ac65709a4febeed6b94bbee29a20417b26c3a3e Mon Sep 17 00:00:00 2001 From: Heeyong Song Date: Tue, 24 Dec 2019 16:32:54 +0900 Subject: [PATCH] (Vector) Stop the animation when the actor is off-stage or invisible Change-Id: I3b29c64943cc4a52898725ce2e983dd386069867 --- .../dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp | 4 ++-- .../animated-vector-image/animated-vector-image-visual.cpp | 14 +++++++------- .../animated-vector-image/animated-vector-image-visual.h | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/automated-tests/src/dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp b/automated-tests/src/dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp index 1fe89ea..069a644 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp @@ -413,7 +413,7 @@ int UtcDaliAnimatedVectorImageVisualPlayback(void) map = dummyControl.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL ); value = map.Find( DevelImageVisual::Property::PLAY_STATE ); - DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::PAUSED ); + DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::STOPPED ); tet_infoline( "On stage again" ); Stage::GetCurrent().Add( dummyControl ); @@ -423,7 +423,7 @@ int UtcDaliAnimatedVectorImageVisualPlayback(void) map = dummyControl.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL ); value = map.Find( DevelImageVisual::Property::PLAY_STATE ); - DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::PAUSED ); + DALI_TEST_CHECK( value->Get< int >() == DevelImageVisual::PlayState::STOPPED ); tet_infoline( "Test Play action" ); DevelControl::DoAction( dummyControl, DummyControl::Property::TEST_VISUAL, Dali::Toolkit::DevelAnimatedVectorImageVisual::Action::PLAY, attributes ); diff --git a/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp b/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp index d4de346..2ed0502 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp +++ b/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp @@ -307,7 +307,7 @@ void AnimatedVectorImageVisual::DoSetOnStage( Actor& actor ) void AnimatedVectorImageVisual::DoSetOffStage( Actor& actor ) { - PauseAnimation(); + StopAnimation(); if( mImpl->mRenderer ) { @@ -535,13 +535,13 @@ void AnimatedVectorImageVisual::SetVectorImageSize() } } -void AnimatedVectorImageVisual::PauseAnimation() +void AnimatedVectorImageVisual::StopAnimation() { - if( mActionStatus == DevelAnimatedVectorImageVisual::Action::PLAY ) + if( mActionStatus != DevelAnimatedVectorImageVisual::Action::STOP ) { - mVectorAnimationTask->PauseAnimation(); + mVectorAnimationTask->StopAnimation(); - mActionStatus = DevelAnimatedVectorImageVisual::Action::PAUSE; + mActionStatus = DevelAnimatedVectorImageVisual::Action::STOP; if( mImpl->mRenderer ) { @@ -584,7 +584,7 @@ void AnimatedVectorImageVisual::OnControlVisibilityChanged( Actor actor, bool vi { if( !visible ) { - PauseAnimation(); + StopAnimation(); DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "AnimatedVectorImageVisual::OnControlVisibilityChanged: invisibile. Pause animation [%p]\n", this ); } @@ -594,7 +594,7 @@ void AnimatedVectorImageVisual::OnWindowVisibilityChanged( Window window, bool v { if( !visible ) { - PauseAnimation(); + StopAnimation(); DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "AnimatedVectorImageVisual::OnWindowVisibilityChanged: invisibile. Pause animation [%p]\n", this ); } diff --git a/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h b/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h index 0ff2cdd..8aaed9c 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h +++ b/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h @@ -168,9 +168,9 @@ private: void SetVectorImageSize(); /** - * @brief Pause the animation. + * @brief Stop the animation. */ - void PauseAnimation(); + void StopAnimation(); /** * @brief Callback when the world scale factor changes. -- 2.7.4