+ }
+
+ return size;
+}
+
+Actor& PushButton::GetFadeOutButtonImage()
+{
+ return mFadeOutButtonContent;
+}
+
+Actor& PushButton::GetFadeOutBackgroundImage()
+{
+ return mFadeOutBackgroundContent;
+}
+
+void PushButton::AddToFadeInAnimation( const Actor& actor )
+{
+ if( !mFadeInAnimation )
+ {
+ mFadeInAnimation = Dali::Animation::New( GetAnimationTime() );
+ }
+
+ mFadeInAnimation.OpacityTo( actor, 1.f );
+}
+
+void PushButton::StartFadeInAnimation()
+{
+ if( mFadeInAnimation )
+ {
+ mFadeInAnimation.FinishedSignal().Connect( this, &PushButton::FadeInAnimationFinished );
+ mFadeInAnimation.Play();
+ }
+}
+
+void PushButton::StopFadeInAnimation()
+{
+ if( mFadeInAnimation )
+ {
+ mFadeInAnimation.Clear();
+ mFadeInAnimation.Reset();
+ }
+}
+
+void PushButton::AddToFadeOutAnimation( const Actor& actor )
+{
+ if( !mFadeOutAnimation )
+ {
+ mFadeOutAnimation = Dali::Animation::New( GetAnimationTime() );
+ }
+
+ mFadeOutAnimation.OpacityTo( actor, 0.f );
+}
+
+void PushButton::StartFadeOutAnimation()
+{
+ if( mFadeOutAnimation )
+ {
+ mFadeOutAnimation.FinishedSignal().Connect( this, &PushButton::FadeOutAnimationFinished );
+ mFadeOutAnimation.Play();
+ }
+}
+
+void PushButton::StopFadeOutAnimation( bool remove )
+{
+ if( mFadeOutAnimation )
+ {
+ mFadeOutAnimation.Clear();
+ mFadeOutAnimation.Reset();
+ }
+
+ if( remove )
+ {
+ Actor& fadeOutButtonImage = GetFadeOutButtonImage();
+ Actor& fadeOutBackgroundImage = GetFadeOutBackgroundImage();
+
+ if( fadeOutButtonImage && fadeOutButtonImage.GetParent() )
+ {
+ fadeOutButtonImage.GetParent().Remove( fadeOutButtonImage );
+ }