1 #ifndef __DALI_TOOLKIT_SCROLL_BAR_INTERNAL_H__
2 #define __DALI_TOOLKIT_SCROLL_BAR_INTERNAL_H__
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 // Licensed under the Flora License, Version 1.0 (the License);
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://floralicense.org/license/
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an AS IS BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
21 #include <dali-toolkit/internal/controls/scroll-component/scroll-component.h>
22 #include <dali-toolkit/public-api/controls/scrollable/scrollable.h>
24 namespace Dali DALI_IMPORT_API
30 // Forward declarations
32 namespace Internal DALI_INTERNAL
34 // Forward declarations
36 class ScrollBarInternal;
40 * ScrollBarInternal is a UI component that can be added to the sides of the scrollable controls
41 * indicating the current scroll position.
43 class ScrollBarInternal : public ScrollComponent
49 * Create an uninitialized ScrollBarInternal; this can be initialized with ScrollBarInternal::New()
50 * Calling member functions with an uninitialized Dali::Object is not allowed.
51 * or horizontally (false)
58 ScrollBarInternal( const ScrollBarInternal& scrollBar );
61 * Assignment operator.
63 ScrollBarInternal& operator=( const ScrollBarInternal& scrollBar );
67 * Dali::Object derived classes typically do not contain member data.
69 virtual ~ScrollBarInternal();
72 * Create an initialized ScrollBarInternal
73 * @param[in] container Reference to the container of scroll bar
74 * @param[in] vertical Whether ScrollBarInternal should be oriented vertically (true)
75 * or horizontally (false)
76 * @return A pointer to the created ScrollBarInternal.
78 static ScrollBarInternal New(Scrollable& container, bool vertical);
81 * Downcast an Object handle to ScrollBarInternal. If handle points to a ScrollBarInternal the
82 * downcast produces valid handle. If not the returned handle is left uninitialized.
83 * @param[in] handle Handle to an object
84 * @return handle to a ScrollBarInternal or an uninitialized handle
86 static ScrollBarInternal DownCast( BaseHandle handle );
89 * Show ScrollBarInternal
94 * Hide ScrollBarInternal
98 public: // Not intended for application developers
101 * Creates a handle using the Toolkit::Internal implementation.
102 * @param[in] implementation The Control implementation.
104 ScrollBarInternal( Internal::ScrollBarInternal& implementation );
107 * Allows the creation of this Control from an Internal::CustomActor pointer.
108 * @param[in] internal A pointer to the internal CustomActor.
110 ScrollBarInternal( Dali::Internal::CustomActor* internal );
113 } // namespace Toolkit
117 #endif // __DALI_TOOLKIT_SCROLL_BAR_INTERNAL_H__