X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=base%2Fdali-toolkit%2Finternal%2Fcontrols%2Fscrollable%2Fscrollable-impl.cpp;h=36e713fab291d477ff019d000e6fe07099153dac;hb=7e315a440bad7033d19fefa8f9952d625ee6f076;hp=555ae70ce7b4a31163ac499fe0f52e99bf53e0aa;hpb=998d982768c7f211d948cfd7921ec27ff739ce49;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/base/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp b/base/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp index 555ae70..36e713f 100644 --- a/base/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp +++ b/base/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp @@ -15,6 +15,9 @@ * */ +// EXTERNAL INCLUDES +#include + // INTERNAL INCLUDES #include #include @@ -33,6 +36,7 @@ namespace Toolkit { const Property::Index Scrollable::PROPERTY_OVERSHOOT_EFFECT_COLOR( Toolkit::Internal::Control::CONTROL_PROPERTY_END_INDEX + 1 ); +const Property::Index Scrollable::PROPERTY_OVERSHOOT_ANIMATION_SPEED( Toolkit::Internal::Control::CONTROL_PROPERTY_END_INDEX + 2 ); namespace Internal { @@ -40,6 +44,7 @@ namespace Internal namespace { const Vector4 DEFAULT_OVERSHOOT_COLOUR(0.0f, 0.64f, 0.85f, 0.25f); +const float DEFAULT_OVERSHOOT_ANIMATION_SPEED(120.0f); // 120 pixels per second BaseHandle Create() { @@ -61,6 +66,13 @@ PropertyRegistration property1( mType, &Scrollable::SetProperty, &Scrollable::GetProperty ); +PropertyRegistration property2( mType, + "overshoot-animation-speed", + Toolkit::Scrollable::PROPERTY_OVERSHOOT_ANIMATION_SPEED, + Property::FLOAT, + &Scrollable::SetProperty, + &Scrollable::GetProperty ); + } const std::string Scrollable::SCROLLABLE_CAN_SCROLL_VERTICAL( "scrollable-can-scroll-vertical" ); @@ -75,6 +87,7 @@ const std::string Scrollable::SCROLLABLE_CAN_SCROLL_HORIZONTAL( "scrollable-can- Scrollable::Scrollable() : Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS | NO_SIZE_NEGOTIATION ) ), mOvershootEffectColor( DEFAULT_OVERSHOOT_COLOUR ), + mOvershootAnimationSpeed ( DEFAULT_OVERSHOOT_ANIMATION_SPEED ), mPropertyRelativePosition(Property::INVALID_INDEX), mPropertyPositionMin(Property::INVALID_INDEX), mPropertyPositionMax(Property::INVALID_INDEX), @@ -166,24 +179,34 @@ Vector4 Scrollable::GetOvershootEffectColor() const return mOvershootEffectColor; }; -Toolkit::Scrollable::ScrollStartedSignalV2& Scrollable::ScrollStartedSignal() +void Scrollable::SetOvershootAnimationSpeed( float pixelsPerSecond ) { - return mScrollStartedSignalV2; + mOvershootAnimationSpeed = pixelsPerSecond; } -Toolkit::Scrollable::ScrollUpdatedSignalV2& Scrollable::ScrollUpdatedSignal() +float Scrollable::GetOvershootAnimationSpeed() const { - return mScrollUpdatedSignalV2; + return mOvershootAnimationSpeed; +}; + +Toolkit::Scrollable::ScrollStartedSignalType& Scrollable::ScrollStartedSignal() +{ + return mScrollStartedSignal; } -Toolkit::Scrollable::ScrollCompletedSignalV2& Scrollable::ScrollCompletedSignal() +Toolkit::Scrollable::ScrollUpdatedSignalType& Scrollable::ScrollUpdatedSignal() { - return mScrollCompletedSignalV2; + return mScrollUpdatedSignal; } -Toolkit::Scrollable::ScrollClampedSignalV2& Scrollable::ScrollClampedSignal() +Toolkit::Scrollable::ScrollCompletedSignalType& Scrollable::ScrollCompletedSignal() { - return mScrollClampedSignalV2; + return mScrollCompletedSignal; +} + +Toolkit::Scrollable::ScrollClampedSignalType& Scrollable::ScrollClampedSignal() +{ + return mScrollClampedSignal; } bool Scrollable::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ) @@ -232,6 +255,11 @@ void Scrollable::SetProperty( BaseObject* object, Property::Index index, const P scrollableImpl.SetOvershootEffectColor( value.Get() ); break; } + case Toolkit::Scrollable::PROPERTY_OVERSHOOT_ANIMATION_SPEED: + { + scrollableImpl.SetOvershootAnimationSpeed( value.Get() ); + break; + } } } } @@ -252,6 +280,11 @@ Property::Value Scrollable::GetProperty( BaseObject* object, Property::Index ind value = scrollableImpl.GetOvershootEffectColor(); break; } + case Toolkit::Scrollable::PROPERTY_OVERSHOOT_ANIMATION_SPEED: + { + value = scrollableImpl.GetOvershootAnimationSpeed(); + break; + } } } @@ -274,9 +307,10 @@ Toolkit::ScrollComponent Scrollable::NewScrollComponent(Toolkit::Scrollable& scr instance = static_cast(Toolkit::ScrollBarInternal::New(scrollable, false)); break; } - default: + case Toolkit::Scrollable::OvershootIndicator: { - DALI_ASSERT_ALWAYS(true && "Unrecognized component type"); + DALI_ASSERT_ALWAYS(!"Unrecognized component type"); + break; } }