1 #ifndef DALI_TOOLKIT_DEFAULT_ITEM_LAYOUT_PROPERTY_H
2 #define DALI_TOOLKIT_DEFAULT_ITEM_LAYOUT_PROPERTY_H
5 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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.
28 * @brief Default item layout property.
30 namespace DefaultItemLayoutProperty
34 * @brief The properties of each type of item layout.
39 * @brief The type of the Layout.
40 * @details Name "type", type(Dali::Toolkit::DefaultItemLayout::Type),Property::INTEGER
46 * @brief The size of each item in the Layout.
47 * @details Name "itemSize",Property::VECTOR3
49 * @note If not supplied, see ItemLayout::GetDefaultItemSize().
54 * @brief The internal orientation of the Layout.
55 * @details Name "orientation",type(@ref Dali::Toolkit::ControlOrientation::Type),Property::INTEGER
57 * @note If not supplied, the default is ControlOrientation::Up, The contents of control are in a vertical layout, from top to bottom.
62 * @brief The number of columns in the GridLayout.
63 * @details Name "gridColumnNumber",Property::INTEGER.
65 * @note If not supplied, the default is 4.
70 * @brief The spacing between rows in the GridLayout.
71 * @details Name "gridRowSpacing",Property::FLOAT
73 * @note If not supplied, the default is 20.0f.
78 * @brief The spacing between columns in the GridLayout.
79 * @details Name "gridColumnSpacing",Property::FLOAT
81 * @note If not supplied, the default is 20.0f.
86 * @brief The margin in the top of the GridLayout.
87 * @details Name "gridTopMargin",Property::FLOAT
89 * @note If not supplied, the default is 95.0f.
94 * @brief The margin in the bottom of the GridLayout.
95 * @details Name "gridBottomMargin",Property::FLOAT
97 * @note If not supplied, the default is 20.0f.
102 * @brief The margin in the left and right of the GridLayout.
103 * @details Name "gridSideMargin",Property::FLOAT
105 * @note If not supplied, the default is 20.0f.
110 * @brief The factor used to customise the scroll speed while dragging and swiping the GridLayout.
111 * @details Name "gridScrollSpeedFactor",Property::FLOAT
113 * @note If not supplied, the default is 0.03f.
115 GRID_SCROLL_SPEED_FACTOR,
118 * @brief The maximum swipe speed in pixels per second of GridLayout.
119 * @details Name "gridMaximumSwipSpeed",Property::FLOAT
121 * @note If not supplied, the default is 100.0f.
123 GRID_MAXIMUM_SWIPE_SPEED,
126 * @brief The duration of the flick animation in seconds of GridLayout.
127 * @details Name "gridItemFlickAnimationDuration",Property::FLOAT
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.
132 GRID_ITEM_FLICK_ANIMATION_DURATION,
135 * @brief The number of columns in the DepthLayout.
136 * @details Name "depthColumnNumber",Property::INTEGER
138 * @note If not supplied, the default is 3.
143 * @brief The number of rows in the DepthLayout.
144 * @details Name "depthRowNumber",Property::INTEGER
146 * @note If not supplied, the default is 26.
151 * @brief The spacing between rows in the DepthLayout.
152 * @details Name "depthRowSpacing",Property::FLOAT
154 * @note If not supplied, the default is 55.0f.
159 * @brief The factor used to customise the scroll speed while dragging and swiping the DepthLayout.
160 * @details Name "depthScrollSpeedFactor",Property::FLOAT
162 * @note If not supplied, the default is 0.02f.
164 DEPTH_SCROLL_SPEED_FACTOR,
167 * @brief The maximumSwipSpeed of the DepthLayout.
168 * @details Name "depthMaximumSwipSpeed",Property::FLOAT
170 * @note If not supplied, the default is 50.0f.
172 DEPTH_MAXIMUM_SWIPE_SPEED,
175 * @brief The duration of the flick animation in seconds of DepthLayout.
176 * @details Name "depthItemFlickAnimationDuration",Property::FLOAT
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.
181 DEPTH_ITEM_FLICK_ANIMATION_DURATION,
184 * @brief The tilt angle of DepthLayout.
185 * @details Name "depthTiltAngle",Property::FLOAT
187 * @note If not supplied, the default is (Math::PI)*0.15f.
188 * @note This is clamped between -45 & 45 degrees.
193 * @brief The tilt angle of the individual items in the DepthLayout.
194 * @details Name "depthItemTiltAngle",Property::FLOAT
196 * @note If not supplied, the default is -(Math::PI)*0.025f.
198 DEPTH_ITEM_TILT_ANGLE,
201 * @brief The spacing angle between items in the SpiralLayout.
202 * @details Name "spiralItemSpacing",Property::FLOAT
204 * @note If not supplied, the default is 9.5f.
209 * @brief The factor used to customise the scroll speed while dragging and swiping the SpiralLayout.
210 * @details Name "spiralScrollSpeedFactor",Property::FLOAT
212 * @note If not supplied, the default is 0.01f.
214 SPIRAL_SCROLL_SPEED_FACTOR,
217 * @brief The maximum swipe speed in pixels per second of the SpiralLayout.
218 * @details Name "spiralMaximumSwipSpeed",Property::FLOAT
220 * @note If not supplied, the default is 30.0f.
222 SPIRAL_MAXIMUM_SWIPE_SPEED,
225 * @brief The duration of the flick animation in seconds of the SpiralLayout.
226 * @details Name "spiralItemFlickAnimationDuration",Property::FLOAT
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.
231 SPIRAL_ITEM_FLICK_ANIMATION_DURATION,
234 * @brief The vertical distance for one revolution of the SpiralLayout.
235 * @details Name "spiralRevolutionDistance",Property::FLOAT
237 * @note If not supplied, the default is 190.0f.
239 SPIRAL_REVOLUTION_DISTANCE,
242 * @brief The alignment of the top-item, when at the beginning of the SpiralLayout.
243 * @details Name "spiralTopItemAlignment",Property::FLOAT
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).
249 SPIRAL_TOP_ITEM_ALIGNMENT,
252 } // namespace Toolkit
258 #endif // DALI_TOOLKIT_DEFAULT_ITEM_LAYOUT_PROPERTY_H