+ Actor& GetFadeOutButtonImage();
+
+ /**
+ * Gets the background image that is fading out.
+ * @return A reference to the background image that is fading out.
+ */
+ Actor& GetFadeOutBackgroundImage();
+
+ /**
+ * Adds the actor to the fade in animation. It creates a fade in animation if needed.
+ * @param[in] actor The actor.
+ */
+ void AddToFadeInAnimation( const Actor& actor );
+
+ /**
+ * Starts the fade in animation.
+ * PushButton::FadeInAnimationFinished slot is called when the animation finishes.
+ */
+ void StartFadeInAnimation();
+
+ /**
+ * Stops the fade in animation.
+ */
+ void StopFadeInAnimation();
+
+ /**
+ * Adds the actor to the fade out animation. It creates a fade out animation if needed.
+ */
+ void AddToFadeOutAnimation( const Actor& actor );
+
+ /**
+ * Starts the fade out animation.
+ * PushButton::FadeOutAnimationFinished slot is called when the animation finishes.
+ */
+ void StartFadeOutAnimation();
+
+ /**
+ * Stops the fade out animation.
+ * It removes the actor stored in PushButton::mFadeOutBackgroundImage and PushButton::mFadeOutCheckedImage.
+ * @param[in] remove If true, removes the fadeout actor from root.
+ */
+ void StopFadeOutAnimation( bool remove = true );
+
+ /**
+ * It adds the actor to the root actor and to the fade in animation.
+ * @param[inout] image The actor.
+ * @param[in] opacity The initial opacity.
+ */
+ void FadeInImage( Actor& image, float opacity = 0.f );
+
+ /**
+ * It adds the actor fade out animation and stores it to be removed when the animation finishes.
+ * @param[in] layer Defines if the actor is going to be stored in the mFadeOutBackgroundImage or mFadeOutCheckedImage member.
+ * @param[inout] image The actor.
+ * @param[in] opacity The initial opacity.
+ */
+ void FadeOutImage( ImageLayer layer, Actor& image, float opacity = 1.f );
+
+ // slots
+
+ /**
+ * Called when the fade out animation finishes.
+ * It changes the check button paint state and removes actors from the root.
+ */
+ void FadeOutAnimationFinished( Dali::Animation& source );
+
+ /**
+ * Called when the fade in animation finishes.
+ * It changes the check button paint state.
+ */
+ void FadeInAnimationFinished( Dali::Animation& source );