(TextInput) Removing deprecated Margin and Handle flip API
[platform/core/uifw/dali-toolkit.git] / capi / dali-toolkit / public-api / controls / scroll-component / scroll-component.h
1 #ifndef __DALI_TOOLKIT_SCROLL_COMPONENT_H__
2 #define __DALI_TOOLKIT_SCROLL_COMPONENT_H__
3
4 //
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
6 //
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
10 //
11 //     http://floralicense.org/license/
12 //
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.
18 //
19
20 /**
21  * @addtogroup CAPI_DALI_FRAMEWORK
22  * @{
23  */
24
25 // INTERNAL INCLUDES
26 #include <dali/dali.h>
27 #include <dali-toolkit/public-api/controls/control.h>
28
29 namespace Dali DALI_IMPORT_API
30 {
31
32 namespace Toolkit
33 {
34
35 namespace Internal DALI_INTERNAL
36 {
37 class ScrollComponent;
38 }
39
40 /**
41  * Base class for derived ScrollComponents
42  * ScrollComponents such as ScrollBar are derived from this class.
43  * To instantiate these ScrollBars and other derived components
44  */
45 class ScrollComponent : public Control
46 {
47
48 public:
49   /**
50    * Create an uninitialized ScrollComponent; this can be initialized with ScrollComponent::New()
51    * Calling member functions with an uninitialized Dali::Object is not allowed.
52    */
53   ScrollComponent();
54
55   /**
56    * Copy constructor.
57    */
58   ScrollComponent( const ScrollComponent& scrollComponent );
59
60   /**
61    * Assignment operator.
62    */
63   ScrollComponent& operator=( const ScrollComponent& scrollComponent );
64
65   /**
66    * Virtual destructor.
67    * Dali::Object derived classes typically do not contain member data.
68    */
69   virtual ~ScrollComponent();
70
71   /**
72    * Downcast an Object handle to ScrollComponent. If handle points to a ScrollComponent the
73    * downcast produces valid handle. If not the returned handle is left uninitialized.
74    * @param[in] handle Handle to an object
75    * @return handle to a ScrollComponent or an uninitialized handle
76    */
77   static ScrollComponent DownCast( BaseHandle handle );
78
79 public: // Not intended for application developers
80
81   /**
82    * Creates a handle using the Toolkit::Internal implementation.
83    * @param[in]  implementation  The Control implementation.
84    */
85   ScrollComponent( Internal::ScrollComponent& implementation );
86
87   /**
88    * Allows the creation of this Control from an Internal::CustomActor pointer.
89    * @param[in]  internal  A pointer to the internal CustomActor.
90    */
91   ScrollComponent( Dali::Internal::CustomActor* internal );
92 };
93
94 } // namespace Toolkit
95
96 } // namespace Dali
97
98 /**
99  * @}
100  */
101 #endif // __DALI_TOOLKIT_SCROLL_COMPONENT_H__