From: Richard Huang Date: Wed, 18 Jun 2014 12:23:25 +0000 (+0100) Subject: New API to get the range of items in the current ItemView cache X-Git-Tag: dali_1.0.0~34 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=e9d230c154e17c97dff21edff31db7efd9c12b38 New API to get the range of items in the current ItemView cache Change-Id: I559963ec022f6bd2d4c607da6c2a0ce19190aacf Signed-off-by: Adeel Kazmi --- diff --git a/base/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp b/base/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp index be23888..73a25ff 100644 --- a/base/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp +++ b/base/dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp @@ -1796,6 +1796,12 @@ Vector3 ItemView::GetItemsAnchorPoint() const return mItemsAnchorPoint; } +void ItemView::GetItemsRange(ItemRange& range) +{ + range.begin = mItemPool.begin()->first; + range.end = mItemPool.rbegin()->first + 1; +} + } // namespace Internal } // namespace Toolkit 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 40a5955..bd143eb 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 @@ -284,6 +284,11 @@ public: */ Vector3 GetItemsAnchorPoint() const; + /** + * @copydoc Toolkit::ItemView::GetItemsRange + */ + void GetItemsRange(ItemRange& range); + private: /** diff --git a/base/dali-toolkit/public-api/controls/scrollable/item-view/item-view.cpp b/base/dali-toolkit/public-api/controls/scrollable/item-view/item-view.cpp index b638186..0271e1a 100644 --- a/base/dali-toolkit/public-api/controls/scrollable/item-view/item-view.cpp +++ b/base/dali-toolkit/public-api/controls/scrollable/item-view/item-view.cpp @@ -249,6 +249,11 @@ Vector3 ItemView::GetItemsAnchorPoint() const return GetImpl(*this).GetItemsAnchorPoint(); } +void ItemView::GetItemsRange(ItemRange& range) +{ + GetImpl(*this).GetItemsRange(range); +} + } // namespace Toolkit } // namespace Dali diff --git a/capi/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h b/capi/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h index 82c9c83..61c7265 100644 --- a/capi/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h +++ b/capi/dali-toolkit/public-api/controls/scrollable/item-view/item-view.h @@ -44,6 +44,7 @@ class ItemView; class ScrollConnector; class ItemFactory; class ItemLayout; +struct ItemRange; typedef IntrusivePtr ItemLayoutPtr; @@ -412,6 +413,13 @@ public: */ Vector3 GetItemsAnchorPoint() const; + /** + * @brief Get the range of items that are currently in ItemView. + * + * @param[out] range The range of items. + */ + void GetItemsRange(ItemRange& range); + public: // Not intended for application developers /**