1 #ifndef DALI_TOOLKIT_PRIMITIVE_VISUAL_PROPERTIES_H
2 #define DALI_TOOLKIT_PRIMITIVE_VISUAL_PROPERTIES_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.
22 #include <dali-toolkit/public-api/toolkit-property-index-ranges.h>
30 namespace PrimitiveVisual
39 * @brief The specific shape to render.
40 * @details Name "shape", type Shape::Type (Property::INTEGER) or Property::STRING.
42 * @note Optional. If not specified, the default is Shape::SPHERE.
45 SHAPE = VISUAL_PROPERTY_START_INDEX,
48 * @brief The color of the shape.
49 * @details Name "mixColor", type Property::VECTOR4.
51 * @note Optional. If not specified, the default is Vector4(0.5, 0.5, 0.5, 1.0).
52 * @note Applies to ALL shapes.
57 * @brief The number of slices as you go around the shape.
58 * @details Name "slices", type Property::INTEGER.
59 * For spheres and conical frustrums, this determines how many divisions there are as you go around the object.
61 * @note Optional. If not specified, the default is 128.
64 * - Shape::CONICAL_FRUSTRUM
67 * @note The range is from 1 to 255.
72 * @brief The number of stacks as you go down the shape.
73 * @details Name "stacks", type Property::INTEGER.
74 * For spheres, 'stacks' determines how many layers there are as you go down the object.
76 * @note Optional. If not specified, the default is 128.
79 * @note The range is from 1 to 255.
84 * @brief The scale of the radius of the top circle of a conical frustrum.
85 * @details Name "scaleTopRadius", type Property::FLOAT.
87 * @note Optional. If not specified, the default is 1.0f.
89 * - Shape::CONICAL_FRUSTRUM
90 * @note Only values greater than or equal to 0.0f are accepted.
95 * @brief The scale of the radius of the bottom circle of a conical frustrum.
96 * @details Name "scaleBottomRadius", type Property::FLOAT.
98 * @note Optional. If not specified, the default is 1.5f.
100 * - Shape::CONICAL_FRUSTRUM
102 * @note Only values greater than or equal to 0.0f are accepted.
107 * @brief The scale of the height of a conic.
108 * @details Name "scaleHeight", type Property::FLOAT.
110 * @note Optional. If not specified, the default is 3.0f.
112 * - Shape::CONICAL_FRUSTRUM
115 * @note Only values greater than or equal to 0.0f are accepted.
120 * @brief The scale of the radius of a cylinder.
121 * @details Name "scaleRadius", type Property::FLOAT.
123 * @note Optional. If not specified, the default is 1.0f.
126 * @note Only values greater than or equal to 0.0f are accepted.
131 * @brief The dimensions of a cuboid. Scales in the same fashion as a 9-patch image.
132 * @details Name "scaleDimensions", type Property::VECTOR3.
134 * @note Optional. If not specified, the default is Vector3::ONE.
137 * - Shape::OCTAHEDRON
138 * - Shape::BEVELLED_CUBE
139 * @note Each vector3 parameter should be greater than or equal to 0.0f.
144 * @brief Determines how bevelled the cuboid should be, based off the smallest dimension.
145 * @details Name "bevelPercentage", type Property::FLOAT.
146 * Bevel percentage ranges from 0.0 to 1.0. It affects the ratio of the outer face widths to the width of the overall cube.
148 * @note Optional. If not specified, the default is 0.0f (no bevel).
150 * - Shape::BEVELLED_CUBE
151 * @note The range is from 0.0f to 1.0f.
156 * @brief Defines how smooth the bevelled edges should be.
157 * @details Name "bevelSmoothness", type Property::FLOAT.
159 * @note Optional. If not specified, the default is 0.0f (sharp edges).
161 * - Shape::BEVELLED_CUBE
162 * @note The range is from 0.0f to 1.0f.
167 * @brief The position, in stage space, of the point light that applies lighting to the model.
168 * @details Name "lightPosition", type Property::VECTOR3.
169 * This is based off the stage's dimensions, so using the width and height of the stage halved will correspond to the center,
170 * and using all zeroes will place the light at the top left corner.
172 * @note Optional. If not specified, the default is an offset outwards from the center of the screen.
173 * @note Applies to ALL shapes.
178 } // namespace Property
184 * @brief The primitive shape to render.
188 SPHERE, ///< A perfectly round geometrical object in three-dimensional space. @SINCE_1_1.45
189 CONICAL_FRUSTRUM, ///< The area bound between two circles, i.e. a cone with the tip removed. @SINCE_1_1.45
190 CONE, ///< Equivalent to a conical frustrum with top radius of zero. @SINCE_1_1.45
191 CYLINDER, ///< Equivalent to a conical frustrum with equal radii for the top and bottom circles. @SINCE_1_1.45
192 CUBE, ///< Equivalent to a bevelled cube with a bevel percentage of zero. @SINCE_1_1.45
193 OCTAHEDRON, ///< Equivalent to a bevelled cube with a bevel percentage of one. @SINCE_1_1.45
194 BEVELLED_CUBE, ///< A cube/cuboid with all edges flattened to some degree. @SINCE_1_1.45
198 } // namespace PrimitiveVisual
200 } // namespace Toolkit
204 #endif // DALI_TOOLKIT_PRIMITIVE_VISUAL_PROPERTIES_H