Allow overshoot indicators to be implemented outside of ItemView
[platform/core/uifw/dali-toolkit.git] / capi / dali_toolkit_doc.h
1 #ifndef __DALI_TOOLKIT_DOC_H__
2 #define __DALI_TOOLKIT_DOC_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  * @ingroup CAPI_DALI_FRAMEWORK
22  * @defgroup CAPI_DALI_TOOLKIT_MODULE Dali Toolkit
23  * @brief A library to provide a user interface toolkit on top of Dali.
24  * @section CAPI_DALI_TOOLKIT_MODULE_HEADER Required Header
25  *  \#include <dali-toolkit/dali-toolkit.h>
26  * @section CAPI_DALI_TOOLKIT_MODULE_OVERVIEW Overview
27  *   A library to provide a user interface toolkit running on top of Dali.
28  * <table> <tr><th>API</th><th>Description</th></tr>
29  * <tr><td>@ref CAPI_DALI_TOOLKIT_CONTROLS_MODULE</td><td>User interface controls</td></tr>
30  * <tr><td>@ref CAPI_DALI_TOOLKIT_FACTORY_MODULE</td><td>Factory methods for creating controls</td></tr>
31  * <tr><td>@ref CAPI_DALI_TOOLKIT_FOCUS_MANAGER_MODULE</td><td>Classes for managing focus between controls and actors</td></tr>
32  * <tr><td>@ref CAPI_DALI_TOOLKIT_MARKUP_PROCESSOR_MODULE</td><td>Text markup classes</td></tr>
33  * <tr><td>@ref CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE</td><td>Shader effects classes</td></tr>
34  * </table>
35  */
36
37 /**
38  * @ingroup CAPI_DALI_TOOLKIT_MODULE
39  * @defgroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE Controls
40  * @brief
41  * @section  CAPI_DALI_TOOLKIT_CONTROLS_MODULE_HEADER Required Header
42  *  \#include <dali-toolkit/dali-toolkit.h>
43  * @section  CAPI_DALI_TOOLKIT_CONTROLS_MODULE_OVERVIEW Overview
44  * <table> <tr><th>API</th><th>Description</th></tr>
45  * <tr><td>@ref CAPI_DALI_TOOLKIT_ALIGNMENT_MODULE </td><td>Layout class</td></tr>
46  * <tr><td>@ref CAPI_DALI_TOOLKIT_BUBBLE_EFFECT_MODULE </td><td>Particle emitter</td></tr>
47  * <tr><td>@ref CAPI_DALI_TOOLKIT_BUTTONS_MODULE </td><td>Button</td></tr>
48  * <tr><td>@ref CAPI_DALI_TOOLKIT_CLUSTER_MODULE </td><td>Styles for clusters of actors</td></tr>
49  * <tr><td>@ref CAPI_DALI_TOOLKIT_DEFAULT_CONTROLS_MODULE </td><td>Factory methods for generating controls</td></tr>
50  * <tr><td>@ref CAPI_DALI_TOOLKIT_IMAGE_VIEW_MODULE </td><td>Classes for displaying images</td></tr>
51  * <tr><td>@ref CAPI_DALI_TOOLKIT_POPUP_MODULE </td><td></td>Popup control</tr>
52  * <tr><td>@ref CAPI_DALI_TOOLKIT_SCROLLABLE_MODULE </td><td>Scrollable containers</td></tr>
53  * <tr><td>@ref CAPI_DALI_TOOLKIT_SUPER_BLUR_VIEW_MODULE </td><td>Control to perform blurring on an image</td></tr>
54  * <tr><td>@ref CAPI_DALI_TOOLKIT_TEXT_INPUT_MODULE </td><td>Input control using the virtual keyboard</td></tr>
55  * <tr><td>@ref CAPI_DALI_TOOLKIT_TEXT_VIEW_MODULE </td><td>Control to display text in different styles</td></tr>
56  * <tr><td>@ref Dali::Toolkit::Control </td><td>Control is the base class for all controls.</td></tr>
57  * <tr><td>@ref Dali::Toolkit::ControlImpl </td><td>This is the internal base class for all controls.</td></tr>
58  * </table>
59  */
60
61 /**
62  * @ingroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
63  * @defgroup CAPI_DALI_TOOLKIT_ALIGNMENT_MODULE Alignment
64  * @brief
65  * @section CAPI_DALI_TOOLKIT_ALIGNMENT_MODULE_HEADER Required Header
66  *  \#include <dali-toolkit/dali-toolkit.h>
67  * @section CAPI_DALI_TOOLKIT_ALIGNMENT_MODULE_OVERVIEW Overview
68  * <table> <tr><th>API</th><th>Description</th></tr>
69  * <tr><td>@ref Dali::Toolkit::Alignment </td><td>Alignment is a container which provides an easy way to align other actors inside its boundary.</td></tr>
70  * </table>
71  */
72
73 /**
74  * @ingroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
75  * @defgroup CAPI_DALI_TOOLKIT_BUBBLE_EFFECT_MODULE Bubble Effect
76  * @brief
77  * @section  CAPI_DALI_TOOLKIT_BUBBLE_EFFECT_MODULE_HEADER Required Header
78  *  \#include <dali-toolkit/dali-toolkit.h>
79  * @section CAPI_DALI_TOOLKIT_BUBBLE_EFFECT_MODULE_OVERVIEW Overview
80  * <table> <tr><th>API</th><th>Description</th></tr>
81  * <tr><td>@ref Dali::Toolkit::BubbleEmitter </td><td>BubbleEmitter is used to display lots of moving bubbles on the stage.</td></tr>
82  * </table>
83  */
84
85 /**
86  * @ingroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
87  * @defgroup CAPI_DALI_TOOLKIT_BUTTONS_MODULE Buttons
88  * @brief
89  * @section  CAPI_DALI_TOOLKIT_BUTTONS_MODULE_HEADER Required Header
90  *  \#include <dali-toolkit/dali-toolkit.h>
91  * @section CAPI_DALI_TOOLKIT_BUTTONS_MODULE_OVERVIEW Overview
92  * <table> <tr><th>API</th><th>Description</th></tr>
93  * <tr><td>@ref Dali::Toolkit::Button </td><td>Button is a base class for different kind of buttons.</td></tr>
94  * <tr><td>@ref Dali::Toolkit::PushButton </td><td>A PushButton changes its appearance when is pressed and returns to its original when is released.</td></tr>
95  * </table>
96  */
97
98 /**
99  * @ingroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
100  * @defgroup CAPI_DALI_TOOLKIT_CLUSTER_MODULE Cluster
101  * @brief
102  * @section CAPI_DALI_TOOLKIT_CLUSTER_MODULE_HEADER Required Header
103  *  \#include <dali-toolkit/dali-toolkit.h>
104  * @section CAPI_DALI_TOOLKIT_CLUSTER_MODULE_OVERVIEW Overview
105  * <table> <tr><th>API</th><th>Description</th></tr>
106  * <tr><td>@ref Dali::Toolkit::ClusterStyle </td><td>A ClusterStyle describes the constraints, which are imposed on the child actors in the cluster.</td></tr>
107  * </table>
108  */
109
110 /**
111  * @ingroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
112  * @defgroup CAPI_DALI_TOOLKIT_DEFAULT_CONTROLS_MODULE Default Controls
113  * @brief
114  * @section CAPI_DALI_TOOLKIT_DEFAULT_CONTROLS_MODULE_HEADER Required Header
115  *  \#include <dali-toolkit/dali-toolkit.h>
116  * @section CAPI_DALI_TOOLKIT_DEFAULT_CONTROLS_MODULE_OVERVIEW Overview
117  * <table> <tr><th>API</th><th>Description</th></tr>
118  * <tr><td> Factory methods </td><td>Dali::Toolkit::CreateSolidColorActor(), Dali::Toolkit::CreatePushButton()</td></tr>
119  * </table>
120  */
121
122 /**
123  * @ingroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
124  * @defgroup CAPI_DALI_TOOLKIT_IMAGE_VIEW_MODULE Image View
125  * @brief
126  * @section  CAPI_DALI_TOOLKIT_IMAGE_VIEW_MODULE_HEADER Required Header
127  *  \#include <dali-toolkit/dali-toolkit.h>
128  * @section CAPI_DALI_TOOLKIT_IMAGE_VIEW_MODULE_OVERVIEW Overview
129  * <table> <tr><th>API</th><th>Description</th></tr>
130  * <tr><td>@ref Dali::Toolkit::MaskedImageView </td><td>MaskedImageView displays the result of an image created from a masking operation.</td></tr>
131  * </table>
132  */
133
134 /**
135  * @ingroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
136  * @defgroup CAPI_DALI_TOOLKIT_POPUP_MODULE Popup
137  * @brief
138  * @section  CAPI_DALI_TOOLKIT_POPUP_MODULE_HEADER Required Header
139  *  \#include <dali-toolkit/dali-toolkit.h>
140  * @section CAPI_DALI_TOOLKIT_POPUP_MODULE_OVERVIEW Overview
141  * <table> <tr><th>API</th><th>Description</th></tr>
142  * <tr><td>@ref Dali::Toolkit::Popup </td><td>Popup contains content that can come into focus when activated, and out of focus when deactivated.</td></tr>
143  * </table>
144  */
145
146 /**
147  * @ingroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
148  * @defgroup CAPI_DALI_TOOLKIT_SCROLLABLE_MODULE Scrollable
149  * @brief
150  * @section  CAPI_DALI_TOOLKIT_SCROLLABLE_MODULE_HEADER Required Header
151  *  \#include <dali-toolkit/dali-toolkit.h>
152  * @section CAPI_DALI_TOOLKIT_SCROLLABLE_MODULE_OVERVIEW Overview
153  * <table> <tr><th>API</th><th>Description</th></tr>
154  * (via touch) or automatically. </td></tr>
155  * <tr><td>@ref CAPI_DALI_TOOLKIT_ITEM_VIEW_MODULE</td><td> Item view </td></tr>
156  * <tr><td>@ref CAPI_DALI_TOOLKIT_SCROLL_VIEW_MODULE</td><td> Scroll view </td></tr>
157  * <tr><td>@ref Dali::Toolkit::Scrollable </td><td>Base class for derived Scrollables that contains actors that can be scrolled manually
158  * </table>
159  */
160
161 /**
162  * @ingroup CAPI_DALI_TOOLKIT_SCROLLABLE_MODULE
163  * @defgroup CAPI_DALI_TOOLKIT_ITEM_VIEW_MODULE   Item view
164  * @brief
165  * @section  CAPI_DALI_TOOLKIT_ITEM_VIEW_MODULE_HEADER Required Header
166  *  \#include <dali-toolkit/dali-toolkit.h>
167  * @section CAPI_DALI_TOOLKIT_ITEM_VIEW_MODULE_OVERVIEW Overview
168  * <table> <tr><th>API</th><th>Description</th></tr>
169  * <tr><td>@ref Dali::Toolkit::GridLayout </td><td>An ItemView layout which arranges items in a grid.</td></tr>
170  * <tr><td>@ref Dali::Toolkit::ItemFactory </td><td>ItemFactory is an abstract interface for providing actors to ItemView.</td></tr>
171  * <tr><td>@ref Dali::Toolkit::ItemRange </td><td>A support class for managing ranges of items.</td></tr>
172  * <tr><td>@ref Dali::Toolkit::ItemLayout </td><td>An ItemLayout describes the constraints which are imposed on items in the layout.</td></tr>
173  * <tr><td>@ref Dali::Toolkit::ItemView </td><td>ItemView is a scrollable layout container.</td></tr>
174  * </table>
175  */
176
177 /**
178  * @ingroup CAPI_DALI_TOOLKIT_SCROLLABLE_MODULE
179  * @defgroup CAPI_DALI_TOOLKIT_SCROLL_VIEW_MODULE Scroll view
180  * @brief
181  * @section  CAPI_DALI_TOOLKIT_SCROLL_VIEW_MODULE_HEADER Required Header
182  *  \#include <dali-toolkit/dali-toolkit.h>
183  * @section CAPI_DALI_TOOLKIT_SCROLL_VIEW_MODULE_OVERVIEW Overview
184  * <table> <tr><th>API</th><th>Description</th></tr>
185  * <tr><td>@ref Dali::Toolkit::ScrollViewCubeEffect </td><td>This effect causes Actors to appear to rotate around a 3D cube.</td></tr>
186  * <tr><td>@ref Dali::Toolkit::ScrollViewCustomEffect </td><td>This class has many transition effects for use when scrolling pages, e.g opacity, rotation, swing, translation.</td></tr>
187  * <tr><td>@ref Dali::Toolkit::ScrollViewEffect </td><td>ScrollView Effect base class, used to apply custom effects to a ScrollView instance.</td></tr>
188  * <tr><td>@ref Dali::Toolkit::ScrollViewPageSpiralEffect </td><td>This effect cause each page in a scroll-view to move along a spiral.</td></tr>
189  * <tr><td>@ref Dali::Toolkit::ScrollViewSlideEffect </td><td>ScrollView effect that uses slides for transitioning pages.</td></tr>
190  * <tr><td>@ref Dali::Toolkit::ScrollViewTwistEffect </td><td>ScrollView effect that twists pages onto screen when transitioning.</td></tr>
191  * <tr><td>@ref Dali::Toolkit::RulerDomain </td><td>Used for specifying minimum/maximum extents of a ruler.</td></tr>
192  * <tr><td>@ref Dali::Toolkit::Ruler </td><td>Abstract class to define scroll axes.</td></tr>
193  * <tr><td>@ref Dali::Toolkit::DefaultRuler </td><td>Concrete implementation of Dali::Toolkit::Ruler that has no snapping and has one single page.</td></tr>
194  * <tr><td>@ref Dali::Toolkit::FixedRuler </td><td>Concrete implementation of Ruler that has fixed snapping.</td></tr>
195  * <tr><td>@ref Dali::Toolkit::ScrollView </td><td>ScrollView contains actors that can be scrolled manually (via touch) or automatically.</td></tr>
196  * </table>
197  */
198
199 /**
200  * @ingroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
201  * @defgroup CAPI_DALI_TOOLKIT_SUPER_BLUR_VIEW_MODULE Super Blur View
202  * @brief
203  * @section  CAPI_DALI_TOOLKIT_SUPER_BLUR_VIEW_MODULE_HEADER Required Header
204  *  \#include <dali-toolkit/dali-toolkit.h>
205  * @section CAPI_DALI_TOOLKIT_SUPER_BLUR_VIEW_MODULE_OVERVIEW Overview
206  * <table> <tr><th>API</th><th>Description</th></tr>
207  * <tr><td>@ref Dali::Toolkit::SuperBlurView </td><td>SuperBlurView accepts an image as input, and displays/animates it with various blur strengths.</td></tr>
208  * </table>
209  */
210
211 /**
212  * @ingroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
213  * @defgroup CAPI_DALI_TOOLKIT_TEXT_INPUT_MODULE Text Input
214  * @brief
215  * @section  CAPI_DALI_TOOLKIT_TEXT_INPUT_MODULE_HEADER Required Header
216  *  \#include <dali-toolkit/dali-toolkit.h>
217  * @section CAPI_DALI_TOOLKIT_TEXT_INPUT_MODULE_OVERVIEW Overview
218  * <table> <tr><th>API</th><th>Description</th></tr>
219  * <tr><td>@ref Dali::Toolkit::TextInput </td><td>TextInput Actor takes input one character at a time and displays it as a string within an input box.</td></tr>
220  * </table>
221  */
222
223 /**
224  * @ingroup CAPI_DALI_TOOLKIT_CONTROLS_MODULE
225  * @defgroup CAPI_DALI_TOOLKIT_TEXT_VIEW_MODULE Text view
226  * @brief
227  * @section CAPI_DALI_TOOLKIT_TEXT_VIEW_MODULE_HEADER Required Header
228  *  \#include <dali-toolkit/dali-toolkit.h>
229  * @section CAPI_DALI_TOOLKIT_TEXT_VIEW_MODULE_OVERVIEW Overview
230  * <table> <tr><th>API</th><th>Description</th></tr>
231  * <tr><td>@ref Dali::Toolkit::TextView </td><td>TextView is a layout container for text with alignment, multi-line wrapping and formatting support.</td></tr>
232  * </table>
233  */
234
235 /**
236  * @ingroup CAPI_DALI_TOOLKIT_MODULE
237  * @defgroup CAPI_DALI_TOOLKIT_FACTORY_MODULE Factory
238  * @brief
239  * @section CAPI_DALI_TOOLKIT_FACTORY_MODULE_HEADER Required Header
240  *  \#include <dali-toolkit/dali-toolkit.h>
241  * @section CAPI_DALI_TOOLKIT_FACTORY_MODULE_OVERVIEW Overview
242  * <table> <tr><th>API</th><th>Description</th></tr>
243  * <tr><td>@ref Dali::Toolkit::LocalizedControlFactory </td><td>This class provides functionality for creating controls which have localized text.</td></tr>
244  * </table>
245  */
246
247 /**
248  * @ingroup CAPI_DALI_TOOLKIT_MODULE
249  * @defgroup CAPI_DALI_TOOLKIT_FOCUS_MANAGER_MODULE Focus Manager
250  * @brief
251  * @section  CAPI_DALI_TOOLKIT_FOCUS_MANAGER_HEADER Required Header
252  *  \#include <dali-toolkit/dali-toolkit.h>
253  * @section CAPI_DALI_TOOLKIT_FOCUS_MANAGER_MODULE_OVERVIEW Overview
254  * <table> <tr><th>API</th><th>Description</th></tr>
255  * <tr><td>@ref Dali::Toolkit::FocusManager </td><td>Manages registration of actors in a focus chain and changing the focused
256  * actor within that chain.</td></tr>
257  * <tr><td>@ref Dali::Toolkit::KeyboardFocusManager </td><td>Provides the functionality of handling keyboard navigation and maintaining the two dimensional keyboard focus chain.</td></tr>
258  * </table>
259  */
260
261 /**
262  * @ingroup CAPI_DALI_TOOLKIT_MODULE
263  * @defgroup CAPI_DALI_TOOLKIT_MARKUP_PROCESSOR_MODULE Markup Processor
264  * @brief
265  * @section CAPI_DALI_TOOLKIT_MARKUP_PROCESSOR_MODULE_HEADER Required Header
266  *  \#include <dali-toolkit/dali-toolkit.h>
267  * @section CAPI_DALI_TOOLKIT_MARKUP_PROCESSOR_MODULE_OVERVIEW Overview
268  * <table> <tr><th>API</th><th>Description</th></tr>
269  * <tr><td>@ref Dali::Toolkit::MarkupProcessor::StyledText </td><td>A pair of Dali::Text and Dali::TextStyle.</td></tr>
270  * <tr><td>@ref Dali::Toolkit::MarkupProcessor::StyledTextArray </td><td> Vector of StyledText </td></tr>
271  * <tr><td>@ref Dali::Toolkit::MarkupProcessor </td><td>
272 Dali::Toolkit::MarkupProcessor::GetStyledTextArray()
273 Dali::Toolkit::MarkupProcessor::GetPlainString()
274 Dali::Toolkit::MarkupProcessor::GetMarkupString()
275 Dali::Toolkit::MarkupProcessor::SetTextStyle()
276 Dali::Toolkit::MarkupProcessor::SetTextStyle()
277 Dali::Toolkit::MarkupProcessor::SetTextStyleToRange()
278 </td></tr>
279  * </table>
280  */
281
282 /**
283  * @ingroup CAPI_DALI_TOOLKIT_MODULE
284  * @defgroup CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE Shader Effects
285  * @brief
286  * @section  CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE_HEADER Required Header
287  *  \#include <dali-toolkit/dali-toolkit.h>
288  * @section CAPI_DALI_TOOLKIT_SHADER_EFFECTS_MODULE_OVERVIEW Overview
289  * <table> <tr><th>API</th><th>Description</th></tr>
290  * <tr><td>@ref Dali::Toolkit::DissolveEffect </td><td>DissolveEffect is a custom shader effect to achieve Dissolve effects in Image actors.</td></tr>
291  * <tr><td>@ref Dali::Toolkit::ImageRegionEffect </td><td>ImageRegionEffect is a custom shader effect to show only a region of an Image actor.</td></tr>
292  * <tr><td>@ref Dali::Toolkit::IrisEffect </td><td>IrisEffect is a custom shader effect to achieve iris effects in Image actors.</td></tr>
293  * <tr><td>@ref Dali::Toolkit::MaskEffect </td><td>MaskEffect is used to control which parts of an image are visible, using the alpha channel of a separate mask image.</td></tr>
294  * <tr><td>@ref Dali::Toolkit::NinePatchMaskEffect </td><td>NinePatchMaskEffect is used to control which parts of an image are visible, using the alpha channel of a separate mask image.</td></tr>
295  * <tr><td>@ref Dali::Toolkit::PageTurnBookSpineEffect </td><td>This is an assisting effect of PageTurnEffect to display a book spine on _static_ pages, and also to flip the image horizontally when needed.</td></tr>
296  * <tr><td>@ref Dali::Toolkit::PageTurnEffect </td><td>PageTurnEffect is a custom shader effect to achieve a page turn effect for Image actors.</td></tr>
297  * <tr><td>@ref Dali::Toolkit::RippleEffect </td><td>RippleEffect is a custom shader effect to achieve ripple effects on Image actors</td></tr>
298  * <tr><td>@ref Dali::Toolkit::Ripple2DEffect </td><td>Ripple2DEffect is a custom shader effect to achieve 2d ripple effects on Image actors</td></tr>
299  * <tr><td>@ref Dali::Toolkit::SwirlEffect </td><td>SwirlEffect is a custom shader effect to achieve swirl effects in Image actors.</td></tr>
300  * </table>
301  */
302
303
304 #endif //__DALI_TOOLKIT_DOC_H__