+ * @brief Called when the item-view starts to scroll.
+ *
+ * Here we want to apply the item-view constraint.
+ */
+ void ScrollStarted( const Vector2& /* currentScrollPosition */ )
+ {
+ mItemViewOrientationConstraint.Apply();
+ }
+
+ /**
+ * @brief Called when the item-view scrolling completes.
+ *
+ * Here we remove the item-view orientation constraint and perform an animation to return the item-view back to base-rotation.
+ */
+ void ScrollCompleted( const Vector2& /* currentScrollPosition */ )
+ {
+ Animation animation = Animation::New( ITEM_VIEW_ROTATION_ANIMATION_TIME );
+ animation.AnimateTo( Property( mItemView, Actor::Property::ORIENTATION ), Quaternion( Degree( 0.0f ), Vector3::XAXIS ), AlphaFunction::EASE_IN_SINE );
+ animation.Play();
+
+ mItemViewOrientationConstraint.Remove();
+ }
+
+ /**