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=9bfe909656a56751be3aef209c69e7aa5476091e;hp=0826ef38bb2b08743c72957acebd9b3ec3d53a65;hb=8a647e87a01c5c78451653c1264a9eea81ac9b20;hpb=7e315e8b217ab571598d8db28df867a5da0b99d7 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 0826ef3..9bfe909 --- 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) 2016 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. @@ -24,11 +24,12 @@ #include #include #include -#include +#include // INTERNAL INCLUDES #include -#include +#include +#include namespace Dali { @@ -146,7 +147,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,22 +199,31 @@ 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 /** * @copydoc Toolkit::Control::OnInitialize */ - virtual void OnInitialize(); + void OnInitialize() override; /** * @copydoc Toolkit::Control::OnPan */ - virtual void OnPan( const PanGesture& gesture ); + void OnPan( const PanGesture& gesture ) override; /** * @copydoc CustomActorImpl::OnSizeSet( const Vector3& size ) */ - virtual void OnSizeSet( const Vector3& size ); + void OnSizeSet( const Vector3& size ) override; private: @@ -269,18 +284,19 @@ private: Toolkit::ScrollBar::Direction mDirection; ///< The direction of scroll bar (vertical or horizontal) - WeakHandleBase 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 mPropertyScrollPosition = 0; ///< Index of scroll position property owned by the object to be scrolled + Property::Index mPropertyMinScrollPosition = 0; ///< Index of minimum scroll position property owned by the object to be scrolled + Property::Index mPropertyMaxScrollPosition = 1; ///< 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 mTransientIndicatorDuration; ///< The duration before hiding transient indicator float mScrollStart; ///< Scroll Start position (start of drag) - Vector3 mGestureDisplacement; ///< Gesture Displacement. + Vector2 mGestureDisplacement; ///< Gesture Displacement. float mCurrentScrollPosition; ///< The current scroll position updated by the pan gesture @@ -301,10 +317,21 @@ 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 + +protected: + struct AccessibleImpl : public Control::Impl::AccessibleImpl, + public virtual Dali::Accessibility::Value + { + using Control::Impl::AccessibleImpl::AccessibleImpl; + double GetMinimum() override; + double GetCurrent() override; + double GetMaximum() override; + bool SetCurrent( double ) override; + double GetMinimumIncrement() override; + }; }; } // namespace Internal @@ -333,4 +360,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