-void PushButton::SetButtonImage( Actor image )
-{
- Actor& buttonImage = GetButtonImage();
- Actor& fadeOutButtonImage = GetFadeOutButtonImage();
-
- switch( mPaintState )
- {
- case UnselectedState:
- {
- if( buttonImage && buttonImage.GetParent() )
- {
- StopFadeOutAnimation();
- FadeOutImage( Foreground, buttonImage );
-
- buttonImage = image;
-
- FadeInImage( buttonImage );
-
- StartFadeOutAnimation();
- StartFadeInAnimation();
- }
- else
- {
- buttonImage = image;
- Self().Add( buttonImage );
- }
- break;
- }
- case UnselectedSelectedTransition: // FALLTHROUGH
- case UnselectedDisabledTransition:
- {
- float opacity = 1.f;
- if( fadeOutButtonImage )
- {
- opacity = fadeOutButtonImage.GetCurrentOpacity();
- }
- StopFadeOutAnimation();
-
- // Replaces the button image.
- buttonImage = image;
-
- Self().Add( buttonImage );
- FadeOutImage( Foreground, buttonImage, opacity );
-
- StartFadeOutAnimation();
- break;
- }
- case SelectedUnselectedTransition: // FALLTHROUGH
- case DisabledUnselectedTransition:
- {
- StopFadeInAnimation();
- Self().Remove( buttonImage );
-
- buttonImage = image;
-
- FadeInImage( buttonImage );
- StartFadeInAnimation();
- break;
- }
- default:
- buttonImage = image;
- break;
- }
-
- buttonImage.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- buttonImage.SetParentOrigin( ParentOrigin::TOP_LEFT );
- buttonImage.SetPosition( 0.f, 0.f, FOREGROUND_DEPTH );
- buttonImage.SetSizeMode( SIZE_EQUAL_TO_PARENT );
-}
-
-void PushButton::SetSelectedImage( Actor image )
-{
- Actor& selectedImage = GetSelectedImage();
- Actor& fadeOutButtonImage = GetFadeOutButtonImage();
-
- switch( mPaintState )
- {
- case SelectedState:
- {
- if( selectedImage && selectedImage.GetParent() )
- {
- StopFadeOutAnimation();
- FadeOutImage( Foreground, selectedImage );
-
- selectedImage = image;
-
- FadeInImage( selectedImage );
-
- StartFadeOutAnimation();
- StartFadeInAnimation();
- }
- else
- {
- selectedImage = image;
- Self().Add( selectedImage );
- }
- break;
- }
- case SelectedUnselectedTransition: // FALLTHROUGH
- case SelectedDisabledTransition:
- {
- float opacity = 1.f;
- if( fadeOutButtonImage )
- {
- opacity = fadeOutButtonImage.GetCurrentOpacity();
- }
- StopFadeOutAnimation();
-
- // Replaces the button image.
- selectedImage = image;
-
- Self().Add( selectedImage );
- FadeOutImage( Foreground, selectedImage, opacity );
-
- StartFadeOutAnimation();
- break;
- }
- case UnselectedSelectedTransition: // FALLTHROUGH
- case DisabledSelectedTransition:
- {
- StopFadeInAnimation();
- Self().Remove( selectedImage );
-
- selectedImage = image;
-
- FadeInImage( selectedImage );
- StartFadeInAnimation();
- break;
- }
- default:
- selectedImage = image;
- break;
- }
-
- selectedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- selectedImage.SetParentOrigin( ParentOrigin::TOP_LEFT );
- selectedImage.SetPosition( 0.f, 0.f, FOREGROUND_DEPTH );
- selectedImage.SetSizeMode( SIZE_EQUAL_TO_PARENT );
-}
-
-void PushButton::SetBackgroundImage( Actor image )
-{
- Actor& backgroundImage = GetBackgroundImage();
- Actor& fadeOutBackgroundImage = GetFadeOutBackgroundImage();
-
- switch( mPaintState )
- {
- case UnselectedState: // FALLTHROUGH
- case SelectedState:
- case UnselectedSelectedTransition:
- case SelectedUnselectedTransition:
- {
- if( backgroundImage && backgroundImage.GetParent() )
- {
- StopFadeOutAnimation();
- FadeOutImage( Background, backgroundImage );
-
- backgroundImage = image;
-
- FadeInImage( backgroundImage );
-
- StartFadeOutAnimation();
- StartFadeInAnimation();
- }
- else
- {
- backgroundImage = image;
- Self().Add( backgroundImage );
- }
- break;
- }
- case UnselectedDisabledTransition: // FALLTHROUGH
- case SelectedDisabledTransition:
- {
- float opacity = 1.f;
- if( fadeOutBackgroundImage )
- {
- opacity = fadeOutBackgroundImage.GetCurrentOpacity();
- }
- StopFadeOutAnimation();
-
- // Replaces the button image.
- backgroundImage = image;
-
- Self().Add( backgroundImage );
- FadeOutImage( Background, backgroundImage, opacity );
-
- StartFadeOutAnimation();
- break;
- }
- case DisabledUnselectedTransition: // FALLTHROUGH
- case DisabledSelectedTransition:
- {
- StopFadeInAnimation();
- Self().Remove( backgroundImage );
-
- backgroundImage = image;
-
- FadeInImage( backgroundImage );
- StartFadeInAnimation();
- break;
- }
- default:
- backgroundImage = image;
- break;
- }
-
- backgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- backgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT );
- backgroundImage.SetPosition( 0.f, 0.f, BACKGROUND_DEPTH );
- backgroundImage.SetSizeMode( SIZE_EQUAL_TO_PARENT );
-}
-
-void PushButton::SetDisabledImage( Actor image )
-{
- Actor& disabledImage = GetDisabledImage();
- Actor& fadeOutButtonImage = GetFadeOutButtonImage();
-
- switch( mPaintState )
- {
- case DisabledUnselectedState: // FALLTHROUGH
- case DisabledSelectedState:
- {
- if( disabledImage && disabledImage.GetParent() )
- {
- StopFadeOutAnimation();
- FadeOutImage( Foreground, disabledImage );
-
- disabledImage = image;
-
- FadeInImage( disabledImage );
-
- StartFadeOutAnimation();
- StartFadeInAnimation();
- }
- else
- {
- disabledImage = image;
- Self().Add( disabledImage );
- }
- break;
- }
- case UnselectedDisabledTransition: // FALLTHROUGH
- case SelectedDisabledTransition:
- {
- StopFadeInAnimation();
- Self().Remove( disabledImage );
-
- disabledImage = image;
-
- FadeInImage( disabledImage );
- StartFadeInAnimation();
- break;
- }
- case DisabledUnselectedTransition: // FALLTHROUGH
- case DisabledSelectedTransition:
- {
- float opacity = 1.f;
- if( fadeOutButtonImage )
- {
- opacity = fadeOutButtonImage.GetCurrentOpacity();
- }
- StopFadeOutAnimation();
-
- // Replaces the button image.
- disabledImage = image;
-
- Self().Add( disabledImage );
- FadeOutImage( Foreground, disabledImage, opacity );
-
- StartFadeOutAnimation();
- break;
- }
- default:
- disabledImage = image;
- break;
- }
-
- disabledImage.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- disabledImage.SetParentOrigin( ParentOrigin::TOP_LEFT );
- disabledImage.SetPosition( 0.f, 0.f, FOREGROUND_DEPTH );
- disabledImage.SetSizeMode( SIZE_EQUAL_TO_PARENT );
-}
-
-void PushButton::SetDisabledBackgroundImage( Actor image )