ea74293b9dc2cfdf59dd6d9268719a1a40b4e0ad
[platform/core/uifw/dali-core.git] / capi / dali_doc.h
1 #ifndef __DALI_DOC_H__
2 #define __DALI_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_UI_FRAMEWORK
22  * @defgroup CAPI_DALI_FRAMEWORK Dali
23  * @brief The Dali provides a cross-platform C++ 3D UI toolkit based on
24  * OpenGL ES 2.0.
25  * <table> <tr><th>API</th><th>Description</th></tr>
26  * <tr><td>@ref CAPI_DALI_MODULE</td><td>A library to provide a C++ scene graph based on OpenGL ES 2.0.</td></tr>
27  * <tr><td>@ref CAPI_DALI_TOOLKIT_MODULE</td><td>A library to provide a user interface toolkit on top of Dali.</td></tr>
28  * </table>
29  */
30
31 /**
32  * @ingroup CAPI_DALI_FRAMEWORK
33  * @defgroup CAPI_DALI_MODULE Dali Core
34  * @brief The Dali library provides a C++ scene graph based on OpenGL ES 2.0.
35  *
36  * @section CAPI_DALI_MODULE_HEADER Required Header
37  *  \#include <dali/dali.h>
38  * @section CAPI_DALI_MODULE_OVERVIEW Overview
39  * <table> <tr><th>API</th><th>Description</th></tr>
40  * <tr><td>@ref CAPI_DALI_ACTORS_MODULE</td><td>The set of interactive objects that can be placed on the Dali::Stage.</td></tr>
41  * <tr><td>@ref CAPI_DALI_ADAPTOR_MODULE</td><td>Interface to the platform.</td></tr>
42  * <tr><td>@ref CAPI_DALI_ANIMATION_MODULE</td><td>The property animation and constraints system.</td></tr>
43  * <tr><td>@ref CAPI_DALI_COMMON_MODULE</td><td>General classes.</td></tr>
44  * <tr><td>@ref CAPI_DALI_EVENTS_MODULE</td><td>Events, gestures and gesture detectors.</td></tr>
45  * <tr><td>@ref CAPI_DALI_GEOMETRY_MODULE</td><td></td>Meshes.</tr>
46  * <tr><td>@ref CAPI_DALI_IMAGES_MODULE</td><td></td>Image resource types.</tr>
47  * <tr><td>@ref CAPI_DALI_MATH_MODULE</td><td></td>Math classes and utilities.</tr>
48  * <tr><td>@ref CAPI_DALI_MODELING_MODULE</td><td>Ancilliary classes for meshes and 3D models </td></tr>
49  * <tr><td>@ref CAPI_DALI_OBJECT_MODULE</td><td></td>Registered Object and property system.</tr>
50  * <tr><td>@ref CAPI_DALI_RENDER_TASKS_MODULE</td><td>Classes to describe how the scene is rendered. </td></tr>
51  * <tr><td>@ref CAPI_DALI_SHADER_EFFECTS_MODULE</td><td>Classes to change how actors are visualised.</td></tr>
52  * <tr><td>@ref CAPI_DALI_SIGNALS_MODULE</td><td>Signals and Slots - a type-safe, loosely-coupled callback system.</td></tr>
53  * <tr><td>@ref CAPI_DALI_TEXT_MODULE</td><td></td>Classes for manipulating text.</tr>
54  * </table>
55  */
56
57
58 /**
59  * @ingroup CAPI_DALI_MODULE
60  *
61  * @defgroup CAPI_DALI_ACTORS_MODULE Actors
62  *
63  * @section CAPI_DALI_ACTORS_MODULE_HEADER RequiredHeader
64  * \#include <dali/dali.h>
65  *
66  * @section CAPI_DALI_ACTORS_MODULE_OVERVIEW Overview
67  * <table> <tr><th>API</th><th>Description</th></tr>
68  * <tr><td>@ref Dali::Actor </td><td>Primary class for application interaction.</td></tr>
69  * <tr><td>@ref Dali::CameraActor </td><td>An actor which controls a camera.</td></tr>
70  * <tr><td>@ref Dali::CustomActor </td><td>CustomActor is a base class for custom UI controls.</td></tr>
71  * <tr><td>@ref Dali::CustomActorImpl </td><td>CustomActorImpl is an abstract base class for custom control implementations.</td></tr>
72  * <tr><td>@ref Dali::RenderableActor </td><td>A base class for renderable actors.</td></tr>
73  * <tr><td>@ref Dali::ImageActor </td><td>An actor for displaying images.</td></tr>
74  * <tr><td>@ref Dali::MeshActor </td><td>An actor for displaying mesh geometries.</td></tr>
75  * <tr><td>@ref Dali::TextActor </td><td>An actor for display simple text.</td></tr>
76  * <tr><td>@ref Dali::Layer </td><td></td>An actor for grouping and sorting other actors.</tr>
77  * </table>
78  */
79
80 /**
81  * @ingroup CAPI_DALI_MODULE
82  * @defgroup CAPI_DALI_ANIMATION_MODULE Animation
83  * @section  CAPI_DALI_ANIMATION_MODULE_HEADER Required Header
84  * \#include <dali/dali.h>
85  * @section  CAPI_DALI_ANIMATION_MODULE_OVERVIEW Overview
86  * <table> <tr><th>API</th><th>Description</th></tr>
87  * <tr><td>@ref Dali::ActiveConstraint </td><td>A constraint which is being applied to an object.</td></tr>
88  * <tr><td> Dali::AlphaFunctions </td><td>Various functions that control progress of an animation.</td></tr>
89  * <tr><td>@ref Dali::Animation </td><td>Dali::Animation can be used to animate the properties of any number of objects, typically Dali::Actor%s.</td></tr>
90  * <tr><td>@ref Dali::Constraint </td><td>An abstract base class for Constraints.</td></tr>
91  * <tr><td>Constraints</td><td>Various constraints for properties:
92 @ref Dali::ScaleToFitConstraint
93 @ref Dali::ScaleToFitKeepAspectRatioConstraint
94 @ref Dali::ScaleToFillKeepAspectRatioConstraint
95 @ref Dali::ScaleToFillXYKeepAspectRatioConstraint
96 @ref Dali::ShrinkInsideKeepAspectRatioConstraint
97 @ref Dali::MultiplyConstraint
98 @ref Dali::DivideConstraint
99 @ref Dali::EqualToConstraint
100 @ref Dali::RelativeToConstraint
101 @ref Dali::RelativeToConstraintFloat
102 @ref Dali::InverseOfConstraint
103 @ref Dali::SourceWidthFixedHeight
104 @ref Dali::SourceHeightFixedWidth
105 Dali::LookAt()
106 @ref Dali::OrientedLookAt </td></tr>
107  * <tr><td>Interpolator Functions </td><td>Dali::LerpBoolean(), Dali::LerpFloat(), Dali::LerpVector2(), Dali::LerpVector3(), Dali::LerpVector4(), Dali::SlerpQuaternion() </td></tr>
108  * <tr><td>@ref Dali::KeyFrames </td><td>A set of key frames for a property that can be animated using @ref Dali::Animation::AnimateBetween()</td></tr>
109  * <tr><td>Constraint Sources</td><td>Specifies the location of a property for use in a constraint:
110  * @ref Dali::SourceType
111 @ref Dali::LocalSource
112 @ref Dali::ParentSource
113 @ref Dali::Source
114 @ref Dali::ConstraintSource</td></tr>
115  * <tr><td>@ref Dali::TimePeriod </td><td>A value-type representing a period of time within an animation.</td></tr>
116  * </table>
117  */
118
119 /**
120  * @ingroup CAPI_DALI_MODULE
121  * @defgroup CAPI_DALI_COMMON_MODULE Common
122  * @section CAPI_DALI_COMMON_MODULE_HEADER Required Header
123  * \#include <dali/dali.h>
124  * @section CAPI_DALI_COMMON_MODULE_OVERVIEW Overview
125  * <table> <tr><th>API</th><th>Description</th></tr>
126  * <tr><td>@ref Dali::ParentOrigin </td><td>Constants to specify the origin of an actor within it's parent volume, used by Dali::Actor::SetParentOrigin()</td></tr>
127  * <tr><td>@ref Dali::AnchorPoint </td><td>Constants to specify the anchor point of an actor, used by Dali::Actor::SetAnchorPoint() </td></tr>
128  * <tr><td>@ref Dali::Color </td><td>Constants to specify primary colors</td></tr>
129  * <tr><td>@ref Dali::Math </td><td>Epsilon and Pi constants</td></tr>
130  * <tr><td>@ref Dali::String </td><td>String constants</td></tr>
131  * <tr><td>@ref Dali::LoadingState </td><td>The status during resource loading operations.</td></tr>
132  * <tr><td>@ref Dali::Stage </td><td>The Stage is a top-level object used for displaying a tree of Actors.</td></tr>
133  * </table>
134  */
135
136 /**
137  * @ingroup CAPI_DALI_MODULE
138  * @defgroup CAPI_DALI_EVENTS_MODULE Events
139  * @section CAPI_DALI_EVENTS_MODULE_HEADER Required Header
140  * \#include <dali/dali.h>
141  * @section CAPI_DALI_EVENTS_MODULE_OVERVIEW Overview
142  * <table> <tr><th>API</th><th>Description</th></tr>
143  * <tr><td>@ref Dali::GestureDetector </td><td>GestureDetectors analyse a stream of touch events and attempt to determine the intention of the user.</td></tr>
144  * <tr><td>@ref Dali::Gesture </td><td>Base structure for different gestures that an application can receive.</td></tr>
145  * <tr><td>@ref Dali::KeyEvent </td><td>The key event structure is used to store a key press.</td></tr>
146  * <tr><td>@ref Dali::LongPressGestureDetector</td><td>This emits a signal when a long press gesture occurs.</td></tr>
147  * <tr><td>@ref Dali::LongPressGesture </td><td>A LongPressGesture is emitted when the user touches and holds the screen with the stated number of fingers.</td></tr>
148  * <tr><td>@ref Dali::PanGestureDetector </td><td>This class looks for panning (or dragging) gestures.</td></tr>
149  * <tr><td>@ref Dali::PanGesture </td><td>A PanGesture is emitted when the user moves one or more fingers in a particular direction.</td></tr>
150  * <tr><td>@ref Dali::PinchGestureDetector </td><td>This class looks for pinching gestures involving two touches.</td></tr>
151  * <tr><td>@ref Dali::PinchGesture </td><td>A PinchGesture is emitted when the user moves two fingers towards or away from each other.</td></tr>
152  * <tr><td>@ref Dali::TapGestureDetector </td><td>This class emits a signal when a tap gesture occurs</td></tr>
153  * <tr><td>@ref Dali::TapGesture </td><td>A TapGesture is emitted when the user taps the screen</td></tr>
154  * <tr><td>@ref Dali::TouchEvent </td><td>Touch events are a collection of touch points at a specific moment in time.</td></tr>
155  * <tr><td>@ref Dali::TouchPoint </td><td>A TouchPoint represents a point on the screen that is currently being touched or where touch
156  * has stopped.</td></tr>
157  * </table>
158  */
159
160 /**
161  * @ingroup CAPI_DALI_MODULE
162  * @defgroup CAPI_DALI_GEOMETRY_MODULE Geometry
163  * @section CAPI_DALI_GEOMETRY_MODULE_HEADER Required Header
164  * \#include <dali/dali.h>
165  * @section CAPI_DALI_GEOMETRY_MODULE_OVERVIEW Overview
166  * <table> <tr><th>API</th><th>Description</th></tr>
167  * <tr><td>@ref Dali::AnimatableMesh </td><td>A mesh geometry that can be animated using the Dali property animation system.</td></tr>
168  * <tr><td>@ref Dali::AnimatableVertex </td><td>Represents a vertex in a Dali::AnimatableMesh.</td></tr>
169  * </table>
170  */
171
172 /**
173  * @ingroup CAPI_DALI_MODULE
174  * @defgroup CAPI_DALI_IMAGES_MODULE Images
175  * @section CAPI_DALI_IMAGES_MODULE_HEADER Required Header
176  * \#include <dali/dali.h>
177  * @section CAPI_DALI_IMAGES_MODULE_OVERVIEW Overview
178  * <table> <tr><th>API</th><th>Description</th></tr>
179  * <tr><td>@ref Dali::BitmapImage </td><td>This represents an image resource supplied by Application writer that can be added to Dali::ImageActor.</td></tr>
180  * <tr><td>@ref Dali::EncodedBufferImage </td><td>This represents an encoded image supplied by Application writer that can be added to Dali::ImageActor.</td></tr>
181  * <tr><td>@ref Dali::FrameBufferImage </td><td>This represents a GLES frame buffer object and contains the result of an 'off-screen' render pass of a Dali::RenderTask</td></tr>
182  * <tr><td>@ref Dali::ImageAttributes </td><td>Describes Image properties like width or pixel format.</td></tr>
183  * <tr><td>@ref Dali::Image </td><td>An Image object represents an image resource that can be added to ImageActors.</td></tr>
184  * <tr><td>@ref Dali::NativeImage </td><td>Abstract interface to provide platform-specific support for handling image data.</td></tr>
185  * <tr><td>@ref Dali::Pixel </td><td>Pixel format types and their properties.</td></tr>
186  * </table>
187  */
188
189 /**
190  * @ingroup CAPI_DALI_MODULE
191  * @defgroup CAPI_DALI_MATH_MODULE Math
192  * @section CAPI_DALI_MATH_MODULE_HEADER Required Header
193  * \#include <dali/dali.h>
194  * @section CAPI_DALI_MATH_MODULE_OVERVIEW Overview
195  * <table> <tr><th>API</th><th>Description</th></tr>
196  * <tr><td>@ref Dali::AngleAxis </td><td>An angle & axis pair.</td></tr>
197  * <tr><td>@ref Dali::Degree </td><td>An angle in degrees.</td></tr>
198  * <tr><td>@ref Dali::Radian </td><td>An angle in radians.</td></tr>
199  * <tr><td>@ref Dali::Matrix </td><td>The Matrix class represents transformations and projections.</td></tr>
200  * <tr><td>@ref Dali::Matrix3 </td><td>A 3x3 matrix.</td></tr>
201  * <tr><td>@ref Dali::Quaternion </td><td>The Quaternion class encapsulates the mathematics of the quaternion.</td></tr>
202  * <tr><td>@ref Dali::Rect </td><td>Template class to create and operate on rectangles.</td></tr>
203  * <tr><td>@ref Dali::Vector2 </td><td>A two-dimensional vector.</td></tr>
204  * <tr><td>@ref Dali::Vector3 </td><td>A three-dimensional vector.</td></tr>
205  * <tr><td>@ref Dali::Vector4 </td><td>A four-dimensional vector.</td></tr>
206  * <tr><td>@ref Dali::Random </td><td>Provides methods to generate and use random values.</td></tr>
207  * <tr><td>@ref Dali::Viewport </td><td>Screen area in pixels</td></tr>
208  * <tr><td> Math Utilities </td><td>
209 Dali::NextPowerOfTwo()
210 Dali::IsPowerOfTwo()
211 Dali::Clamp()
212 Dali::ClampInPlace()
213 Dali::Lerp()
214 Dali::GetRangedEpsilon()
215 Dali::EqualsZero()
216 Dali::Equals()
217 Dali::Round()
218 Dali::WrapInDomain()
219 Dali::ShortestDistanceInDomain()
220  * </td></tr>
221  * </table>
222  */
223
224 /**
225  * @ingroup CAPI_DALI_MODULE
226  * @defgroup CAPI_DALI_MODELING_MODULE Modeling
227  * @section CAPI_DALI_MODELING_MODULE_HEADER Required Header
228  * \#include <dali/dali.h>
229  * @section CAPI_DALI_MODELING_MODULE_OVERVIEW Overview
230  * <table> <tr><th>API</th><th>Description</th></tr>
231  * <tr><td>@ref Dali::Material </td><td>Encapsulates the data describing a material.</td></tr>
232  * </table>
233  */
234
235 /**
236  * @ingroup CAPI_DALI_MODULE
237  * @defgroup CAPI_DALI_OBJECT_MODULE Object
238  * @section CAPI_DALI_OBJECT_MODULE_HEADER Required Header
239  * \#include <dali/dali.h>
240  * @section CAPI_DALI_OBJECT_MODULE_OVERVIEW Overview
241  * <table> <tr><th>API</th><th>Description</th></tr>
242  * <tr><td>@ref Dali::BaseHandle </td><td>Dali::BaseHandle is a handle to an internal Dali resource.</td></tr>
243  * <tr><td>@ref Dali::BaseObject </td><td>A base class for objects.</td></tr>
244  * <tr><td>@ref Dali::Constrainable </td><td>A handle to an internal property owning Dali object that
245  * can have constraints applied to it.</td></tr>
246  * <tr><td>@ref Dali::Handle </td><td>A handle to an internal property owning Dali object.</td></tr>
247  * <tr><td>@ref Dali::ObjectRegistry </td><td>The ObjectRegistry notifies it's observers when an object is created.</td></tr>
248  * <tr><td>@ref Dali::PropertyCondition </td><td>This represents a condition that can be evaluated on a Property::Value. Factory methods include Dali::LessThanCondition(), Dali::GreaterThanCondition(), Dali::InsideCondition() and Dali::OutsideCondition()</td></tr>
249  * <tr><td>@ref Dali::PropertyInput </td><td>An abstract interface for receiving property values.</td></tr>
250  * <tr><td>@ref Dali::PropertyNotification </td><td>This is used to issue a notification upon a condition of the property being met.</td></tr>
251  * <tr><td>@ref Dali::PropertyTypes </td><td>Template function instances for property getters.</td></tr>
252  * <tr><td>@ref Dali::Property </td><td>An object + property pair.</td></tr>
253  * <tr><td>@ref Dali::Property::Value </td><td>A value-type representing a property value.</td></tr>a
254  * <tr><td>@ref Dali::RefObject </td><td>Base class for reference counted objects.</td></tr>
255  * <tr><td>@ref Dali::IntrusivePtr </td><td>Template class used to point at Dali::RefObjects</td></tr>
256  * <tr><td>@ref Dali::Any </td><td>Class for objects that contain values of different types</td></tr>
257  * </table>
258  */
259
260 /**
261  * @ingroup CAPI_DALI_MODULE
262  * @defgroup CAPI_DALI_RENDER_TASKS_MODULE Render Tasks
263  * @section CAPI_DALI_RENDER_TASKS_MODULE_HEADER Required Header
264  * \#include <dali/dali.h>
265  * @section CAPI_DALI_RENDER_TASKS_MODULE_OVERVIEW Overview
266  * <table> <tr><th>API</th><th>Description</th></tr>
267  * <tr><td>@ref Dali::RenderTask </td><td>A RenderTask describes how all or part of the Dali scene should be rendered.</td></tr>
268  * <tr><td>@ref Dali::RenderTaskList </td><td>An ordered list of Dali::RenderTask%s.</td></tr>
269  * </table>
270  */
271
272 /**
273  * @ingroup CAPI_DALI_MODULE
274  * @defgroup CAPI_DALI_SHADER_EFFECTS_MODULE Shader effects
275  * @section CAPI_DALI_SHADER_EFFECTS_MODULE_HEADER Required Header
276  * \#include <dali/dali.h>
277  * @section CAPI_DALI_SHADER_EFFECTS_MODULE_OVERVIEW Overview
278  * <table> <tr><th>API</th><th>Description</th></tr>
279  * <tr><td>@ref Dali::ShaderEffect </td><td>Shader effects provide a visual effect for actors.</td></tr>
280  * </table>
281  */
282
283 /**
284  * @ingroup CAPI_DALI_MODULE
285  * @defgroup CAPI_DALI_SIGNALS_MODULE Signals
286  * @section CAPI_DALI_SIGNALS_MODULE_HEADER Required Header
287  * \#include <dali/dali.h>
288  * @section CAPI_DALI_SIGNALS_MODULE_OVERVIEW Overview
289  * <table> <tr><th>API</th><th>Description</th></tr>
290  * <tr><td>@ref Dali::BaseSignal </td><td>Implementation class for Dali::SignalV2%s.</td></tr>
291  * <tr><td>@ref Dali::Callback </td><td>Templates to provide type safety for member function callbacks.</td></tr>
292  * <tr><td>@ref Dali::ConnectionTracker </td><td>Connection tracker concrete implementation</td></tr>
293  * <tr><td>@ref Dali::ConnectionTrackerInterface </td><td>Interface used to track connections between signals and slots.</td></tr>
294  * <tr><td>@ref Dali::SignalV2 </td><td>Template classes that provide signals</td></tr>
295  * <tr><td>@ref Dali::FunctorDelegate </td><td>Used to connect a void() functor to a signal via Dali::BaseObject::SignalConnect()</td></tr>
296  * <tr><td>@ref Dali::SlotConnection </td><td>SlotConnection is the connection information held by a connection tracker.</td></tr>
297  * <tr><td>@ref Dali::SignalConnection </td><td>SignalConnection is the connection information held by the signal.</td></tr>
298  * <tr><td>@ref Dali::SignalObserver </td><td>Abstract interface used by a signal to inform a slot it is disconnecting.</td></tr>
299  * <tr><td>@ref Dali::SlotObserver </td><td>Abstract Interface used by a slot to inform a signal it is disconnecting.</td></tr>
300  * <tr><td>@ref Dali::SlotDelegate </td><td>SlotDelegates can be used to connect member functions to signals, without inheriting from SlotDelegateInterface.</td></tr>
301  * </table>
302  */
303
304 /**
305  * @ingroup CAPI_DALI_MODULE
306  * @defgroup CAPI_DALI_TEXT_MODULE Text
307  * @section CAPI_DALI_TEXT_MODULE_HEADER Required Header
308  * \#include <dali/dali.h>
309  * @section CAPI_DALI_TEXT_MODULE_OVERVIEW Overview
310  * <table> <tr><th>API</th><th>Description</th></tr>
311  * <tr><td>@ref Dali::Character </td><td>Character class encapsulates a character implementation to support multiple languages.</td></tr>
312  * <tr><td>@ref Dali::PointSize </td><td>Font size in points.</td></tr>
313  * <tr><td>@ref Dali::PixelSize </td><td>Font size in pixels.</td></tr>
314  * <tr><td>@ref Dali::CapsHeight </td><td>Font size in caps height.</td></tr>
315  * <tr><td>@ref Dali::FontParameters </td><td>Encapsulates all font parameters.</td></tr>
316  * <tr><td>@ref Dali::Font </td><td>Encapsulates a font resource</td></tr>
317  * <tr><td>@ref Dali::TextStyle </td><td>Encapsulates style properties for text, such as weight, italics, underline, shadow, etc.</td></tr>
318  * <tr><td>@ref Dali::Text </td><td>Encapsulates a string of characters implementation to support multiple languages.</td></tr>
319  * </table>
320  */
321
322
323
324 #endif //__DALI_DOC_H__