X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=base%2Fdali-toolkit%2Finternal%2Fcontrols%2Fscrollable%2Fitem-view%2Fitem-view-impl.h;h=dba46298cf81c771c7ecab0ed18fe67c2f884f55;hb=fbcadb5a9144d2ebe1d25ba2aa5e63bf6d2f61aa;hp=d460b6dc92891e51c75f687550253ef0cd472495;hpb=d5e3ed5f5b1c8fdba3ae97ead8729620f54b3836;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/base/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h b/base/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h index d460b6d..dba4629 100644 --- a/base/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h +++ b/base/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.h @@ -19,7 +19,9 @@ */ // EXTERNAL INCLUDES -#include +#include +#include +#include // INTERNAL INCLUDES #include @@ -28,7 +30,6 @@ #include #include #include -#include namespace Dali { @@ -100,16 +101,6 @@ public: void ActivateLayout(unsigned int layoutIndex, const Vector3& targetSize, float durationSeconds); /** - * @copydoc Toolkit::ItemView::SetDefaultAlphaFunction - */ - void SetDefaultAlphaFunction(AlphaFunction func); - - /** - * @copydoc Toolkit::ItemView::GetDefaultAlphaFunction - */ - AlphaFunction GetDefaultAlphaFunction() const; - - /** * @copydoc Toolkit::ItemView::DeactivateCurrentLayout */ void DeactivateCurrentLayout(); @@ -245,6 +236,11 @@ public: void ScrollTo(const Vector3& position, float duration); /** + * @copydoc Toolkit::Internal::Scrollable::SetOvershootEffectColor + */ + void SetOvershootEffectColor( const Vector4& color ); + + /** * @brief Set whether to enable automatic refresh or not. When refresh is disabled, * ItemView will not automatically refresh the cache in the given interval when the * layout position is changed. This is useful in some cases, for example, automatic @@ -263,7 +259,6 @@ public: */ void DoRefresh(float currentLayoutPosition, bool cacheExtra); - /** * @copydoc Toolkit::ItemView::SetItemsParentOrigin */ @@ -284,6 +279,11 @@ public: */ Vector3 GetItemsAnchorPoint() const; + /** + * @copydoc Toolkit::ItemView::GetItemsRange + */ + void GetItemsRange(ItemRange& range); + private: /** @@ -320,6 +320,13 @@ private: */ void SetupActor( Item item, float durationSeconds ); + /** + * Remove the Actor from the ItemPool and notify the ItemFactory the actor has been released by ItemView. + * @param[in] item The ID for the item to be released. + * @param[in] actor The actor to be removed from ItemView. + */ + void ReleaseActor( ItemId item, Actor actor ); + private: // From CustomActorImpl /** @@ -386,15 +393,6 @@ private: ItemView& operator=(const ItemView& rhs); /** - * Helper to apply constraints to an actor. - * @param[in] actor The actor to constrain. - * @param[in] layout The active layout. - * @param[in] itemId The ID of the item represented by the actor. - * @param[in] durationSeconds The time taken to fully constrain the actors. - */ - void ApplyConstraints(Actor& actor, ItemLayout& layout, unsigned int itemId, float durationSeconds); - - /** * Helper to re-apply all the constraints after items have been inserted, removed etc. * @param[in] durationSeconds The time taken to fully constrain the actors. */ @@ -446,7 +444,7 @@ private: * * @param[in] gesture The gesture event. */ - void OnPan(PanGesture pan); + void OnPan( const PanGesture& pan ); /** * Helper to handle anchoring animations. @@ -461,6 +459,12 @@ private: void OnScrollFinished(Animation& animation); /** + * Callback from layout activation scroll animations + * @param[in] animation The scroll-animation which has finished. + */ + void OnLayoutActivationScrollFinished(Animation& animation); + + /** * Called by animation system when overshoot has finished animating to maximum (either -1.0f or 1.0f) * * @param[in] animation the animation that has finished @@ -526,6 +530,12 @@ private: */ void OnRefreshNotification(PropertyNotification& source); + /** + * This is called when scroll position has been changed by ScrollConnector::SetScrollPosition. + * @param[in] position The new scroll position + */ + void OnScrollPositionChanged( float position ); + private: ItemFactory& mItemFactory; @@ -540,11 +550,8 @@ private: ItemLayout* mActiveLayout; Vector3 mActiveLayoutTargetSize; - AlphaFunction mDefaultAlphaFunction; - Animation mResizeAnimation; Animation mScrollAnimation; - Animation mScrollSpeedAnimation; Animation mScrollOvershootAnimation; bool mAnimatingOvershootOn; ///< whether we are currently animating overshoot to 1.0f/-1.0f (on) or to 0.0f (off) bool mAnimateOvershootOff; ///< whether we are currently animating overshoot to 1.0f/-1.0f (on) or to 0.0f (off) @@ -573,8 +580,7 @@ private: Dali::Gesture::State mGestureState; - ImageActor mOvershootOverlay; ///< The overlay actor for overshoot effect - BouncingEffect mOvershootEffect; ///< The vertex/fragment shader used to display the overshoot ripple effect + Actor mOvershootOverlay; ///< The overlay actor for overshoot effect Dali::Toolkit::ScrollConnector mScrollConnector; ///< Connects ItemView with scrollable components e.g. scroll bars Constrainable mScrollPositionObject; ///< From mScrollConnector