X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fscrollable%2Fscrollable-impl.cpp;h=6cd2e67131f4427e16d424104aa8abd0e20a6559;hb=ef15505c94dffeb0639c91d9d3cd374918c21c4f;hp=3a4ad999242fa4e9ccbc0bec618303582a2c37ab;hpb=726e147d14bb18ef193b102a36d8068b62db89ed;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp b/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp index 3a4ad99..6cd2e67 100644 --- a/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp @@ -18,7 +18,7 @@ // EXTERNAL INCLUDES #include // for strcmp #include -#include +#include // INTERNAL INCLUDES #include @@ -50,6 +50,7 @@ DALI_PROPERTY_REGISTRATION( Toolkit, Scrollable, "overshootEffectColor", VE DALI_PROPERTY_REGISTRATION( Toolkit, Scrollable, "overshootAnimationSpeed", FLOAT, OVERSHOOT_ANIMATION_SPEED ) DALI_PROPERTY_REGISTRATION( Toolkit, Scrollable, "overshootEnabled", BOOLEAN, OVERSHOOT_ENABLED ) DALI_PROPERTY_REGISTRATION( Toolkit, Scrollable, "overshootSize", VECTOR2, OVERSHOOT_SIZE ) +DALI_PROPERTY_REGISTRATION( Toolkit, Scrollable, "scrollToAlphaFunction", INTEGER, SCROLL_TO_ALPHA_FUNCTION ) DALI_ANIMATABLE_PROPERTY_REGISTRATION( Toolkit, Scrollable, "scrollRelativePosition", VECTOR2, SCROLL_RELATIVE_POSITION) DALI_ANIMATABLE_PROPERTY_REGISTRATION( Toolkit, Scrollable, "scrollPositionMin", VECTOR2, SCROLL_POSITION_MIN) @@ -80,19 +81,27 @@ const Vector2 OVERSHOOT_DEFAULT_SIZE( 720.0f, 42.0f ); // Scrollable controls are not layout containers so they dont need size negotiation.. // we dont want size negotiation while scrolling if we can avoid it Scrollable::Scrollable() -: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS | DISABLE_SIZE_NEGOTIATION ) ), +: Control( ControlBehaviour( DISABLE_SIZE_NEGOTIATION ) ), mOvershootEffectColor( DEFAULT_OVERSHOOT_COLOUR ), mOvershootAnimationSpeed ( DEFAULT_OVERSHOOT_ANIMATION_SPEED ), mOvershootSize( OVERSHOOT_DEFAULT_SIZE ), + mScrollToAlphaFunction( AlphaFunction::EASE_OUT ), + mScrollStartedSignal(), + mScrollUpdatedSignal(), + mScrollCompletedSignal(), mOvershootEnabled(true) { } Scrollable::Scrollable( ControlBehaviour behaviourFlags ) -: Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS | behaviourFlags ) ), +: Control( ControlBehaviour( behaviourFlags ) ), mOvershootEffectColor( DEFAULT_OVERSHOOT_COLOUR ), mOvershootAnimationSpeed ( DEFAULT_OVERSHOOT_ANIMATION_SPEED ), mOvershootSize( OVERSHOOT_DEFAULT_SIZE ), + mScrollToAlphaFunction( AlphaFunction::EASE_OUT ), + mScrollStartedSignal(), + mScrollUpdatedSignal(), + mScrollCompletedSignal(), mOvershootEnabled(true) { } @@ -201,12 +210,18 @@ void Scrollable::SetProperty( BaseObject* object, Property::Index index, const P } case Toolkit::Scrollable::Property::OVERSHOOT_SIZE: { - Vector2 input; - if( value.Get( input ) ) + scrollableImpl.SetOvershootSize( value.Get() ); + break; + } + case Toolkit::Scrollable::Property::SCROLL_TO_ALPHA_FUNCTION: + { + int alphaFunction = value.Get(); + + if( alphaFunction >= AlphaFunction::DEFAULT && + alphaFunction < AlphaFunction::COUNT ) { - scrollableImpl.mOvershootSize = input; + scrollableImpl.mScrollToAlphaFunction = static_cast< AlphaFunction::BuiltinFunction >( alphaFunction ); } - scrollableImpl.EnableScrollOvershoot( scrollableImpl.IsOvershootEnabled() ); break; } } @@ -244,6 +259,11 @@ Property::Value Scrollable::GetProperty( BaseObject* object, Property::Index ind value = scrollableImpl.mOvershootSize; break; } + case Toolkit::Scrollable::Property::SCROLL_TO_ALPHA_FUNCTION: + { + value = static_cast( scrollableImpl.mScrollToAlphaFunction ); + break; + } } }