// INTERNAL INCLUDES
#include <dali-toolkit/internal/controls/scrollable/scrollable-impl.h>
+#include <dali-toolkit/internal/controls/control/control-data-impl.h>
using namespace Dali;
// Scrollable
///////////////////////////////////////////////////////////////////////////////////////////////////
-// 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( 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( behaviourFlags ) ),
mOvershootEffectColor( DEFAULT_OVERSHOOT_COLOUR ),
mOvershootAnimationSpeed ( DEFAULT_OVERSHOOT_ANIMATION_SPEED ),
mOvershootSize( OVERSHOOT_DEFAULT_SIZE ),
mScrollToAlphaFunction( AlphaFunction::EASE_OUT ),
+ mScrollStartedSignal(),
+ mScrollUpdatedSignal(),
+ mScrollCompletedSignal(),
mOvershootEnabled(true)
{
}
{
}
+bool Scrollable::AccessibleImpl::IsScrollable()
+{
+ return true;
+}
+
+void Scrollable::OnInitialize()
+{
+ DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) {
+ return std::unique_ptr< Dali::Accessibility::Accessible >(
+ new AccessibleImpl( actor, Dali::Accessibility::Role::SCROLL_PANE ) );
+ } );
+}
+
bool Scrollable::IsOvershootEnabled() const
{
return mOvershootEnabled;
}
case Toolkit::Scrollable::Property::OVERSHOOT_SIZE:
{
- Vector2 input;
- if( value.Get( input ) )
- {
- scrollableImpl.mOvershootSize = input;
- }
- scrollableImpl.EnableScrollOvershoot( scrollableImpl.IsOvershootEnabled() );
+ scrollableImpl.SetOvershootSize( value.Get<Vector2>() );
break;
}
case Toolkit::Scrollable::Property::SCROLL_TO_ALPHA_FUNCTION: