-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
// CLASS HEADER
-
#include "push-button-default-painter-impl.h"
-// INTERNAL INCLUDES
-
+// EXTERNAL INCLUDES
#include <dali/public-api/actors/image-actor.h>
-#include <dali-toolkit/public-api/controls/text-view/text-view.h>
-#include <dali-toolkit/public-api/controls/buttons/push-button.h>
+#include <dali/public-api/adaptor-framework/timer.h>
+#include <dali/public-api/animation/active-constraint.h>
+#include <dali/public-api/animation/constraint.h>
+#include <dali/public-api/animation/constraints.h>
#include <dali/public-api/object/ref-object.h>
+// INTERNAL INCLUDES
+#include <dali-toolkit/public-api/controls/buttons/push-button.h>
#include "push-button-impl.h"
-// EXTERNAL INCLUDES
-
namespace Dali
{
PushButtonDefaultPainter::PushButtonDefaultPainter()
: PushButtonPainter(),
mAutoRepeating( false ),
- mDimmed( false ),
+ mDisabled( false ),
mPaintState( ReleasedState ),
mButton( NULL ),
mAnimationTime( ANIMATION_TIME ),
}
}
-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<Toolkit::PushButton&>( 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 ReleasedDimmedTransition:
- {
- 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 DimmedReleasedTransition:
- {
- 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<Toolkit::PushButton&>( 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 ReleasedDimmedTransition: // FALLTHROUGH
- case PressedDimmedTransition:
+ 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 DimmedReleasedTransition: // FALLTHROUGH
- case DimmedPressedTransition:
+ 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::SetPressedImage( Toolkit::PushButton& pushButton, Actor image )
-{
- Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton );
- Actor& pressedImage = pushButtonImpl.GetPressedImage();
- Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage();
-
- switch( mPaintState )
+ if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage )
+ {
+ mPaintState = DisabledReleasedTransition;
+ }
+ else
+ {
+ mPaintState = ReleasedState;
+ }
+ }
+ break;
+ }
+ case DisabledPressedState:
{
- case PressedState:
+ if( !disabled )
{
- if( pressedImage && pressedImage.GetParent() )
- {
- StopFadeOutAnimation( pushButton );
- FadeOutImage( pushButton, Foreground, pressedImage );
-
- pressedImage = image;
-
- FadeInImage( pushButton, pressedImage );
+ 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
{
- pressedImage = image;
- pushButton.Add( pressedImage );
+ mPaintState = PressedState;
}
- break;
}
- case PressedReleasedTransition: // FALLTHROUGH
- case PressedDimmedTransition:
+ break;
+ }
+ case ReleasedPressedTransition:
+ {
+ if( disabled )
{
float opacity = 1.f;
if( fadeOutButtonImage )
opacity = fadeOutButtonImage.GetCurrentOpacity();
}
StopFadeOutAnimation( pushButton );
+ StopFadeInAnimation();
- // Replaces the button image.
- pressedImage = image;
+ FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity );
+ FadeOutImage( pushButton, Background, backgroundImage );
- pushButton.Add( pressedImage );
- FadeOutImage( pushButton, Foreground, pressedImage, opacity );
+ FadeInImage( pushButton, disabledImage );
+ FadeInImage( pushButton, disabledBackgroundImage );
StartFadeOutAnimation( pushButton );
- break;
- }
- case ReleasedPressedTransition: // FALLTHROUGH
- case DimmedPressedTransition:
- {
- StopFadeInAnimation();
- pushButton.Remove( pressedImage );
-
- pressedImage = image;
-
- FadeInImage( pushButton, pressedImage );
StartFadeInAnimation();
- break;
- }
- default:
- pressedImage = image;
- break;
- }
-
- pressedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- pressedImage.SetParentOrigin( ParentOrigin::TOP_LEFT );
- ApplyConstraint( pressedImage, FOREGROUND_DEPTH );
-}
-
-void PushButtonDefaultPainter::SetDimmedImage( Toolkit::PushButton& pushButton, Actor image )
-{
- Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton );
- Actor& dimmedImage = pushButtonImpl.GetDimmedImage();
- Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage();
- switch( mPaintState )
- {
- case DimmedReleasedState: // FALLTHROUGH
- case DimmedPressedState:
- {
- if( dimmedImage && dimmedImage.GetParent() )
+ if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage )
{
- StopFadeOutAnimation( pushButton );
- FadeOutImage( pushButton, Foreground, dimmedImage );
-
- dimmedImage = image;
-
- FadeInImage( pushButton, dimmedImage );
-
- StartFadeOutAnimation( pushButton );
- StartFadeInAnimation();
+ mPaintState = PressedDisabledTransition;
}
else
{
- dimmedImage = image;
- pushButton.Add( dimmedImage );
+ mPaintState = DisabledPressedState;
}
- break;
}
- case ReleasedDimmedTransition: // FALLTHROUGH
- case PressedDimmedTransition:
+ break;
+ }
+ case PressedReleasedTransition:
+ {
+ if( disabled )
{
+ float opacity = 1.f;
+ if( fadeOutButtonImage )
+ {
+ opacity = fadeOutButtonImage.GetCurrentOpacity();
+ }
+ StopFadeOutAnimation( pushButton );
StopFadeInAnimation();
- pushButton.Remove( dimmedImage );
- dimmedImage = image;
+ FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity );
+ FadeOutImage( pushButton, Background, backgroundImage );
+
+ FadeInImage( pushButton, disabledImage );
+ FadeInImage( pushButton, disabledBackgroundImage );
- FadeInImage( pushButton, dimmedImage );
+ StartFadeOutAnimation( pushButton );
StartFadeInAnimation();
- break;
+
+ if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage )
+ {
+ mPaintState = ReleasedDisabledTransition;
+ }
+ else
+ {
+ mPaintState = DisabledReleasedState;
+ }
}
- case DimmedReleasedTransition: // FALLTHROUGH
- case DimmedPressedTransition:
+ break;
+ }
+ case ReleasedDisabledTransition:
+ {
+ if( !disabled )
{
float opacity = 1.f;
if( fadeOutButtonImage )
{
opacity = fadeOutButtonImage.GetCurrentOpacity();
}
- StopFadeOutAnimation( pushButton );
-
- // Replaces the button image.
- dimmedImage = image;
+ StopFadeOutAnimation( pushButton, false );
+ StopFadeInAnimation();
- pushButton.Add( dimmedImage );
- FadeOutImage( pushButton, Foreground, dimmedImage, 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:
- dimmedImage = image;
- break;
+ break;
}
-
- dimmedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- dimmedImage.SetParentOrigin( ParentOrigin::TOP_LEFT );
- ApplyConstraint( dimmedImage, FOREGROUND_DEPTH );
-}
-
-void PushButtonDefaultPainter::SetDimmedBackgroundImage( Toolkit::PushButton& pushButton, Actor image )
-{
- Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton );
- Actor& dimmedBackgroundImage = pushButtonImpl.GetDimmedBackgroundImage();
- Actor& fadeOutBackgroundImage = pushButtonImpl.GetFadeOutBackgroundImage();
-
- switch( mPaintState )
+ case DisabledReleasedTransition:
{
- case DimmedReleasedState: // FALLTHROUGH
- case DimmedPressedState:
+ if( disabled )
{
- if( dimmedBackgroundImage && dimmedBackgroundImage.GetParent() )
+ float opacity = 1.f;
+ if( fadeOutButtonImage )
{
- StopFadeOutAnimation( pushButton );
- FadeOutImage( pushButton, Background, dimmedBackgroundImage );
+ opacity = fadeOutButtonImage.GetCurrentOpacity();
+ }
+ StopFadeOutAnimation( pushButton, false );
+ StopFadeInAnimation();
- dimmedBackgroundImage = 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, dimmedBackgroundImage );
+ StartFadeOutAnimation( pushButton );
+ StartFadeInAnimation();
- StartFadeOutAnimation( pushButton );
- StartFadeInAnimation();
+ if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage )
+ {
+ mPaintState = ReleasedDisabledTransition;
}
else
{
- dimmedBackgroundImage = image;
- pushButton.Add( dimmedBackgroundImage );
+ mPaintState = DisabledReleasedState;
}
- break;
}
- case ReleasedDimmedTransition: // FALLTHROUGH
- case PressedDimmedTransition:
+ break;
+ }
+ case PressedDisabledTransition:
+ {
+ if( !disabled )
{
+ float opacity = 1.f;
+ if( fadeOutButtonImage )
+ {
+ opacity = fadeOutButtonImage.GetCurrentOpacity();
+ }
+ StopFadeOutAnimation( pushButton, false );
StopFadeInAnimation();
- pushButton.Remove( dimmedBackgroundImage );
- dimmedBackgroundImage = 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, dimmedBackgroundImage );
+ StartFadeOutAnimation( pushButton );
StartFadeInAnimation();
- break;
+
+ if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage )
+ {
+ mPaintState = DisabledPressedTransition;
+ }
+ else
+ {
+ mPaintState = PressedState;
+ }
}
- case DimmedReleasedTransition: // FALLTHROUGH
- case DimmedPressedTransition:
+ 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.
- dimmedBackgroundImage = image;
+ StopFadeOutAnimation( pushButton, false );
+ StopFadeInAnimation();
- pushButton.Add( dimmedBackgroundImage );
- FadeOutImage( pushButton, Background, dimmedBackgroundImage, 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:
- dimmedBackgroundImage = image;
- break;
+ break;
+ }
+ default:
+ break;
}
-
- dimmedBackgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- dimmedBackgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT );
- ApplyConstraint( dimmedBackgroundImage, BACKGROUND_DEPTH );
}
-void PushButtonDefaultPainter::SetLabelText( Toolkit::PushButton& pushButton, Actor text )
+void PushButtonDefaultPainter::SetAnimationTime( float animationTime )
{
- Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton );
- Actor& label = pushButtonImpl.GetLabel();
-
- if( label && label.GetParent() )
- {
- label.GetParent().Remove( label );
- }
-
- label = text;
- label.SetAnchorPoint( AnchorPoint::CENTER );
- label.SetParentOrigin( ParentOrigin::CENTER );
+ mAnimationTime = animationTime;
+}
- label.SetPosition( 0.f, 0.f, LABEL_DEPTH );
- label.SetSize( mSize );
+float PushButtonDefaultPainter::GetAnimationTime() const
+{
+ return mAnimationTime;
+}
- pushButton.Add( label );
+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& pressedImage = pushButtonImpl.GetPressedImage();
- Actor& backgroundImage = pushButtonImpl.GetBackgroundImage();
- Actor& dimmedImage = pushButtonImpl.GetDimmedImage();
- Actor& dimmedBackgroundImage = pushButtonImpl.GetDimmedBackgroundImage();
- Actor& label = pushButtonImpl.GetLabel();
+ Actor& labelActor = pushButtonImpl.GetLabel();
Toolkit::PushButton& pushButton = static_cast<Toolkit::PushButton&>( button );
- if( buttonImage )
+ if( labelActor && labelActor.GetParent() )
{
- SetButtonImage( pushButton, buttonImage );
+ labelActor.GetParent().Remove( labelActor );
}
- if( backgroundImage )
- {
- SetBackgroundImage( pushButton, backgroundImage );
- }
+ labelActor = label;
+ labelActor.SetAnchorPoint( AnchorPoint::CENTER );
+ labelActor.SetParentOrigin( ParentOrigin::CENTER );
- if( pressedImage )
- {
- SetPressedImage( pushButton, pressedImage );
- }
-
- if( dimmedImage )
- {
- SetDimmedImage( pushButton, dimmedImage );
- }
-
- if( dimmedBackgroundImage )
- {
- SetDimmedBackgroundImage( pushButton, dimmedBackgroundImage );
- }
+ labelActor.SetPosition( 0.f, 0.f, LABEL_DEPTH );
+ labelActor.SetSize( mSize );
- if( label )
- {
- SetLabelText( pushButton, label );
- }
-
- SetDimmed( pushButton, mDimmed );
+ pushButton.Add( labelActor );
}
-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& pressedImage = pushButtonImpl.GetPressedImage();
- Actor& backgroundImage = pushButtonImpl.GetBackgroundImage();
- Actor& dimmedImage = pushButtonImpl.GetDimmedImage();
- Actor& dimmedBackgroundImage = pushButtonImpl.GetDimmedBackgroundImage();
- Actor& label = pushButtonImpl.GetLabel();
-
- ApplyConstraint( buttonImage, FOREGROUND_DEPTH );
- ApplyConstraint( backgroundImage, BACKGROUND_DEPTH );
- ApplyConstraint( pressedImage, FOREGROUND_DEPTH );
- ApplyConstraint( dimmedImage, FOREGROUND_DEPTH );
- ApplyConstraint( dimmedBackgroundImage, BACKGROUND_DEPTH );
-
- if( label )
- {
- label.SetPosition( 0.f, 0.f, LABEL_DEPTH );
- label.SetSize( mSize );
- }
- }
-}
-
-void PushButtonDefaultPainter::SetDimmed( Toolkit::Button& button, bool dimmed )
+void PushButtonDefaultPainter::SetButtonImage( Toolkit::Button& button, Actor image )
{
Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button );
Actor& buttonImage = pushButtonImpl.GetButtonImage();
- Actor& pressedImage = pushButtonImpl.GetPressedImage();
- Actor& backgroundImage = pushButtonImpl.GetBackgroundImage();
- Actor& dimmedImage = pushButtonImpl.GetDimmedImage();
- Actor& dimmedBackgroundImage = pushButtonImpl.GetDimmedBackgroundImage();
Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage();
Toolkit::PushButton& pushButton = static_cast<Toolkit::PushButton&>( button );
- mDimmed = dimmed;
-
switch( mPaintState )
{
- case ReleasedState:
- {
- if( dimmed )
+ case ReleasedState:
{
- StopFadeOutAnimation( pushButton );
- FadeOutImage( pushButton, Background, backgroundImage );
- FadeOutImage( pushButton, Foreground, buttonImage );
- FadeInImage( pushButton, dimmedBackgroundImage );
- FadeInImage( pushButton, dimmedImage );
- StartFadeOutAnimation( pushButton );
- StartFadeInAnimation();
-
- if( buttonImage || dimmedImage || backgroundImage || dimmedBackgroundImage )
+ if( buttonImage && buttonImage.GetParent() )
{
- mPaintState = ReleasedDimmedTransition;
+ StopFadeOutAnimation( pushButton );
+ FadeOutImage( pushButton, Foreground, buttonImage );
+
+ buttonImage = image;
+
+ FadeInImage( pushButton, buttonImage );
+
+ StartFadeOutAnimation( pushButton );
+ StartFadeInAnimation();
}
else
{
- mPaintState = DimmedReleasedState;
+ buttonImage = image;
+ pushButton.Add( buttonImage );
}
+ break;
}
- break;
- }
- case PressedState:
- {
- if( dimmed )
+ case ReleasedPressedTransition: // FALLTHROUGH
+ case ReleasedDisabledTransition:
{
- StopFadeOutAnimation( pushButton );
- FadeOutImage( pushButton, Background, backgroundImage );
- FadeOutImage( pushButton, Foreground, pressedImage );
- FadeInImage( pushButton, dimmedBackgroundImage );
- FadeInImage( pushButton, dimmedImage );
- StartFadeOutAnimation( pushButton );
- StartFadeInAnimation();
-
- if( pressedImage || dimmedImage || backgroundImage || dimmedBackgroundImage )
- {
- mPaintState = PressedDimmedTransition;
- }
- else
+ float opacity = 1.f;
+ if( fadeOutButtonImage )
{
- mPaintState = DimmedPressedState;
+ opacity = fadeOutButtonImage.GetCurrentOpacity();
}
+ StopFadeOutAnimation( pushButton );
+
+ // Replaces the button image.
+ buttonImage = image;
+
+ pushButton.Add( buttonImage );
+ FadeOutImage( pushButton, Foreground, buttonImage, opacity );
+
+ StartFadeOutAnimation( pushButton );
+ break;
}
- break;
- }
- case DimmedReleasedState:
- {
- if( !dimmed )
+ case PressedReleasedTransition: // FALLTHROUGH
+ case DisabledReleasedTransition:
{
- StopFadeOutAnimation( pushButton );
- FadeOutImage( pushButton, Background, dimmedBackgroundImage );
- FadeOutImage( pushButton, Foreground, dimmedImage );
- FadeInImage( pushButton, backgroundImage );
+ StopFadeInAnimation();
+ pushButton.Remove( buttonImage );
+
+ buttonImage = image;
+
FadeInImage( pushButton, buttonImage );
- StartFadeOutAnimation( pushButton );
StartFadeInAnimation();
-
- if( buttonImage || dimmedImage || backgroundImage || dimmedBackgroundImage )
- {
- mPaintState = DimmedReleasedTransition;
- }
- else
- {
- mPaintState = ReleasedState;
- }
+ break;
}
- break;
+ default:
+ buttonImage = image;
+ break;
}
- case DimmedPressedState:
- {
- if( !dimmed )
- {
- StopFadeOutAnimation( pushButton );
- FadeOutImage( pushButton, Background, dimmedBackgroundImage );
- FadeOutImage( pushButton, Foreground, dimmedImage );
- FadeInImage( pushButton, backgroundImage );
- FadeInImage( pushButton, pressedImage );
- StartFadeOutAnimation( pushButton );
- StartFadeInAnimation();
- if( pressedImage || dimmedImage || backgroundImage || dimmedBackgroundImage )
+ 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<Toolkit::PushButton&>( button );
+
+ switch( mPaintState )
+ {
+ case PressedState:
+ {
+ if( selectedImage && selectedImage.GetParent() )
{
- mPaintState = DimmedPressedTransition;
+ StopFadeOutAnimation( pushButton );
+ FadeOutImage( pushButton, Foreground, selectedImage );
+
+ selectedImage = image;
+
+ FadeInImage( pushButton, selectedImage );
+
+ StartFadeOutAnimation( pushButton );
+ StartFadeInAnimation();
}
else
{
- mPaintState = PressedState;
+ selectedImage = image;
+ pushButton.Add( selectedImage );
}
+ break;
}
- break;
- }
- case ReleasedPressedTransition:
- {
- if( dimmed )
+ case PressedReleasedTransition: // FALLTHROUGH
+ case PressedDisabledTransition:
{
float opacity = 1.f;
if( fadeOutButtonImage )
opacity = fadeOutButtonImage.GetCurrentOpacity();
}
StopFadeOutAnimation( pushButton );
- StopFadeInAnimation();
- FadeOutImage( pushButton, Foreground, pressedImage, 1.f - opacity );
- FadeOutImage( pushButton, Background, backgroundImage );
+ // Replaces the button image.
+ selectedImage = image;
- FadeInImage( pushButton, dimmedImage );
- FadeInImage( pushButton, dimmedBackgroundImage );
+ 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( pressedImage || dimmedImage || backgroundImage || dimmedBackgroundImage )
+ 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<Toolkit::PushButton&>( button );
+
+ switch( mPaintState )
+ {
+ case ReleasedState: // FALLTHROUGH
+ case PressedState:
+ case ReleasedPressedTransition:
+ case PressedReleasedTransition:
+ {
+ if( backgroundImage && backgroundImage.GetParent() )
{
- mPaintState = PressedDimmedTransition;
+ StopFadeOutAnimation( pushButton );
+ FadeOutImage( pushButton, Background, backgroundImage );
+
+ backgroundImage = image;
+
+ FadeInImage( pushButton, backgroundImage );
+
+ StartFadeOutAnimation( pushButton );
+ StartFadeInAnimation();
}
else
{
- mPaintState = DimmedPressedState;
+ backgroundImage = image;
+ pushButton.Add( backgroundImage );
}
+ break;
}
- break;
- }
- case PressedReleasedTransition:
- {
- if( dimmed )
+ case ReleasedDisabledTransition: // FALLTHROUGH
+ case PressedDisabledTransition:
{
float opacity = 1.f;
- if( fadeOutButtonImage )
+ if( fadeOutBackgroundImage )
{
- opacity = fadeOutButtonImage.GetCurrentOpacity();
+ opacity = fadeOutBackgroundImage.GetCurrentOpacity();
}
StopFadeOutAnimation( pushButton );
- StopFadeInAnimation();
- FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity );
- FadeOutImage( pushButton, Background, backgroundImage );
+ // Replaces the button image.
+ backgroundImage = image;
- FadeInImage( pushButton, dimmedImage );
- FadeInImage( pushButton, dimmedBackgroundImage );
+ pushButton.Add( backgroundImage );
+ FadeOutImage( pushButton, Background, backgroundImage, opacity );
StartFadeOutAnimation( pushButton );
+ break;
+ }
+ case DisabledReleasedTransition: // FALLTHROUGH
+ case DisabledPressedTransition:
+ {
+ StopFadeInAnimation();
+ pushButton.Remove( 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 );
+}
- if( buttonImage || dimmedImage || backgroundImage || dimmedBackgroundImage )
+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<Toolkit::PushButton&>( button );
+
+ switch( mPaintState )
+ {
+ case DisabledReleasedState: // FALLTHROUGH
+ case DisabledPressedState:
+ {
+ if( disabledImage && disabledImage.GetParent() )
{
- mPaintState = ReleasedDimmedTransition;
+ StopFadeOutAnimation( pushButton );
+ FadeOutImage( pushButton, Foreground, disabledImage );
+
+ disabledImage = image;
+
+ FadeInImage( pushButton, disabledImage );
+
+ StartFadeOutAnimation( pushButton );
+ StartFadeInAnimation();
}
else
{
- mPaintState = DimmedReleasedState;
+ disabledImage = image;
+ pushButton.Add( disabledImage );
}
+ break;
}
- break;
- }
- case ReleasedDimmedTransition:
- {
- if( !dimmed )
+ case ReleasedDisabledTransition: // FALLTHROUGH
+ case PressedDisabledTransition:
{
- float opacity = 1.f;
- if( fadeOutButtonImage )
- {
- opacity = fadeOutButtonImage.GetCurrentOpacity();
- }
- StopFadeOutAnimation( pushButton, false );
StopFadeInAnimation();
+ pushButton.Remove( disabledImage );
- FadeOutImage( pushButton, Foreground, dimmedImage, 1.f - opacity );
- FadeOutImage( pushButton, Background, dimmedBackgroundImage, 1.f - opacity );
- FadeInImage( pushButton, buttonImage, opacity );
- FadeInImage( pushButton, backgroundImage, opacity );
+ disabledImage = image;
- StartFadeOutAnimation( pushButton );
+ FadeInImage( pushButton, disabledImage );
StartFadeInAnimation();
-
- if( buttonImage || dimmedImage || backgroundImage || dimmedBackgroundImage )
- {
- mPaintState = DimmedReleasedTransition;
- }
- else
- {
- mPaintState = ReleasedState;
- }
+ break;
}
- break;
- }
- case DimmedReleasedTransition:
- {
- if( dimmed )
+ case DisabledReleasedTransition: // FALLTHROUGH
+ case DisabledPressedTransition:
{
float opacity = 1.f;
if( fadeOutButtonImage )
{
opacity = fadeOutButtonImage.GetCurrentOpacity();
}
- StopFadeOutAnimation( pushButton, false );
- StopFadeInAnimation();
+ StopFadeOutAnimation( pushButton );
- FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity );
- FadeOutImage( pushButton, Background, backgroundImage, 1.f - opacity );
- FadeInImage( pushButton, dimmedImage, opacity );
- FadeInImage( pushButton, dimmedBackgroundImage, opacity );
+ // Replaces the button image.
+ disabledImage = image;
- StartFadeOutAnimation( pushButton );
- StartFadeInAnimation();
+ pushButton.Add( disabledImage );
+ FadeOutImage( pushButton, Foreground, disabledImage, opacity );
- if( buttonImage || dimmedImage || backgroundImage || dimmedBackgroundImage )
- {
- mPaintState = ReleasedDimmedTransition;
- }
- else
- {
- mPaintState = DimmedReleasedState;
- }
+ StartFadeOutAnimation( pushButton );
+ break;
}
- break;
+ default:
+ disabledImage = image;
+ break;
}
- case PressedDimmedTransition:
+
+ 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<Toolkit::PushButton&>( button );
+
+ switch( mPaintState )
{
- if( !dimmed )
+ 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, dimmedImage, 1.f - opacity );
- FadeOutImage( pushButton, Background, dimmedBackgroundImage, 1.f - opacity );
- FadeInImage( pushButton, pressedImage, opacity );
- FadeInImage( pushButton, backgroundImage, opacity );
+ disabledBackgroundImage = image;
- StartFadeOutAnimation( pushButton );
- StartFadeInAnimation();
+ FadeInImage( pushButton, disabledBackgroundImage );
- if( pressedImage || dimmedImage || backgroundImage || dimmedBackgroundImage )
- {
- mPaintState = DimmedPressedTransition;
+ StartFadeOutAnimation( pushButton );
+ StartFadeInAnimation();
}
else
{
- mPaintState = PressedState;
+ disabledBackgroundImage = image;
+ pushButton.Add( disabledBackgroundImage );
}
+ break;
}
- break;
- }
- case DimmedPressedTransition:
- {
- if( dimmed )
+ case ReleasedDisabledTransition: // FALLTHROUGH
+ case PressedDisabledTransition:
{
- float opacity = 1.f;
- if( fadeOutButtonImage )
- {
- opacity = fadeOutButtonImage.GetCurrentOpacity();
- }
- StopFadeOutAnimation( pushButton, false );
StopFadeInAnimation();
+ pushButton.Remove( disabledBackgroundImage );
- FadeOutImage( pushButton, Foreground, pressedImage, 1.f - opacity );
- FadeOutImage( pushButton, Background, backgroundImage, 1.f - opacity );
- FadeInImage( pushButton, dimmedImage, opacity );
- FadeInImage( pushButton, dimmedBackgroundImage, opacity );
+ disabledBackgroundImage = image;
- StartFadeOutAnimation( pushButton );
+ FadeInImage( pushButton, disabledBackgroundImage );
StartFadeInAnimation();
-
- if( pressedImage || dimmedImage || backgroundImage || dimmedBackgroundImage )
- {
- mPaintState = PressedDimmedTransition;
- }
- else
+ break;
+ }
+ case DisabledReleasedTransition: // FALLTHROUGH
+ case DisabledPressedTransition:
+ {
+ float opacity = 1.f;
+ if( fadeOutBackgroundImage )
{
- mPaintState = DimmedPressedState;
+ opacity = fadeOutBackgroundImage.GetCurrentOpacity();
}
- }
- break;
- }
- default:
- break;
- }
-}
+ StopFadeOutAnimation( pushButton );
-void PushButtonDefaultPainter::SetAnimationTime( float animationTime )
-{
- mAnimationTime = animationTime;
-}
+ // Replaces the button image.
+ disabledBackgroundImage = image;
-float PushButtonDefaultPainter::GetAnimationTime() const
-{
- return mAnimationTime;
-}
+ pushButton.Add( disabledBackgroundImage );
+ FadeOutImage( pushButton, Background, disabledBackgroundImage, opacity );
-void PushButtonDefaultPainter::SetAutoRepeating( bool autorepeating )
-{
- mAutoRepeating = autorepeating;
+ StartFadeOutAnimation( pushButton );
+ break;
+ }
+ default:
+ disabledBackgroundImage = image;
+ break;
+ }
+
+ 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& pressedImage = pushButtonImpl.GetPressedImage();
+ Actor& selectedImage = pushButtonImpl.GetSelectedImage();
Actor& buttonImage = pushButtonImpl.GetButtonImage();
Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage();
+ Toolkit::PushButton& pushButton = static_cast<Toolkit::PushButton&>( button );
+
switch( mPaintState )
{
case ReleasedState:
{
- StopFadeOutAnimation( button );
- FadeOutImage( button, Foreground, buttonImage );
- FadeInImage( button, pressedImage );
- StartFadeOutAnimation( button );
+ StopFadeOutAnimation( pushButton );
+ FadeOutImage( pushButton, Foreground, buttonImage );
+ FadeInImage( pushButton, selectedImage );
+ StartFadeOutAnimation( pushButton );
StartFadeInAnimation();
- if( buttonImage || pressedImage )
+ if( buttonImage || selectedImage )
{
mPaintState = ReleasedPressedTransition;
}
{
opacity = fadeOutButtonImage.GetCurrentOpacity();
}
- StopFadeOutAnimation( button, false );
+ StopFadeOutAnimation( pushButton, false );
StopFadeInAnimation();
- FadeOutImage( button, Foreground, buttonImage, 1.f - opacity );
- FadeInImage( button, pressedImage, opacity );
+ FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity );
+ FadeInImage( pushButton, selectedImage, opacity );
- StartFadeOutAnimation( button );
+ StartFadeOutAnimation( pushButton );
StartFadeInAnimation();
- if( buttonImage || pressedImage )
+ if( buttonImage || selectedImage )
{
mPaintState = ReleasedPressedTransition;
}
}
}
-void PushButtonDefaultPainter::Released( Toolkit::PushButton& button )
+void PushButtonDefaultPainter::Released( Toolkit::Button& button )
{
Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button );
- Actor& pressedImage = pushButtonImpl.GetPressedImage();
+ Actor& selectedImage = pushButtonImpl.GetSelectedImage();
Actor& buttonImage = pushButtonImpl.GetButtonImage();
Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage();
+ Toolkit::PushButton& pushButton = static_cast<Toolkit::PushButton&>( button );
+
switch( mPaintState )
{
case PressedState:
{
- StopFadeOutAnimation( button );
- FadeOutImage( button, Foreground, pressedImage );
- FadeInImage( button, buttonImage );
- StartFadeOutAnimation( button );
+ StopFadeOutAnimation( pushButton );
+ FadeOutImage( pushButton, Foreground, selectedImage );
+ FadeInImage( pushButton, buttonImage );
+ StartFadeOutAnimation( pushButton );
StartFadeInAnimation();
- if( buttonImage || pressedImage )
+ if( buttonImage || selectedImage )
{
mPaintState = PressedReleasedTransition;
}
{
opacity = fadeOutButtonImage.GetCurrentOpacity();
}
- StopFadeOutAnimation( button, false );
+ StopFadeOutAnimation( pushButton, false );
StopFadeInAnimation();
- FadeOutImage( button, Foreground, pressedImage, 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 || pressedImage )
+ if( buttonImage || selectedImage )
{
mPaintState = PressedReleasedTransition;
}
}
}
-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& pressedImage = pushButtonImpl.GetPressedImage();
+ Actor& selectedImage = pushButtonImpl.GetSelectedImage();
Actor& buttonImage = pushButtonImpl.GetButtonImage();
Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage();
+ Toolkit::PushButton& pushButton = static_cast<Toolkit::PushButton&>( button );
+
switch( mPaintState )
{
case ReleasedState:
{
- StopFadeOutAnimation( button );
- FadeOutImage( button, Foreground, buttonImage );
- FadeInImage( button, pressedImage );
- StartFadeOutAnimation( button );
+ StopFadeOutAnimation( pushButton );
+ FadeOutImage( pushButton, Foreground, buttonImage );
+ FadeInImage( pushButton, selectedImage );
+ StartFadeOutAnimation( pushButton );
StartFadeInAnimation();
- if( buttonImage || pressedImage )
+ if( buttonImage || selectedImage )
{
mPaintState = ReleasedPressedTransition;
}
}
case PressedState:
{
- StopFadeOutAnimation( button );
- FadeOutImage( button, Foreground, pressedImage );
- FadeInImage( button, buttonImage );
- StartFadeOutAnimation( button );
+ StopFadeOutAnimation( pushButton );
+ FadeOutImage( pushButton, Foreground, selectedImage );
+ FadeInImage( pushButton, buttonImage );
+ StartFadeOutAnimation( pushButton );
StartFadeInAnimation();
- if( buttonImage || pressedImage )
+ if( buttonImage || selectedImage )
{
mPaintState = PressedReleasedTransition;
}
{
opacity = fadeOutButtonImage.GetCurrentOpacity();
}
- StopFadeOutAnimation( button, false );
+ StopFadeOutAnimation( pushButton, false );
StopFadeInAnimation();
- FadeOutImage( button, Foreground, pressedImage, 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 || pressedImage )
+ if( buttonImage || selectedImage )
{
mPaintState = PressedReleasedTransition;
}
{
opacity = 1.f - fadeOutButtonImage.GetCurrentOpacity();
}
- StopFadeOutAnimation( button, false );
+ StopFadeOutAnimation( pushButton, false );
StopFadeInAnimation();
- FadeOutImage( button, Foreground, buttonImage, 1.f - opacity );
- FadeInImage( button, pressedImage, opacity );
+ FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity );
+ FadeInImage( pushButton, selectedImage, opacity );
- StartFadeOutAnimation( button );
+ StartFadeOutAnimation( pushButton );
StartFadeInAnimation();
- if( buttonImage || pressedImage )
+ if( buttonImage || selectedImage )
{
mPaintState = ReleasedPressedTransition;
}
mPaintState = ReleasedState;
break;
}
- case ReleasedDimmedTransition:
+ case ReleasedDisabledTransition:
{
- mPaintState = DimmedReleasedState;
+ mPaintState = DisabledReleasedState;
break;
}
- case DimmedReleasedTransition:
+ case DisabledReleasedTransition:
{
mPaintState = ReleasedState;
break;
}
- case PressedDimmedTransition:
+ case PressedDisabledTransition:
{
- mPaintState = DimmedPressedState;
+ mPaintState = DisabledPressedState;
break;
}
- case DimmedPressedTransition:
+ case DisabledPressedTransition:
{
mPaintState = PressedState;
break;
mPaintState = ReleasedState;
break;
}
- case ReleasedDimmedTransition:
+ case ReleasedDisabledTransition:
{
- mPaintState = DimmedReleasedState;
+ mPaintState = DisabledReleasedState;
break;
}
- case DimmedReleasedTransition:
+ case DisabledReleasedTransition:
{
mPaintState = ReleasedState;
break;
}
- case PressedDimmedTransition:
+ case PressedDisabledTransition:
{
- mPaintState = DimmedPressedState;
+ mPaintState = DisabledPressedState;
break;
}
- case DimmedPressedTransition:
+ case DisabledPressedTransition:
{
mPaintState = PressedState;
break;