Update doxygen comments
[platform/core/uifw/dali-core.git] / dali / public-api / actors / actor-enumerations.h
1 #ifndef DALI_ACTOR_ENUMERATIONS_H
2 #define DALI_ACTOR_ENUMERATIONS_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 #include <dali/public-api/common/dali-common.h>
22
23 namespace Dali
24 {
25 /**
26  * @addtogroup dali_core_actors
27  * @{
28  */
29
30 /**
31  * @brief Enumeration for Actor color mode.
32  *
33  * @SINCE_1_0.0
34  */
35 enum ColorMode
36 {
37   USE_OWN_COLOR,                 ///< Actor will use its own color @SINCE_1_0.0
38   USE_PARENT_COLOR,              ///< Actor will use its parent color @SINCE_1_0.0
39   USE_OWN_MULTIPLY_PARENT_COLOR, ///< Actor will blend its color with its parents color. @SINCE_1_0.0
40   USE_OWN_MULTIPLY_PARENT_ALPHA  ///< Actor will blend its alpha with its parents alpha. This means when parent fades in or out child does as well. This is the default. @SINCE_1_0.0
41 };
42
43 /**
44  * @DEPRECATED_1_1.24 Use SetInheritPosition instead
45  * @brief Enumeration for Actor position inheritance mode.
46  * @SINCE_1_0.0
47  */
48 enum PositionInheritanceMode
49 {
50   INHERIT_PARENT_POSITION,                 ///< Actor will inherit its parent position. This is the default @SINCE_1_0.0
51   USE_PARENT_POSITION,                     ///< Actor will copy its parent position. This is useful if many actors are stacked together in the same place. This option ignores parent origin and anchor point. @SINCE_1_0.0
52   USE_PARENT_POSITION_PLUS_LOCAL_POSITION, ///< Actor will copy its parent position and add local position. This is useful if many actors are stacked together in the same place with an offset.  This option ignores parent origin and anchor point. @SINCE_1_0.0
53   DONT_INHERIT_POSITION                    ///< Actor will not inherit position. Local position is treated as world position. This is useful if a constraint is used to override local position or if an actor is positioned globally. This option ignores parent origin, anchor point and local position. @SINCE_1_0.0
54 };
55
56 /**
57  * @brief Enumeration for layout Dimensions.
58  * @SINCE_1_0.0
59  */
60 namespace Dimension
61 {
62   /**
63    * @brief Enumeration for Dimension types.
64    * @SINCE_1_0.0
65    */
66   enum Type
67   {
68     WIDTH  = 0x1,       ///< Width dimension @SINCE_1_0.0
69     HEIGHT = 0x2,       ///< Height dimension @SINCE_1_0.0
70
71     ALL_DIMENSIONS = 0x3  ///< Mask to cover all flags @SINCE_1_0.0
72   };
73
74   /**
75    * @brief Enumeration for Dimension number.
76    * @SINCE_1_0.0
77    */
78   enum Meta
79   {
80     DIMENSION_COUNT = 2  ///< Number of dimensions - update this if adding new dimension @SINCE_1_0.0
81   };
82 }
83
84 /**
85  * @brief Enumeration for size negotiation resize policies.
86  * @SINCE_1_0.0
87  */
88 namespace ResizePolicy
89 {
90   /**
91    * @brief Enumeration for ResizePolicy types.
92    * @SINCE_1_0.0
93    */
94   enum Type
95   {
96     FIXED,                 ///< Size is fixed as set by SetSize @SINCE_1_0.0
97     USE_NATURAL_SIZE,      ///< Size is to use the actor's natural size @SINCE_1_0.0 @see Actor::GetNaturalSize()
98     FILL_TO_PARENT,        ///< Size is to fill up to the actor's parent's bounds. Aspect ratio is not maintained. @SINCE_1_0.0
99     SIZE_RELATIVE_TO_PARENT,        ///< The actors size will be ( ParentSize * SizeRelativeToParentFactor ). @SINCE_1_0.0
100     SIZE_FIXED_OFFSET_FROM_PARENT,  ///< The actors size will be ( ParentSize + SizeRelativeToParentFactor ). @SINCE_1_0.0
101     FIT_TO_CHILDREN,       ///< Size will adjust to wrap around all children @SINCE_1_0.0
102     DIMENSION_DEPENDENCY,  ///< One dimension is dependent on the other @SINCE_1_0.0
103     USE_ASSIGNED_SIZE      ///< The size will be assigned to the actor @SINCE_1_0.0
104   };
105   const Type DEFAULT = USE_NATURAL_SIZE; ///< Default resize policy
106 }
107
108 /**
109  * @brief Enumeration for policies to determine how an actor should resize itself when having its size set in size negotiation.
110  * @SINCE_1_0.0
111  */
112 namespace SizeScalePolicy
113 {
114   /**
115    * @brief Enumeration for SizeScalePolicy types.
116    * @SINCE_1_0.0
117    */
118   enum Type
119   {
120     USE_SIZE_SET,                ///< Use the size that was set @SINCE_1_0.0
121     FIT_WITH_ASPECT_RATIO,       ///< Fit within the size set maintaining natural size aspect ratio @SINCE_1_0.0
122     FILL_WITH_ASPECT_RATIO       ///< Fill up the size set maintaining natural size aspect ratio. May exceed size bounds in one dimension. @SINCE_1_0.0
123   };
124 }
125
126 /**
127  * @brief Enumeration for horizontal alignment types.
128  * @SINCE_1_0.0
129  */
130 namespace HorizontalAlignment
131 {
132   /**
133    * @brief Enumeration for HorizontalAlignment types.
134    * @SINCE_1_0.0
135    */
136   enum Type
137   {
138     LEFT,         ///< Align horizontally left @SINCE_1_0.0
139     CENTER,       ///< Align horizontally center @SINCE_1_0.0
140     RIGHT         ///< Align horizontally right @SINCE_1_0.0
141   };
142 }
143
144 /**
145  * @brief Enumeration for vertical alignment types.
146  * @SINCE_1_0.0
147  */
148 namespace VerticalAlignment
149 {
150   /**
151    * @brief Enumeration for VerticalAlignment types.
152    * @SINCE_1_0.0
153    */
154   enum Type
155   {
156     TOP,          ///< Align vertically top @SINCE_1_0.0
157     CENTER,       ///< Align vertically center @SINCE_1_0.0
158     BOTTOM        ///< Align vertically bottom @SINCE_1_0.0
159   };
160 }
161
162 /**
163  * @brief Enumeration for ClippingMode describing how this Actor's children will be clipped against it.
164  * @SINCE_1_2_5
165  */
166 namespace ClippingMode
167 {
168   /**
169    * @brief Enumeration for ClippingMode types.
170    * @SINCE_1_2_5
171    */
172   enum Type
173   {
174     DISABLED,                     ///< This Actor will not clip its children. @SINCE_1_2_5
175     CLIP_CHILDREN,                ///< This Actor will clip all children to within its boundaries (the actor will also be visible itself). @SINCE_1_2_5
176   };
177 }
178
179
180 /**
181  * @}
182  */
183 } // namespace Dali
184
185 #endif // DALI_ACTOR_ENUMERATIONS_H