X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fbuttons%2Fpush-button-default-painter-impl.cpp;h=31176f4542aa88c7290761ec6b77397a1cb6a135;hp=cf0cf927d2724f9584fc1971d425048b38e689d1;hb=e217915091790637a8b4ea7e34480e852d242efd;hpb=2ddfbb9e23a7c3fc30e604236c41e0ef6d2ed6a2 diff --git a/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.cpp b/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.cpp index cf0cf92..31176f4 100644 --- a/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.cpp @@ -21,12 +21,13 @@ // EXTERNAL INCLUDES #include #include +#include +#include #include #include // INTERNAL INCLUDES #include -#include #include "push-button-impl.h" namespace Dali @@ -89,180 +90,190 @@ PushButtonDefaultPainter::~PushButtonDefaultPainter() } } -void PushButtonDefaultPainter::SetButtonImage( Toolkit::PushButton& pushButton, Actor image ) +void PushButtonDefaultPainter::Initialize( Toolkit::Button& button ) { - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); Actor& buttonImage = pushButtonImpl.GetButtonImage(); - Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + Actor& selectedImage = pushButtonImpl.GetSelectedImage(); + Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); + Actor& disabledImage = pushButtonImpl.GetDisabledImage(); + Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); + Actor& label = pushButtonImpl.GetLabel(); - switch( mPaintState ) + Toolkit::PushButton& pushButton = static_cast( button ); + + if( buttonImage ) { - case ReleasedState: - { - if( buttonImage && buttonImage.GetParent() ) - { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Foreground, buttonImage ); + SetButtonImage( pushButton, buttonImage ); + } - buttonImage = image; + if( backgroundImage ) + { + SetBackgroundImage( pushButton, backgroundImage ); + } - FadeInImage( pushButton, buttonImage ); + if( selectedImage ) + { + SetSelectedImage( pushButton, selectedImage ); + } - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); - } - else - { - buttonImage = image; - pushButton.Add( buttonImage ); - } - break; - } - case ReleasedPressedTransition: // FALLTHROUGH - case ReleasedDisabledTransition: - { - float opacity = 1.f; - if( fadeOutButtonImage ) - { - opacity = fadeOutButtonImage.GetCurrentOpacity(); - } - StopFadeOutAnimation( pushButton ); + if( disabledImage ) + { + SetDisabledImage( pushButton, disabledImage ); + } - // Replaces the button image. - buttonImage = image; + if( disabledBackgroundImage ) + { + SetDisabledBackgroundImage( pushButton, disabledBackgroundImage ); + } - pushButton.Add( buttonImage ); - FadeOutImage( pushButton, Foreground, buttonImage, opacity ); + if( label ) + { + SetLabel( pushButton, label ); + } - StartFadeOutAnimation( pushButton ); - break; - } - case PressedReleasedTransition: // FALLTHROUGH - case DisabledReleasedTransition: - { - StopFadeInAnimation(); - pushButton.Remove( buttonImage ); + SetDisabled( pushButton, mDisabled ); +} - buttonImage = image; +void PushButtonDefaultPainter::SetSize( Toolkit::Button& button, const Vector3& size ) +{ + if( size != mSize ) + { + mSize = size; - FadeInImage( pushButton, buttonImage ); - StartFadeInAnimation(); - break; + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& buttonImage = pushButtonImpl.GetButtonImage(); + Actor& selectedImage = pushButtonImpl.GetSelectedImage(); + Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); + Actor& disabledImage = pushButtonImpl.GetDisabledImage(); + Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); + Actor& label = pushButtonImpl.GetLabel(); + + ApplyConstraint( buttonImage, FOREGROUND_DEPTH ); + ApplyConstraint( backgroundImage, BACKGROUND_DEPTH ); + ApplyConstraint( selectedImage, FOREGROUND_DEPTH ); + ApplyConstraint( disabledImage, FOREGROUND_DEPTH ); + ApplyConstraint( disabledBackgroundImage, BACKGROUND_DEPTH ); + + if( label ) + { + label.SetPosition( 0.f, 0.f, LABEL_DEPTH ); + label.SetSize( mSize ); } - default: - buttonImage = image; - break; } - - buttonImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - buttonImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( buttonImage, FOREGROUND_DEPTH ); } -void PushButtonDefaultPainter::SetBackgroundImage( Toolkit::PushButton& pushButton, Actor image ) +void PushButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool disabled ) { - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& buttonImage = pushButtonImpl.GetButtonImage(); + Actor& selectedImage = pushButtonImpl.GetSelectedImage(); Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); - Actor& fadeOutBackgroundImage = pushButtonImpl.GetFadeOutBackgroundImage(); + Actor& disabledImage = pushButtonImpl.GetDisabledImage(); + Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); + Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + + Toolkit::PushButton& pushButton = static_cast( button ); + + mDisabled = disabled; switch( mPaintState ) { - case ReleasedState: // FALLTHROUGH - case PressedState: - case ReleasedPressedTransition: - case PressedReleasedTransition: + case ReleasedState: + { + if( disabled ) { - if( backgroundImage && backgroundImage.GetParent() ) - { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, backgroundImage ); - - backgroundImage = image; - - FadeInImage( pushButton, backgroundImage ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Background, backgroundImage ); + FadeOutImage( pushButton, Foreground, buttonImage ); + FadeInImage( pushButton, disabledBackgroundImage ); + FadeInImage( pushButton, disabledImage ); + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = ReleasedDisabledTransition; } else { - backgroundImage = image; - pushButton.Add( backgroundImage ); + mPaintState = DisabledReleasedState; } - break; } - case ReleasedDisabledTransition: // FALLTHROUGH - case PressedDisabledTransition: + break; + } + case PressedState: + { + if( disabled ) { - float opacity = 1.f; - if( fadeOutBackgroundImage ) - { - opacity = fadeOutBackgroundImage.GetCurrentOpacity(); - } StopFadeOutAnimation( pushButton ); - - // Replaces the button image. - backgroundImage = image; - - pushButton.Add( backgroundImage ); - FadeOutImage( pushButton, Background, backgroundImage, opacity ); - + FadeOutImage( pushButton, Background, backgroundImage ); + FadeOutImage( pushButton, Foreground, selectedImage ); + FadeInImage( pushButton, disabledBackgroundImage ); + FadeInImage( pushButton, disabledImage ); StartFadeOutAnimation( pushButton ); - break; + StartFadeInAnimation(); + + if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = PressedDisabledTransition; + } + else + { + mPaintState = DisabledPressedState; + } } - case DisabledReleasedTransition: // FALLTHROUGH - case DisabledPressedTransition: + break; + } + case DisabledReleasedState: + { + if( !disabled ) { - StopFadeInAnimation(); - pushButton.Remove( backgroundImage ); - - backgroundImage = image; - + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Background, disabledBackgroundImage ); + FadeOutImage( pushButton, Foreground, disabledImage ); FadeInImage( pushButton, backgroundImage ); + FadeInImage( pushButton, buttonImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); - break; - } - default: - backgroundImage = image; - break; - } - - backgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - backgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( backgroundImage, BACKGROUND_DEPTH ); -} -void PushButtonDefaultPainter::SetSelectedImage( Toolkit::PushButton& pushButton, Actor image ) -{ - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); - Actor& selectedImage = pushButtonImpl.GetSelectedImage(); - Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); - - switch( mPaintState ) + if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = DisabledReleasedTransition; + } + else + { + mPaintState = ReleasedState; + } + } + break; + } + case DisabledPressedState: { - case PressedState: + if( !disabled ) { - if( selectedImage && selectedImage.GetParent() ) - { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Foreground, selectedImage ); - - selectedImage = image; - - FadeInImage( pushButton, selectedImage ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Background, disabledBackgroundImage ); + FadeOutImage( pushButton, Foreground, disabledImage ); + FadeInImage( pushButton, backgroundImage ); + FadeInImage( pushButton, selectedImage ); + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = DisabledPressedTransition; } else { - selectedImage = image; - pushButton.Add( selectedImage ); + mPaintState = PressedState; } - break; } - case PressedReleasedTransition: // FALLTHROUGH - case PressedDisabledTransition: + break; + } + case ReleasedPressedTransition: + { + if( disabled ) { float opacity = 1.f; if( fadeOutButtonImage ) @@ -270,604 +281,608 @@ void PushButtonDefaultPainter::SetSelectedImage( Toolkit::PushButton& pushButton opacity = fadeOutButtonImage.GetCurrentOpacity(); } StopFadeOutAnimation( pushButton ); + StopFadeInAnimation(); - // Replaces the button image. - selectedImage = image; + FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, backgroundImage ); - pushButton.Add( selectedImage ); - FadeOutImage( pushButton, Foreground, selectedImage, opacity ); + FadeInImage( pushButton, disabledImage ); + FadeInImage( pushButton, disabledBackgroundImage ); StartFadeOutAnimation( pushButton ); - break; - } - case ReleasedPressedTransition: // FALLTHROUGH - case DisabledPressedTransition: - { - StopFadeInAnimation(); - pushButton.Remove( selectedImage ); - - selectedImage = image; - - FadeInImage( pushButton, selectedImage ); StartFadeInAnimation(); - break; - } - default: - selectedImage = image; - break; - } - - selectedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - selectedImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( selectedImage, FOREGROUND_DEPTH ); -} - -void PushButtonDefaultPainter::SetDisabledImage( Toolkit::PushButton& pushButton, Actor image ) -{ - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); - Actor& disabledImage = pushButtonImpl.GetDisabledImage(); - Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); - switch( mPaintState ) - { - case DisabledReleasedState: // FALLTHROUGH - case DisabledPressedState: - { - if( disabledImage && disabledImage.GetParent() ) + if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Foreground, disabledImage ); - - disabledImage = image; - - FadeInImage( pushButton, disabledImage ); - - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + mPaintState = PressedDisabledTransition; } else { - disabledImage = image; - pushButton.Add( disabledImage ); + mPaintState = DisabledPressedState; } - break; } - case ReleasedDisabledTransition: // FALLTHROUGH - case PressedDisabledTransition: + break; + } + case PressedReleasedTransition: + { + if( disabled ) { + float opacity = 1.f; + if( fadeOutButtonImage ) + { + opacity = fadeOutButtonImage.GetCurrentOpacity(); + } + StopFadeOutAnimation( pushButton ); StopFadeInAnimation(); - pushButton.Remove( disabledImage ); - disabledImage = image; + FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, backgroundImage ); FadeInImage( pushButton, disabledImage ); + FadeInImage( pushButton, disabledBackgroundImage ); + + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); - break; + + if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = ReleasedDisabledTransition; + } + else + { + mPaintState = DisabledReleasedState; + } } - case DisabledReleasedTransition: // FALLTHROUGH - case DisabledPressedTransition: + break; + } + case ReleasedDisabledTransition: + { + if( !disabled ) { float opacity = 1.f; if( fadeOutButtonImage ) { opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( pushButton ); - - // Replaces the button image. - disabledImage = image; + StopFadeOutAnimation( pushButton, false ); + StopFadeInAnimation(); - pushButton.Add( disabledImage ); - FadeOutImage( pushButton, Foreground, disabledImage, opacity ); + FadeOutImage( pushButton, Foreground, disabledImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, disabledBackgroundImage, 1.f - opacity ); + FadeInImage( pushButton, buttonImage, opacity ); + FadeInImage( pushButton, backgroundImage, opacity ); StartFadeOutAnimation( pushButton ); - break; + StartFadeInAnimation(); + + if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = DisabledReleasedTransition; + } + else + { + mPaintState = ReleasedState; + } } - default: - disabledImage = image; - break; + break; } - - disabledImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - disabledImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( disabledImage, FOREGROUND_DEPTH ); -} - -void PushButtonDefaultPainter::SetDisabledBackgroundImage( Toolkit::PushButton& pushButton, Actor image ) -{ - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); - Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); - Actor& fadeOutBackgroundImage = pushButtonImpl.GetFadeOutBackgroundImage(); - - switch( mPaintState ) + case DisabledReleasedTransition: { - case DisabledReleasedState: // FALLTHROUGH - case DisabledPressedState: + if( disabled ) { - if( disabledBackgroundImage && disabledBackgroundImage.GetParent() ) + float opacity = 1.f; + if( fadeOutButtonImage ) { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, disabledBackgroundImage ); + opacity = fadeOutButtonImage.GetCurrentOpacity(); + } + StopFadeOutAnimation( pushButton, false ); + StopFadeInAnimation(); - disabledBackgroundImage = image; + FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, backgroundImage, 1.f - opacity ); + FadeInImage( pushButton, disabledImage, opacity ); + FadeInImage( pushButton, disabledBackgroundImage, opacity ); - FadeInImage( pushButton, disabledBackgroundImage ); + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = ReleasedDisabledTransition; } else { - disabledBackgroundImage = image; - pushButton.Add( disabledBackgroundImage ); + mPaintState = DisabledReleasedState; } - break; } - case ReleasedDisabledTransition: // FALLTHROUGH - case PressedDisabledTransition: + break; + } + case PressedDisabledTransition: + { + if( !disabled ) { + float opacity = 1.f; + if( fadeOutButtonImage ) + { + opacity = fadeOutButtonImage.GetCurrentOpacity(); + } + StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); - pushButton.Remove( disabledBackgroundImage ); - disabledBackgroundImage = image; + FadeOutImage( pushButton, Foreground, disabledImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, disabledBackgroundImage, 1.f - opacity ); + FadeInImage( pushButton, selectedImage, opacity ); + FadeInImage( pushButton, backgroundImage, opacity ); - FadeInImage( pushButton, disabledBackgroundImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); - break; + + if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = DisabledPressedTransition; + } + else + { + mPaintState = PressedState; + } } - case DisabledReleasedTransition: // FALLTHROUGH - case DisabledPressedTransition: + break; + } + case DisabledPressedTransition: + { + if( disabled ) { float opacity = 1.f; - if( fadeOutBackgroundImage ) + if( fadeOutButtonImage ) { - opacity = fadeOutBackgroundImage.GetCurrentOpacity(); + opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( pushButton ); - - // Replaces the button image. - disabledBackgroundImage = image; + StopFadeOutAnimation( pushButton, false ); + StopFadeInAnimation(); - pushButton.Add( disabledBackgroundImage ); - FadeOutImage( pushButton, Background, disabledBackgroundImage, opacity ); + FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, backgroundImage, 1.f - opacity ); + FadeInImage( pushButton, disabledImage, opacity ); + FadeInImage( pushButton, disabledBackgroundImage, opacity ); StartFadeOutAnimation( pushButton ); - break; + StartFadeInAnimation(); + + if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = PressedDisabledTransition; + } + else + { + mPaintState = DisabledPressedState; + } } - default: - disabledBackgroundImage = image; - break; + break; + } + default: + break; } - - disabledBackgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - disabledBackgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( disabledBackgroundImage, BACKGROUND_DEPTH ); } -void PushButtonDefaultPainter::SetLabel( Toolkit::PushButton& pushButton, Actor label ) +void PushButtonDefaultPainter::SetAnimationTime( float animationTime ) { - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); - Actor& labelActor = pushButtonImpl.GetLabel(); - - if( labelActor && labelActor.GetParent() ) - { - labelActor.GetParent().Remove( labelActor ); - } - - labelActor = label; - labelActor.SetAnchorPoint( AnchorPoint::CENTER ); - labelActor.SetParentOrigin( ParentOrigin::CENTER ); + mAnimationTime = animationTime; +} - labelActor.SetPosition( 0.f, 0.f, LABEL_DEPTH ); - labelActor.SetSize( mSize ); +float PushButtonDefaultPainter::GetAnimationTime() const +{ + return mAnimationTime; +} - pushButton.Add( labelActor ); +void PushButtonDefaultPainter::SetAutoRepeating( bool autorepeating ) +{ + mAutoRepeating = autorepeating; } -void PushButtonDefaultPainter::Initialize( Toolkit::Button& button ) +void PushButtonDefaultPainter::SetLabel( Toolkit::Button& button, Actor label ) { Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); - Actor& buttonImage = pushButtonImpl.GetButtonImage(); - Actor& selectedImage = pushButtonImpl.GetSelectedImage(); - Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); - Actor& disabledImage = pushButtonImpl.GetDisabledImage(); - Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); - Actor& label = pushButtonImpl.GetLabel(); + Actor& labelActor = pushButtonImpl.GetLabel(); Toolkit::PushButton& pushButton = static_cast( button ); - if( buttonImage ) - { - SetButtonImage( pushButton, buttonImage ); - } - - if( backgroundImage ) - { - SetBackgroundImage( pushButton, backgroundImage ); - } - - if( selectedImage ) - { - SetSelectedImage( pushButton, selectedImage ); - } - - if( disabledImage ) - { - SetDisabledImage( pushButton, disabledImage ); - } - - if( disabledBackgroundImage ) - { - SetDisabledBackgroundImage( pushButton, disabledBackgroundImage ); - } - - if( label ) + if( labelActor && labelActor.GetParent() ) { - SetLabel( pushButton, label ); + labelActor.GetParent().Remove( labelActor ); } - SetDisabled( pushButton, mDisabled ); -} - -void PushButtonDefaultPainter::SetSize( Toolkit::Button& button, const Vector3& size ) -{ - if( size != mSize ) - { - mSize = size; - - Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); - Actor& buttonImage = pushButtonImpl.GetButtonImage(); - Actor& selectedImage = pushButtonImpl.GetSelectedImage(); - Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); - Actor& disabledImage = pushButtonImpl.GetDisabledImage(); - Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); - Actor& label = pushButtonImpl.GetLabel(); - - ApplyConstraint( buttonImage, FOREGROUND_DEPTH ); - ApplyConstraint( backgroundImage, BACKGROUND_DEPTH ); - ApplyConstraint( selectedImage, FOREGROUND_DEPTH ); - ApplyConstraint( disabledImage, FOREGROUND_DEPTH ); - ApplyConstraint( disabledBackgroundImage, BACKGROUND_DEPTH ); + labelActor = label; + labelActor.SetAnchorPoint( AnchorPoint::CENTER ); + labelActor.SetParentOrigin( ParentOrigin::CENTER ); - if( label ) - { - label.SetPosition( 0.f, 0.f, LABEL_DEPTH ); - label.SetSize( mSize ); - } - } + labelActor.SetPosition( 0.f, 0.f, LABEL_DEPTH ); + labelActor.SetSize( mSize ); + + pushButton.Add( labelActor ); } -void PushButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool disabled ) +void PushButtonDefaultPainter::SetButtonImage( Toolkit::Button& button, Actor image ) { Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); Actor& buttonImage = pushButtonImpl.GetButtonImage(); - Actor& selectedImage = pushButtonImpl.GetSelectedImage(); - Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); - Actor& disabledImage = pushButtonImpl.GetDisabledImage(); - Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); Toolkit::PushButton& pushButton = static_cast( button ); - mDisabled = disabled; - switch( mPaintState ) { - case ReleasedState: - { - if( disabled ) + case ReleasedState: { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, backgroundImage ); - FadeOutImage( pushButton, Foreground, buttonImage ); - FadeInImage( pushButton, disabledBackgroundImage ); - FadeInImage( pushButton, disabledImage ); - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); - - if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + if( buttonImage && buttonImage.GetParent() ) { - mPaintState = ReleasedDisabledTransition; + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, buttonImage ); + + buttonImage = image; + + FadeInImage( pushButton, buttonImage ); + + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); } else { - mPaintState = DisabledReleasedState; + buttonImage = image; + pushButton.Add( buttonImage ); } + break; } - break; - } - case PressedState: - { - if( disabled ) + case ReleasedPressedTransition: // FALLTHROUGH + case ReleasedDisabledTransition: { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, backgroundImage ); - FadeOutImage( pushButton, Foreground, selectedImage ); - FadeInImage( pushButton, disabledBackgroundImage ); - FadeInImage( pushButton, disabledImage ); - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); - - if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = PressedDisabledTransition; - } - else + float opacity = 1.f; + if( fadeOutButtonImage ) { - mPaintState = DisabledPressedState; + opacity = fadeOutButtonImage.GetCurrentOpacity(); } + StopFadeOutAnimation( pushButton ); + + // Replaces the button image. + buttonImage = image; + + pushButton.Add( buttonImage ); + FadeOutImage( pushButton, Foreground, buttonImage, opacity ); + + StartFadeOutAnimation( pushButton ); + break; } - break; - } - case DisabledReleasedState: - { - if( !disabled ) + case PressedReleasedTransition: // FALLTHROUGH + case DisabledReleasedTransition: { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, disabledBackgroundImage ); - FadeOutImage( pushButton, Foreground, disabledImage ); - FadeInImage( pushButton, backgroundImage ); + StopFadeInAnimation(); + pushButton.Remove( buttonImage ); + + buttonImage = image; + FadeInImage( pushButton, buttonImage ); - StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); + break; + } + default: + buttonImage = image; + break; + } - if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + buttonImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + buttonImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( buttonImage, FOREGROUND_DEPTH ); +} + +void PushButtonDefaultPainter::SetSelectedImage( Toolkit::Button& button, Actor image ) +{ + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& selectedImage = pushButtonImpl.GetSelectedImage(); + Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + + Toolkit::PushButton& pushButton = static_cast( button ); + + switch( mPaintState ) + { + case PressedState: + { + if( selectedImage && selectedImage.GetParent() ) { - mPaintState = DisabledReleasedTransition; + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, selectedImage ); + + selectedImage = image; + + FadeInImage( pushButton, selectedImage ); + + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); } else { - mPaintState = ReleasedState; + selectedImage = image; + pushButton.Add( selectedImage ); } + break; } - break; - } - case DisabledPressedState: - { - if( !disabled ) + case PressedReleasedTransition: // FALLTHROUGH + case PressedDisabledTransition: { + float opacity = 1.f; + if( fadeOutButtonImage ) + { + opacity = fadeOutButtonImage.GetCurrentOpacity(); + } StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, disabledBackgroundImage ); - FadeOutImage( pushButton, Foreground, disabledImage ); - FadeInImage( pushButton, backgroundImage ); - FadeInImage( pushButton, selectedImage ); + + // Replaces the button image. + selectedImage = image; + + pushButton.Add( selectedImage ); + FadeOutImage( pushButton, Foreground, selectedImage, opacity ); + StartFadeOutAnimation( pushButton ); + break; + } + case ReleasedPressedTransition: // FALLTHROUGH + case DisabledPressedTransition: + { + StopFadeInAnimation(); + pushButton.Remove( selectedImage ); + + selectedImage = image; + + FadeInImage( pushButton, selectedImage ); StartFadeInAnimation(); + break; + } + default: + selectedImage = image; + break; + } - if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) + selectedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + selectedImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( selectedImage, FOREGROUND_DEPTH ); +} + +void PushButtonDefaultPainter::SetBackgroundImage( Toolkit::Button& button, Actor image ) +{ + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); + Actor& fadeOutBackgroundImage = pushButtonImpl.GetFadeOutBackgroundImage(); + + Toolkit::PushButton& pushButton = static_cast( button ); + + switch( mPaintState ) + { + case ReleasedState: // FALLTHROUGH + case PressedState: + case ReleasedPressedTransition: + case PressedReleasedTransition: + { + if( backgroundImage && backgroundImage.GetParent() ) { - mPaintState = DisabledPressedTransition; + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Background, backgroundImage ); + + backgroundImage = image; + + FadeInImage( pushButton, backgroundImage ); + + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); } else { - mPaintState = PressedState; + backgroundImage = image; + pushButton.Add( backgroundImage ); } + break; } - break; - } - case ReleasedPressedTransition: - { - if( disabled ) + case ReleasedDisabledTransition: // FALLTHROUGH + case PressedDisabledTransition: { float opacity = 1.f; - if( fadeOutButtonImage ) + if( fadeOutBackgroundImage ) { - opacity = fadeOutButtonImage.GetCurrentOpacity(); + opacity = fadeOutBackgroundImage.GetCurrentOpacity(); } StopFadeOutAnimation( pushButton ); + + // Replaces the button image. + backgroundImage = image; + + pushButton.Add( backgroundImage ); + FadeOutImage( pushButton, Background, backgroundImage, opacity ); + + StartFadeOutAnimation( pushButton ); + break; + } + case DisabledReleasedTransition: // FALLTHROUGH + case DisabledPressedTransition: + { StopFadeInAnimation(); + pushButton.Remove( backgroundImage ); - FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, backgroundImage ); + backgroundImage = image; + + FadeInImage( pushButton, backgroundImage ); + StartFadeInAnimation(); + break; + } + default: + backgroundImage = image; + break; + } + + backgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + backgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( backgroundImage, BACKGROUND_DEPTH ); +} + +void PushButtonDefaultPainter::SetDisabledImage( Toolkit::Button& button, Actor image ) +{ + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& disabledImage = pushButtonImpl.GetDisabledImage(); + Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + + Toolkit::PushButton& pushButton = static_cast( button ); + + switch( mPaintState ) + { + case DisabledReleasedState: // FALLTHROUGH + case DisabledPressedState: + { + if( disabledImage && disabledImage.GetParent() ) + { + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, disabledImage ); - FadeInImage( pushButton, disabledImage ); - FadeInImage( pushButton, disabledBackgroundImage ); + disabledImage = image; - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + FadeInImage( pushButton, disabledImage ); - if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = PressedDisabledTransition; + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); } else { - mPaintState = DisabledPressedState; + disabledImage = image; + pushButton.Add( disabledImage ); } + break; } - break; - } - case PressedReleasedTransition: - { - if( disabled ) + case ReleasedDisabledTransition: // FALLTHROUGH + case PressedDisabledTransition: { - float opacity = 1.f; - if( fadeOutButtonImage ) - { - opacity = fadeOutButtonImage.GetCurrentOpacity(); - } - StopFadeOutAnimation( pushButton ); StopFadeInAnimation(); + pushButton.Remove( disabledImage ); - FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, backgroundImage ); + disabledImage = image; FadeInImage( pushButton, disabledImage ); - FadeInImage( pushButton, disabledBackgroundImage ); - - StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); - - if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = ReleasedDisabledTransition; - } - else - { - mPaintState = DisabledReleasedState; - } + break; } - break; - } - case ReleasedDisabledTransition: - { - if( !disabled ) + case DisabledReleasedTransition: // FALLTHROUGH + case DisabledPressedTransition: { float opacity = 1.f; if( fadeOutButtonImage ) { opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( pushButton, false ); - StopFadeInAnimation(); + StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Foreground, disabledImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, disabledBackgroundImage, 1.f - opacity ); - FadeInImage( pushButton, buttonImage, opacity ); - FadeInImage( pushButton, backgroundImage, opacity ); + // Replaces the button image. + disabledImage = image; - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + pushButton.Add( disabledImage ); + FadeOutImage( pushButton, Foreground, disabledImage, opacity ); - if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = DisabledReleasedTransition; - } - else - { - mPaintState = ReleasedState; - } + StartFadeOutAnimation( pushButton ); + break; } - break; + default: + disabledImage = image; + break; } - case DisabledReleasedTransition: + + disabledImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + disabledImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( disabledImage, FOREGROUND_DEPTH ); +} + +void PushButtonDefaultPainter::SetDisabledBackgroundImage( Toolkit::Button& button, Actor image ) +{ + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); + Actor& fadeOutBackgroundImage = pushButtonImpl.GetFadeOutBackgroundImage(); + + Toolkit::PushButton& pushButton = static_cast( button ); + + switch( mPaintState ) { - if( disabled ) + case DisabledReleasedState: // FALLTHROUGH + case DisabledPressedState: { - float opacity = 1.f; - if( fadeOutButtonImage ) + if( disabledBackgroundImage && disabledBackgroundImage.GetParent() ) { - opacity = fadeOutButtonImage.GetCurrentOpacity(); - } - StopFadeOutAnimation( pushButton, false ); - StopFadeInAnimation(); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Background, disabledBackgroundImage ); - FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, backgroundImage, 1.f - opacity ); - FadeInImage( pushButton, disabledImage, opacity ); - FadeInImage( pushButton, disabledBackgroundImage, opacity ); + disabledBackgroundImage = image; - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + FadeInImage( pushButton, disabledBackgroundImage ); - if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = ReleasedDisabledTransition; + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); } else { - mPaintState = DisabledReleasedState; + disabledBackgroundImage = image; + pushButton.Add( disabledBackgroundImage ); } + break; } - break; - } - case PressedDisabledTransition: - { - if( !disabled ) + case ReleasedDisabledTransition: // FALLTHROUGH + case PressedDisabledTransition: { - float opacity = 1.f; - if( fadeOutButtonImage ) - { - opacity = fadeOutButtonImage.GetCurrentOpacity(); - } - StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); + pushButton.Remove( disabledBackgroundImage ); - FadeOutImage( pushButton, Foreground, disabledImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, disabledBackgroundImage, 1.f - opacity ); - FadeInImage( pushButton, selectedImage, opacity ); - FadeInImage( pushButton, backgroundImage, opacity ); + disabledBackgroundImage = image; - StartFadeOutAnimation( pushButton ); + FadeInImage( pushButton, disabledBackgroundImage ); StartFadeInAnimation(); - - if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = DisabledPressedTransition; - } - else - { - mPaintState = PressedState; - } + break; } - break; - } - case DisabledPressedTransition: - { - if( disabled ) + case DisabledReleasedTransition: // FALLTHROUGH + case DisabledPressedTransition: { float opacity = 1.f; - if( fadeOutButtonImage ) + if( fadeOutBackgroundImage ) { - opacity = fadeOutButtonImage.GetCurrentOpacity(); + opacity = fadeOutBackgroundImage.GetCurrentOpacity(); } - StopFadeOutAnimation( pushButton, false ); - StopFadeInAnimation(); + StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, backgroundImage, 1.f - opacity ); - FadeInImage( pushButton, disabledImage, opacity ); - FadeInImage( pushButton, disabledBackgroundImage, opacity ); + // Replaces the button image. + disabledBackgroundImage = image; - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + pushButton.Add( disabledBackgroundImage ); + FadeOutImage( pushButton, Background, disabledBackgroundImage, opacity ); - if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = PressedDisabledTransition; - } - else - { - mPaintState = DisabledPressedState; - } + StartFadeOutAnimation( pushButton ); + break; } - break; - } - default: - break; + default: + disabledBackgroundImage = image; + break; } -} - -void PushButtonDefaultPainter::SetAnimationTime( float animationTime ) -{ - mAnimationTime = animationTime; -} - -float PushButtonDefaultPainter::GetAnimationTime() const -{ - return mAnimationTime; -} -void PushButtonDefaultPainter::SetAutoRepeating( bool autorepeating ) -{ - mAutoRepeating = autorepeating; + disabledBackgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + disabledBackgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( disabledBackgroundImage, BACKGROUND_DEPTH ); } -void PushButtonDefaultPainter::Pressed( Toolkit::PushButton& button ) +void PushButtonDefaultPainter::Pressed( Toolkit::Button& button ) { Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); Actor& selectedImage = pushButtonImpl.GetSelectedImage(); Actor& buttonImage = pushButtonImpl.GetButtonImage(); Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + Toolkit::PushButton& pushButton = static_cast( button ); + switch( mPaintState ) { case ReleasedState: { - StopFadeOutAnimation( button ); - FadeOutImage( button, Foreground, buttonImage ); - FadeInImage( button, selectedImage ); - StartFadeOutAnimation( button ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, buttonImage ); + FadeInImage( pushButton, selectedImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -895,13 +910,13 @@ void PushButtonDefaultPainter::Pressed( Toolkit::PushButton& button ) { opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( button, false ); + StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); - FadeOutImage( button, Foreground, buttonImage, 1.f - opacity ); - FadeInImage( button, selectedImage, opacity ); + FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); + FadeInImage( pushButton, selectedImage, opacity ); - StartFadeOutAnimation( button ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -919,21 +934,23 @@ void PushButtonDefaultPainter::Pressed( Toolkit::PushButton& button ) } } -void PushButtonDefaultPainter::Released( Toolkit::PushButton& button ) +void PushButtonDefaultPainter::Released( Toolkit::Button& button ) { Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); Actor& selectedImage = pushButtonImpl.GetSelectedImage(); Actor& buttonImage = pushButtonImpl.GetButtonImage(); Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + Toolkit::PushButton& pushButton = static_cast( button ); + switch( mPaintState ) { case PressedState: { - StopFadeOutAnimation( button ); - FadeOutImage( button, Foreground, selectedImage ); - FadeInImage( button, buttonImage ); - StartFadeOutAnimation( button ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, selectedImage ); + FadeInImage( pushButton, buttonImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -953,13 +970,13 @@ void PushButtonDefaultPainter::Released( Toolkit::PushButton& button ) { opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( button, false ); + StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); - FadeOutImage( button, Foreground, selectedImage, 1.f - opacity ); - FadeInImage( button, buttonImage, opacity ); + FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); + FadeInImage( pushButton, buttonImage, opacity ); - StartFadeOutAnimation( button ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -979,26 +996,28 @@ void PushButtonDefaultPainter::Released( Toolkit::PushButton& button ) } } -void PushButtonDefaultPainter::Clicked( Toolkit::PushButton& button ) +void PushButtonDefaultPainter::Clicked( Toolkit::Button& button ) { Released( button ); } -void PushButtonDefaultPainter::Toggled( Toolkit::PushButton& button ) +void PushButtonDefaultPainter::Selected( Toolkit::Button& button ) { Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); Actor& selectedImage = pushButtonImpl.GetSelectedImage(); Actor& buttonImage = pushButtonImpl.GetButtonImage(); Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + Toolkit::PushButton& pushButton = static_cast( button ); + switch( mPaintState ) { case ReleasedState: { - StopFadeOutAnimation( button ); - FadeOutImage( button, Foreground, buttonImage ); - FadeInImage( button, selectedImage ); - StartFadeOutAnimation( button ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, buttonImage ); + FadeInImage( pushButton, selectedImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -1013,10 +1032,10 @@ void PushButtonDefaultPainter::Toggled( Toolkit::PushButton& button ) } case PressedState: { - StopFadeOutAnimation( button ); - FadeOutImage( button, Foreground, selectedImage ); - FadeInImage( button, buttonImage ); - StartFadeOutAnimation( button ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, selectedImage ); + FadeInImage( pushButton, buttonImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -1036,13 +1055,13 @@ void PushButtonDefaultPainter::Toggled( Toolkit::PushButton& button ) { opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( button, false ); + StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); - FadeOutImage( button, Foreground, selectedImage, 1.f - opacity ); - FadeInImage( button, buttonImage, opacity ); + FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); + FadeInImage( pushButton, buttonImage, opacity ); - StartFadeOutAnimation( button ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -1062,13 +1081,13 @@ void PushButtonDefaultPainter::Toggled( Toolkit::PushButton& button ) { opacity = 1.f - fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( button, false ); + StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); - FadeOutImage( button, Foreground, buttonImage, 1.f - opacity ); - FadeInImage( button, selectedImage, opacity ); + FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); + FadeInImage( pushButton, selectedImage, opacity ); - StartFadeOutAnimation( button ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage )