- Actor& buttonImage = GetButtonImage();
- Actor& selectedImage = GetSelectedImage();
- Actor& backgroundImage = GetBackgroundImage();
- Actor& disabledImage = GetDisabledImage();
- Actor& disabledBackgroundImage = GetDisabledBackgroundImage();
- Actor& fadeOutButtonImage = GetFadeOutButtonImage();
-
- switch( mPaintState )
- {
- case UnselectedState:
- {
- if( disabled )
- {
- StopFadeOutAnimation();
- FadeOutImage( Background, backgroundImage );
- FadeOutImage( Foreground, buttonImage );
- FadeInImage( disabledBackgroundImage );
- FadeInImage( disabledImage );
- StartFadeOutAnimation();
- StartFadeInAnimation();
-
- if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage )
- {
- mPaintState = UnselectedDisabledTransition;
- }
- else
- {
- mPaintState = DisabledUnselectedState;
- }
- }
- break;
- }
- case SelectedState:
- {
- if( disabled )
- {
- StopFadeOutAnimation();
- FadeOutImage( Background, backgroundImage );
- FadeOutImage( Foreground, selectedImage );
- FadeInImage( disabledBackgroundImage );
- FadeInImage( disabledImage );
- StartFadeOutAnimation();
- StartFadeInAnimation();
-
- if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage )
- {
- mPaintState = SelectedDisabledTransition;
- }
- else
- {
- mPaintState = DisabledSelectedState;
- }
- }
- break;
- }
- case DisabledUnselectedState:
- {
- if( !disabled )
- {
- StopFadeOutAnimation();
- FadeOutImage( Background, disabledBackgroundImage );
- FadeOutImage( Foreground, disabledImage );
- FadeInImage( backgroundImage );
- FadeInImage( buttonImage );
- StartFadeOutAnimation();
- StartFadeInAnimation();
-
- if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage )
- {
- mPaintState = DisabledUnselectedTransition;
- }
- else
- {
- mPaintState = UnselectedState;
- }
- }
- break;
- }
- case DisabledSelectedState:
- {
- if( !disabled )
- {
- StopFadeOutAnimation();
- FadeOutImage( Background, disabledBackgroundImage );
- FadeOutImage( Foreground, disabledImage );
- FadeInImage( backgroundImage );
- FadeInImage( selectedImage );
- StartFadeOutAnimation();
- StartFadeInAnimation();
-
- if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage )
- {
- mPaintState = DisabledSelectedTransition;
- }
- else
- {
- mPaintState = SelectedState;
- }
- }
- break;
- }
- case UnselectedSelectedTransition:
- {
- if( disabled )
- {
- float opacity = 1.f;
- if( fadeOutButtonImage )
- {
- opacity = fadeOutButtonImage.GetCurrentOpacity();
- }
- StopFadeOutAnimation();
- StopFadeInAnimation();
-
- FadeOutImage( Foreground, selectedImage, 1.f - opacity );
- FadeOutImage( Background, backgroundImage );
-
- FadeInImage( disabledImage );
- FadeInImage( disabledBackgroundImage );
-
- StartFadeOutAnimation();
- StartFadeInAnimation();
-
- if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage )
- {
- mPaintState = SelectedDisabledTransition;
- }
- else
- {
- mPaintState = DisabledSelectedState;
- }
- }
- break;
- }
- case SelectedUnselectedTransition:
- {
- if( disabled )
- {
- float opacity = 1.f;
- if( fadeOutButtonImage )
- {
- opacity = fadeOutButtonImage.GetCurrentOpacity();
- }
- StopFadeOutAnimation();
- StopFadeInAnimation();
-
- FadeOutImage( Foreground, buttonImage, 1.f - opacity );
- FadeOutImage( Background, backgroundImage );