X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fscroll-bar%2Fscroll-bar-impl.h;h=304922701fdf6afab4ef44822b18f3580119a98a;hp=f5321a46f4406a1decc3b4212fb0c23e3cca6165;hb=b1e8521ad77e7b4e62b59613b2edef64429130e9;hpb=a76cdbc69caa7c0c52b2f4b235560cca6db69c2a diff --git a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.h b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.h old mode 100755 new mode 100644 index f5321a4..3049227 --- a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.h +++ b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_INTERNAL_SCROLL_BAR_H__ -#define __DALI_TOOLKIT_INTERNAL_SCROLL_BAR_H__ +#ifndef DALI_TOOLKIT_INTERNAL_SCROLL_BAR_H +#define DALI_TOOLKIT_INTERNAL_SCROLL_BAR_H /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,15 +20,15 @@ // EXTERNAL INCLUDES #include -#include #include #include #include #include +#include // INTERNAL INCLUDES #include -#include +#include namespace Dali { @@ -146,7 +146,12 @@ public: /** * @copydoc Toolkit::ScrollBar::HideIndicator() */ - void HideIndicator(); + void HideIndicator(); + + /** + * @brief Shows indicator until the transient duration has expired + */ + void ShowTransientIndicator(); /** * @copydoc Toolkit::ScrollBar::PanFinishedSignal() @@ -193,6 +198,15 @@ public: */ static Property::Value GetProperty( BaseObject* object, Property::Index index ); + /** + * Performs actions as requested using the action name. + * @param[in] object The object on which to perform the action. + * @param[in] actionName The action to perform. + * @param[in] attributes The attributes with which to perfrom this action. + * @return true if action has been accepted by this control + */ + static bool DoAction( BaseObject* object, const std::string& actionName, const Property::Map& attributes ); + private: // from Control /** @@ -201,6 +215,11 @@ private: // from Control virtual void OnInitialize(); /** + * @copydoc Toolkit::Control::OnPan + */ + virtual void OnPan( const PanGesture& gesture ); + + /** * @copydoc CustomActorImpl::OnSizeSet( const Vector3& size ) */ virtual void OnSizeSet( const Vector3& size ); @@ -243,14 +262,6 @@ private: */ void OnIndicatorHeightPolicyPropertySet(Property::Value propertyValue); - /** - * Pan gesture callback - * - * @param[in] actor The actor the event is raised for - * @param[in] gesture The pan event info - */ - void OnPan(Actor source, const PanGesture& gesture); - private: /** @@ -267,35 +278,37 @@ private: private: Actor mIndicator; ///< Image of scroll indicator. + float mIndicatorShowAlpha; ///< The alpha value when the indicator is fully shown Animation mAnimation; ///< Scroll indicator Show/Hide Animation. Toolkit::ScrollBar::Direction mDirection; ///< The direction of scroll bar (vertical or horizontal) - Handle mScrollableObject; ///< Object to be scrolled + WeakHandle mScrollableObject; ///< Object to be scrolled Property::Index mPropertyScrollPosition; ///< Index of scroll position property owned by the object to be scrolled Property::Index mPropertyMinScrollPosition; ///< Index of minimum scroll position property owned by the object to be scrolled Property::Index mPropertyMaxScrollPosition; ///< Index of maximum scroll position property owned by the object to be scrolled Property::Index mPropertyScrollContentSize; ///< Index of scroll content size property owned by the object to be scrolled - float mIndicatorShowDuration; ///< The duration of scroll indicator show animation - float mIndicatorHideDuration; ///< The duration of scroll indicator hide animation + float mIndicatorShowDuration; ///< The duration of scroll indicator show animation + float mIndicatorHideDuration; ///< The duration of scroll indicator hide animation + float mTransientIndicatorDuration; ///< The duration before hiding transient indicator float mScrollStart; ///< Scroll Start position (start of drag) - Vector3 mGestureDisplacement; ///< Gesture Displacement. + Vector2 mGestureDisplacement; ///< Gesture Displacement. - bool mIsPanning; ///< Whether the scroll bar is being panned. - float mCurrentScrollPosition; ///< The current scroll position updated by the pan gesture + float mCurrentScrollPosition; ///< The current scroll position updated by the pan gesture Toolkit::ScrollBar::IndicatorHeightPolicy mIndicatorHeightPolicy; ///< The height policy of scroll indicator (variable or fixed) - float mIndicatorFixedHeight; ///< The fixed height of scroll indicator - - PanGestureDetector mPanGestureDetector; ///< The pan gesture detector for scroll indicator + float mIndicatorFixedHeight; ///< The fixed height of scroll indicator + float mIndicatorMinimumHeight; ///< The minimum height for a variable size indicator + float mIndicatorStartPadding; ///< The padding at the start of the indicator + float mIndicatorEndPadding; ///< The padding at the end of the indicator Timer mContractDelayTimer; ///< Timer guarantee contract delay time. Timer mPanProcessTimer; ///< The timer to process the pan gesture after the gesture is started. - Dali::Vector mScrollPositionIntervals; ///< List of values to receive notification for when the current scroll position goes above or below them + Dali::Vector mScrollPositionIntervals; ///< List of values to receive notification for when the current scroll position goes above or below them PropertyNotification mPositionNotification; ///< Stores the property notification used for scroll position changes PanFinishedSignalType mPanFinishedSignal; @@ -303,7 +316,9 @@ private: Constraint mIndicatorPositionConstraint; Constraint mIndicatorSizeConstraint; - Constraint mScrollPositionInCurrentAxisConstraint; + + bool mIsPanning : 1; ///< Whether the scroll bar is being panned. + bool mIndicatorFirstShow : 1; ///< True if the indicator has never been shown }; } // namespace Internal @@ -332,4 +347,4 @@ inline const Toolkit::Internal::ScrollBar& GetImpl(const Toolkit::ScrollBar& scr } // namespace Dali -#endif // __DALI_TOOLKIT_INTERNAL_SCROLL_BAR_H__ +#endif // DALI_TOOLKIT_INTERNAL_SCROLL_BAR_H