X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=base%2Fdali-toolkit%2Fpublic-api%2Fcontrols%2Fscrollable%2Fscroll-view%2Fscroll-view.h;h=6c8d935908acadd2562b974f8b30114c0916d7ec;hp=e09c8eddeacfd38fac2f5d8dfb70260482607029;hb=42eeffaa69044c2236996eb543416486ae92335c;hpb=865bc7d9efba2ba1ddc5e365ce99fa94ae3e9187 diff --git a/base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h b/base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h index e09c8ed..6c8d935 100644 --- a/base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h +++ b/base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h @@ -21,7 +21,7 @@ // INTERNAL INCLUDES #include -namespace Dali DALI_IMPORT_API +namespace Dali { namespace Toolkit @@ -54,7 +54,7 @@ enum DirectionBias /** * @brief Used for specifying minimum/maximum extents of a ruler. */ -class RulerDomain +class DALI_IMPORT_API RulerDomain { public: @@ -115,7 +115,7 @@ public: * It can specify whether they are traversable, where their snap * points are and their domain. */ -class Ruler : public RefObject +class DALI_IMPORT_API Ruler : public RefObject { public: /// @brief The type of the ruler @@ -304,7 +304,7 @@ typedef IntrusivePtr RulerPtr; ///< Pointer to Dali::Toolkit::Ruler objec /** * @brief Concrete implementation of Ruler that has no snapping and has one single page. */ -class DefaultRuler : public Ruler +class DALI_IMPORT_API DefaultRuler : public Ruler { public: /** @@ -336,7 +336,7 @@ public: /** * @brief Concrete implementation of Ruler that has fixed snapping. */ -class FixedRuler : public Ruler +class DALI_IMPORT_API FixedRuler : public Ruler { public: /** @@ -377,7 +377,7 @@ class ScrollView; * @brief ScrollView contains actors that can be scrolled manually (via touch) * or automatically. */ -class ScrollView : public Scrollable +class DALI_IMPORT_API ScrollView : public Scrollable { public: /// Page effect types @@ -906,6 +906,21 @@ public: void ScrollTo(const Vector3 &position, float duration); /** + * @brief Scrolls View to position specified (contents will scroll to this position) + * + * Position 0,0 is the origin. Increasing X scrolls contents left, while + * increasing Y scrolls contents up. + * - If Rulers have been applied to the axes, then the contents will scroll until + * reaching the domain boundary. + * @note Contents will not snap to ruler snap points. + * + * @param[in] position The position to scroll to. + * @param[in] duration The duration of the animation in seconds + * @param[in] alpha The alpha function to use + */ + void ScrollTo(const Vector3 &position, float duration, AlphaFunction alpha); + + /** * @brief Scrolls View to position specified (contents will scroll to this position). * * Position 0,0 is the origin. Increasing X scrolls contents left, while @@ -926,6 +941,27 @@ public: DirectionBias horizontalBias, DirectionBias verticalBias); /** + * @brief Scrolls View to position specified (contents will scroll to this position) + * + * Position 0,0 is the origin. Increasing X scrolls contents left, while + * increasing Y scrolls contents up. + * - If Rulers have been applied to the axes, then the contents will scroll until + * reaching the domain boundary. + * @note Contents will not snap to ruler snap points. + * Biasing parameters are provided such that in scenarios with 2 or 2x2 pages in + * wrap mode, the application developer can decide whether to scroll left or right + * to get to the target page + * + * @param[in] position The position to scroll to. + * @param[in] duration The duration of the animation in seconds + * @param[in] horizontalBias Whether to bias scrolling to left or right. + * @param[in] verticalBias Whether to bias scrolling to top or bottom. + * @param[in] alpha Alpha function to use + */ + void ScrollTo(const Vector3 &position, float duration, AlphaFunction alpha, + DirectionBias horizontalBias, DirectionBias verticalBias); + + /** * @brief Scrolls View to page currently based on assumption that each page is * "(page) * ScrollViewSize.width, 0". * @@ -1083,14 +1119,14 @@ public: // Not intended for application developers * * @param[in] implementation The Control implementation. */ - ScrollView(Internal::ScrollView& implementation); + DALI_INTERNAL ScrollView(Internal::ScrollView& implementation); /** * @brief Allows the creation of this Control from an Internal::CustomActor pointer. * * @param[in] internal A pointer to the internal CustomActor. */ - ScrollView( Dali::Internal::CustomActor* internal ); + explicit DALI_INTERNAL ScrollView( Dali::Internal::CustomActor* internal ); }; } // namespace Toolkit