1 #ifndef DALI_ACTOR_ENUMERATIONS_H
2 #define DALI_ACTOR_ENUMERATIONS_H
5 * Copyright (c) 2020 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.
21 #include <dali/public-api/common/dali-common.h>
26 * @addtogroup dali_core_actors
31 * @brief Enumeration for Actor color mode.
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
44 * @brief Enumeration for layout Dimensions.
50 * @brief Enumeration for Dimension types.
55 WIDTH = 0x1, ///< Width dimension @SINCE_1_0.0
56 HEIGHT = 0x2, ///< Height dimension @SINCE_1_0.0
58 ALL_DIMENSIONS = 0x3 ///< Mask to cover all flags @SINCE_1_0.0
62 * @brief Enumeration for Dimension number.
67 DIMENSION_COUNT = 2 ///< Number of dimensions - update this if adding new dimension @SINCE_1_0.0
70 } // namespace Dimension
73 * @brief Enumeration for size negotiation resize policies.
76 namespace ResizePolicy
79 * @brief Enumeration for ResizePolicy types.
84 FIXED, ///< Size is fixed as set by SetSize @SINCE_1_0.0
85 USE_NATURAL_SIZE, ///< Size is to use the actor's natural size @SINCE_1_0.0 @see Actor::GetNaturalSize()
86 FILL_TO_PARENT, ///< Size is to fill up to the actor's parent's bounds. Aspect ratio is not maintained. @SINCE_1_0.0
87 SIZE_RELATIVE_TO_PARENT, ///< The actors size will be ( ParentSize * SizeRelativeToParentFactor ). @SINCE_1_0.0
88 SIZE_FIXED_OFFSET_FROM_PARENT, ///< The actors size will be ( ParentSize + SizeRelativeToParentFactor ). @SINCE_1_0.0
89 FIT_TO_CHILDREN, ///< Size will adjust to wrap around all children @SINCE_1_0.0
90 DIMENSION_DEPENDENCY, ///< One dimension is dependent on the other @SINCE_1_0.0
91 USE_ASSIGNED_SIZE ///< The size will be assigned to the actor @SINCE_1_0.0
93 const Type DEFAULT = USE_NATURAL_SIZE; ///< Default resize policy
95 } // namespace ResizePolicy
98 * @brief Enumeration for policies to determine how an actor should resize itself when having its size set in size negotiation.
101 namespace SizeScalePolicy
104 * @brief Enumeration for SizeScalePolicy types.
109 USE_SIZE_SET, ///< Use the size that was set @SINCE_1_0.0
110 FIT_WITH_ASPECT_RATIO, ///< Fit within the size set maintaining natural size aspect ratio @SINCE_1_0.0
111 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
114 } // namespace SizeScalePolicy
117 * @brief Enumeration for horizontal alignment types.
120 namespace HorizontalAlignment
123 * @brief Enumeration for HorizontalAlignment types.
128 LEFT, ///< Align horizontally left @SINCE_1_0.0
129 CENTER, ///< Align horizontally center @SINCE_1_0.0
130 RIGHT ///< Align horizontally right @SINCE_1_0.0
133 } // namespace HorizontalAlignment
136 * @brief Enumeration for vertical alignment types.
139 namespace VerticalAlignment
142 * @brief Enumeration for VerticalAlignment types.
147 TOP, ///< Align vertically top @SINCE_1_0.0
148 CENTER, ///< Align vertically center @SINCE_1_0.0
149 BOTTOM ///< Align vertically bottom @SINCE_1_0.0
152 } // namespace VerticalAlignment
155 * @brief Enumeration for ClippingMode describing how this Actor's children will be clipped against it.
158 namespace ClippingMode
161 * @brief Enumeration for ClippingMode types.
166 DISABLED, ///< This Actor will not clip its children. @SINCE_1_2_5
167 CLIP_CHILDREN, ///< This Actor will clip itself and all children to within the pixel areas of this actors renderers. @SINCE_1_2_5
168 CLIP_TO_BOUNDING_BOX ///< This Actor will clip itself and all children to within a screen-aligned rectangle encompassing its boundaries. @SINCE_1_2.61
171 } // namespace ClippingMode
174 * @brief Enumeration for the direction of the layout.
177 namespace LayoutDirection
180 * @brief Enumeration for the LayoutDirection types.
185 LEFT_TO_RIGHT, ///< Layout direction is from Left to Right direction. @SINCE_1_2.60
186 RIGHT_TO_LEFT ///< Layout direction is from Right to Left direction. @SINCE_1_2.60
189 } // namespace LayoutDirection
196 #endif // DALI_ACTOR_ENUMERATIONS_H