projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change overshoot to have constant speed as a property
[platform/core/uifw/dali-toolkit.git]
/
base
/
dali-toolkit
/
internal
/
controls
/
scrollable
/
scrollable-impl.cpp
diff --git
a/base/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp
b/base/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp
index
555ae70
..
e378a3d
100644
(file)
--- 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 <dali/public-api/object/type-registry.h>
+
// INTERNAL INCLUDES
#include <dali-toolkit/internal/controls/scrollable/scrollable-impl.h>
#include <dali-toolkit/internal/controls/scroll-component/scroll-bar-internal-impl.h>
// INTERNAL INCLUDES
#include <dali-toolkit/internal/controls/scrollable/scrollable-impl.h>
#include <dali-toolkit/internal/controls/scroll-component/scroll-bar-internal-impl.h>
@@
-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_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
{
namespace Internal
{
@@
-40,6
+44,7
@@
namespace Internal
namespace
{
const Vector4 DEFAULT_OVERSHOOT_COLOUR(0.0f, 0.64f, 0.85f, 0.25f);
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()
{
BaseHandle Create()
{
@@
-61,6
+66,13
@@
PropertyRegistration property1( mType,
&Scrollable::SetProperty,
&Scrollable::GetProperty );
&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" );
}
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 ),
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),
mPropertyRelativePosition(Property::INVALID_INDEX),
mPropertyPositionMin(Property::INVALID_INDEX),
mPropertyPositionMax(Property::INVALID_INDEX),
@@
-166,6
+179,16
@@
Vector4 Scrollable::GetOvershootEffectColor() const
return mOvershootEffectColor;
};
return mOvershootEffectColor;
};
+void Scrollable::SetOvershootAnimationSpeed( float pixelsPerSecond )
+{
+ mOvershootAnimationSpeed = pixelsPerSecond;
+}
+
+float Scrollable::GetOvershootAnimationSpeed() const
+{
+ return mOvershootAnimationSpeed;
+};
+
Toolkit::Scrollable::ScrollStartedSignalV2& Scrollable::ScrollStartedSignal()
{
return mScrollStartedSignalV2;
Toolkit::Scrollable::ScrollStartedSignalV2& Scrollable::ScrollStartedSignal()
{
return mScrollStartedSignalV2;
@@
-232,6
+255,11
@@
void Scrollable::SetProperty( BaseObject* object, Property::Index index, const P
scrollableImpl.SetOvershootEffectColor( value.Get<Vector4>() );
break;
}
scrollableImpl.SetOvershootEffectColor( value.Get<Vector4>() );
break;
}
+ case Toolkit::Scrollable::PROPERTY_OVERSHOOT_ANIMATION_SPEED:
+ {
+ scrollableImpl.SetOvershootAnimationSpeed( value.Get<float>() );
+ break;
+ }
}
}
}
}
}
}
@@
-252,6
+280,11
@@
Property::Value Scrollable::GetProperty( BaseObject* object, Property::Index ind
value = scrollableImpl.GetOvershootEffectColor();
break;
}
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::ScrollComponent>(Toolkit::ScrollBarInternal::New(scrollable, false));
break;
}
instance = static_cast<Toolkit::ScrollComponent>(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;
}
}
}
}