X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fscrollable%2Fscrollable-impl.cpp;h=20da41c559d1b075100821a5470fcc02a5b94cfe;hb=1873773cb229ab98b29af3ec319dd18cde5f68dc;hp=3a4ad999242fa4e9ccbc0bec618303582a2c37ab;hpb=c4a92ccf72121cbe2a015711e4253e8d16f28fef;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..20da41c 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,21 @@ 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 ), 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 ), mOvershootEnabled(true) { } @@ -209,6 +212,17 @@ void Scrollable::SetProperty( BaseObject* object, Property::Index index, const P scrollableImpl.EnableScrollOvershoot( scrollableImpl.IsOvershootEnabled() ); break; } + case Toolkit::Scrollable::Property::SCROLL_TO_ALPHA_FUNCTION: + { + int alphaFunction = value.Get(); + + if( alphaFunction >= AlphaFunction::DEFAULT && + alphaFunction < AlphaFunction::COUNT ) + { + scrollableImpl.mScrollToAlphaFunction = static_cast< AlphaFunction::BuiltinFunction >( alphaFunction ); + } + break; + } } } } @@ -244,6 +258,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; + } } }