*/
void RemoveOverlay(Actor actor);
+ /**
+ * @copydoc Toolkit::Internal::Scrollable::SetOvershootEffectColor
+ */
+ void SetOvershootEffectColor( const Vector4& color );
+
public: //Signals
/**
bool OnTouchDownTimeout();
/**
+ * Called whenever a snap animation has completed
+ * @param[in] source the Animation instance that has completed.
+ * Resets all scrolling animations and states, leaving current scroll position at mPropertyPosition
+ */
+ void ResetScrolling();
+
+ /**
* Updates mScrollInternalPosition, mScrollPrePosition and mScrollPostPosition from their property counterparts
*/
void UpdateLocalScrollProperties();
void GestureContinuing(const Vector2& panDelta, const Vector2& scaleDelta, float rotationDelta);
/**
- * Called when either pan starts or animated scroll starts
- *
- * @param[in] scroll position where scrolling started in positive scroll coordinates (scroll properties are negative)
- */
- void ScrollingStarted( const Vector3& position );
-
- /**
- * Called when scrolling stops, either due to interruption from pan or when scroll animation finishes
+ * Called upon pan gesture event.
*
- * @param[in] scroll position where scrolling stopped in positive scroll coordinates (scroll properties are negative)
+ * @param[in] gesture The gesture event.
*/
- void ScrollingStopped( const Vector3& position );
+ void OnPan(PanGesture pan);
/**
- * Called upon pan gesture event.
+ * Extension of the above gestures.
*
* @param[in] gesture The gesture event.
*/
- void OnPan(PanGesture pan);
+ void OnGestureEx(Gesture::State state);
/**
* Performs snapping while taking into account Velocity of gesture
unsigned long mTouchDownTime; ///< The touch down time
int mGestureStackDepth; ///< How many gestures are currently occuring.
- Vector2 mGestureReferencePosition; ///< Point where scaling should occur from.
- Vector2 mPinchGestureLastPosition;
- Vector2 mPinchGestureLastScale;
Vector3 mPanDelta; ///< Amount currently panned.
Vector3 mScaleDelta; ///< Amount currently scaled.
Animation mInternalXAnimation; ///< Animates mPropertyX to a snap position or application requested scroll position
Animation mInternalYAnimation; ///< Animates mPropertyY to a snap position or application requested scroll position
+
Vector2 mLastVelocity; ///< Record the last velocity from PanGesture (Finish event doesn't have correct velocity)
LockAxis mLockAxis;
Toolkit::ScrollView::SnapStartedSignalV2 mSnapStartedSignalV2;
- bool mPropertiesUpdated:1; ///< Flag telling us when we can return local values to application or if we have to return the property
- bool mInAccessibilityPan:1; ///< With AccessibilityPan its easier to move between snap positions
+ bool mInAccessibilityPan : 1; ///< With AccessibilityPan its easier to move between snap positions
bool mInitialized:1;
bool mScrolling:1; ///< Flag indicating whether the scroll view is being scrolled (by user or animation)
bool mScrollInterrupted:1; ///< Flag set for when a down event interrupts a scroll
bool mAxisAutoLock:1; ///< Whether to automatically lock axis when panning.
bool mAlterChild:1; ///< Internal flag to control behavior of OnChildAdd/OnChildRemove when Adding internal Actors.
bool mDefaultMaxOvershoot:1; ///< Whether to use default max overshoot or application defined one
- bool mUserSetPosition:1; ///< SetScrollPosition has been called, return this position until internals get control of scroll position again
- bool mCanScrollHorizontal:1; ///< Local value of our property to check against
- bool mCanScrollVertical:1; ///< Local value of our property to check against
+ bool mCanScrollHorizontal:1; ///< Local value of our property to check against
+ bool mCanScrollVertical:1; ///< Local value of our property to check against
};
} // namespace Internal