Move Progress Bar from Devel to Public API
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / controls / scrollable / item-view / default-item-layout-property.h
1 #ifndef DALI_TOOLKIT_DEFAULT_ITEM_LAYOUT_PROPERTY_H
2 #define DALI_TOOLKIT_DEFAULT_ITEM_LAYOUT_PROPERTY_H
3
4 /*
5  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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 namespace Dali
22 {
23
24 namespace Toolkit
25 {
26
27 /**
28  * @brief Default item layout property.
29  */
30 namespace DefaultItemLayoutProperty
31 {
32
33 /**
34  * @brief The properties of each type of item layout.
35  */
36 enum Property
37 {
38   /**
39   * @brief The type of the Layout.
40   * @details Name "type", type(Dali::Toolkit::DefaultItemLayout::Type),Property::INTEGER
41   * @note Mandatory.
42   */
43   TYPE = 0,
44
45   /**
46   * @brief The size of each item in the Layout.
47   * @details Name "itemSize",Property::VECTOR3
48   * @note Optional.
49   * @note If not supplied, see ItemLayout::GetDefaultItemSize().
50   */
51   ITEM_SIZE,
52
53   /**
54   * @brief The internal orientation of the Layout.
55   * @details Name "orientation",type(@ref Dali::Toolkit::ControlOrientation::Type),Property::INTEGER
56   * @note Optional.
57   * @note If not supplied, the default is ControlOrientation::Up, The contents of control are in a vertical layout, from top to bottom.
58   */
59   ORIENTATION,
60
61   /**
62   * @brief The number of columns in the GridLayout.
63   * @details Name "gridColumnNumber",Property::INTEGER.
64   * @note Optional.
65   * @note If not supplied, the default is 4.
66   */
67   GRID_COLUMN_NUMBER,
68
69   /**
70   * @brief The spacing between rows in the GridLayout.
71   * @details Name "gridRowSpacing",Property::FLOAT
72   * @note Optional.
73   * @note If not supplied, the default is 20.0f.
74   */
75   GRID_ROW_SPACING,
76
77   /**
78   * @brief The spacing between columns in the GridLayout.
79   * @details Name "gridColumnSpacing",Property::FLOAT
80   * @note Optional.
81   * @note If not supplied, the default is 20.0f.
82   */
83   GRID_COLUMN_SPACING,
84
85   /**
86   * @brief The margin in the top of the GridLayout.
87   * @details Name "gridTopMargin",Property::FLOAT
88   * @note Optional.
89   * @note If not supplied, the default is 95.0f.
90   */
91   GRID_TOP_MARGIN,
92
93   /**
94   * @brief The margin in the bottom of the GridLayout.
95   * @details Name "gridBottomMargin",Property::FLOAT
96   * @note Optional.
97   * @note If not supplied, the default is 20.0f.
98   */
99   GRID_BOTTOM_MARGIN,
100
101   /**
102   * @brief The margin in the left and right of the GridLayout.
103   * @details Name "gridSideMargin",Property::FLOAT
104   * @note Optional.
105   * @note If not supplied, the default is 20.0f.
106   */
107   GRID_SIDE_MARGIN,
108
109   /**
110   * @brief The factor used to customise the scroll speed while dragging and swiping the GridLayout.
111   * @details Name "gridScrollSpeedFactor",Property::FLOAT
112   * @note Optional.
113   * @note If not supplied, the default is 0.03f.
114   */
115   GRID_SCROLL_SPEED_FACTOR,
116
117   /**
118   * @brief The maximum swipe speed in pixels per second of GridLayout.
119   * @details Name "gridMaximumSwipSpeed",Property::FLOAT
120   * @note Optional.
121   * @note If not supplied, the default is 100.0f.
122   */
123   GRID_MAXIMUM_SWIPE_SPEED,
124
125   /**
126   * @brief The duration of the flick animation in seconds of GridLayout.
127   * @details Name "gridItemFlickAnimationDuration",Property::FLOAT
128   * @note Optional.
129   * @note This is the time taken to animate each item to its next layout position (e.g. from 1.0 to 2.0) when a flick animation is triggered by a swipe gesture.
130   * @note Must be greater than zero;If not supplied, the default is 0.015f.
131   */
132   GRID_ITEM_FLICK_ANIMATION_DURATION,
133
134   /**
135   * @brief The number of columns in the DepthLayout.
136   * @details Name "depthColumnNumber",Property::INTEGER
137   * @note Optional.
138   * @note If not supplied, the default is 3.
139   */
140   DEPTH_COLUMN_NUMBER,
141
142   /**
143   * @brief The number of rows in the DepthLayout.
144   * @details Name "depthRowNumber",Property::INTEGER
145   * @note Optional.
146   * @note If not supplied, the default is 26.
147   */
148   DEPTH_ROW_NUMBER,
149
150   /**
151   * @brief The spacing between rows in the DepthLayout.
152   * @details Name "depthRowSpacing",Property::FLOAT
153   * @note Optional.
154   * @note If not supplied, the default is 55.0f.
155   */
156   DEPTH_ROW_SPACING,
157
158   /**
159   * @brief The factor used to customise the scroll speed while dragging and swiping the  DepthLayout.
160   * @details Name "depthScrollSpeedFactor",Property::FLOAT
161   * @note Optional.
162   * @note If not supplied, the default is 0.02f.
163   */
164   DEPTH_SCROLL_SPEED_FACTOR,
165
166   /**
167   * @brief The maximumSwipSpeed of the DepthLayout.
168   * @details Name "depthMaximumSwipSpeed",Property::FLOAT
169   * @note Optional.
170   * @note If not supplied, the default is 50.0f.
171   */
172   DEPTH_MAXIMUM_SWIPE_SPEED,
173
174   /**
175   * @brief The duration of the flick animation in seconds of DepthLayout.
176   * @details Name "depthItemFlickAnimationDuration",Property::FLOAT
177   * @note Optional.
178   * @note This is the time taken to animate each item to its next layout position (e.g. from 1.0 to 2.0) when a flick animation is triggered by a swipe gesture.
179   * @note Must be greater than zero; If not supplied, the default is 0.03f.
180   */
181   DEPTH_ITEM_FLICK_ANIMATION_DURATION,
182
183   /**
184   * @brief The tilt angle of DepthLayout.
185   * @details Name "depthTiltAngle",Property::FLOAT
186   * @note Optional.
187   * @note If not supplied, the default is (Math::PI)*0.15f.
188   * @note This is clamped between -45 & 45 degrees.
189   */
190   DEPTH_TILT_ANGLE,
191
192   /**
193   * @brief The tilt angle of the individual items in the DepthLayout.
194   * @details Name "depthItemTiltAngle",Property::FLOAT
195   * @note Optional.
196   * @note If not supplied, the default is -(Math::PI)*0.025f.
197   */
198   DEPTH_ITEM_TILT_ANGLE,
199
200   /**
201   * @brief The spacing angle between items in the SpiralLayout.
202   * @details Name "spiralItemSpacing",Property::FLOAT
203   * @note Optional.
204   * @note If not supplied, the default is 9.5f.
205   */
206   SPIRAL_ITEM_SPACING,
207
208   /**
209   * @brief The factor used to customise the scroll speed while dragging and swiping the SpiralLayout.
210   * @details Name "spiralScrollSpeedFactor",Property::FLOAT
211   * @note Optional.
212   * @note If not supplied, the default is 0.01f.
213   */
214   SPIRAL_SCROLL_SPEED_FACTOR,
215
216   /**
217   * @brief The maximum swipe speed in pixels per second of the SpiralLayout.
218   * @details Name "spiralMaximumSwipSpeed",Property::FLOAT
219   * @note Optional.
220   * @note If not supplied, the default is 30.0f.
221   */
222   SPIRAL_MAXIMUM_SWIPE_SPEED,
223
224   /**
225   * @brief The duration of the flick animation in seconds of the SpiralLayout.
226   * @details Name "spiralItemFlickAnimationDuration",Property::FLOAT
227   * @note Optional.
228   * @note This is the time taken to animate each item to its next layout position (e.g. from 1.0 to 2.0) when a flick animation is triggered by a swipe gesture.
229   * @note Must be greater than zero; If not supplied, the default is 0.1f.
230   */
231   SPIRAL_ITEM_FLICK_ANIMATION_DURATION,
232
233   /**
234   * @brief The vertical distance for one revolution of the SpiralLayout.
235   * @details Name "spiralRevolutionDistance",Property::FLOAT
236   * @note Optional.
237   * @note If not supplied, the default is 190.0f.
238   */
239   SPIRAL_REVOLUTION_DISTANCE,
240
241   /**
242   * @brief The alignment of the top-item, when at the beginning of the SpiralLayout.
243   * @details Name "spiralTopItemAlignment",Property::FLOAT
244   * @note Optional.
245   * @note When at the beginning of the spiral (with a first-item layout-position of zero).A value of 0 indicates that the top-item is centered in the middle of the layout.
246   * A value of -0.5 or 0.5 indicates that the top-item is centred at the top or bottom of the layout respectively.
247   * @note If not supplied, the default is (-0.125f).
248   */
249   SPIRAL_TOP_ITEM_ALIGNMENT,
250 };
251
252 } // namespace Toolkit
253
254 } // namespace Dali
255
256 }
257
258 #endif // DALI_TOOLKIT_DEFAULT_ITEM_LAYOUT_PROPERTY_H
259