1 #ifndef DALI_TOOLKIT_DEVEL_API_VISUALS_VISUAL_PROPERTIES_DEVEL_H
2 #define DALI_TOOLKIT_DEVEL_API_VISUALS_VISUAL_PROPERTIES_DEVEL_H
5 * Copyright (c) 2017 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/visuals/visual-properties.h>
34 * @brief All the visual types.
38 BORDER = Dali::Toolkit::Visual::BORDER,
39 COLOR = Dali::Toolkit::Visual::COLOR,
40 GRADIENT = Dali::Toolkit::Visual::GRADIENT,
41 IMAGE = Dali::Toolkit::Visual::IMAGE,
42 MESH = Dali::Toolkit::Visual::MESH,
43 PRIMITIVE = Dali::Toolkit::Visual::PRIMITIVE,
44 WIREFRAME = Dali::Toolkit::Visual::WIREFRAME,
46 TEXT = WIREFRAME + 1, ///< Renders text.
54 TYPE = Dali::Toolkit::Visual::Property::TYPE,
55 SHADER = Dali::Toolkit::Visual::Property::SHADER,
58 * @brief The transform used by the visual.
59 * @details Name "transform", type Property::Map.
62 * @see DevelVisual::Transform::Property
64 TRANSFORM = SHADER + 1,
67 * @brief Enables/disables premultiplied alpha.
68 * The premultiplied alpha is false by default unless this behaviour is modified
69 * by the derived Visual type.
71 * @details Name "premultipliedAlpha", type Property::Boolean.
75 PREMULTIPLIED_ALPHA = SHADER + 2,
78 * @brief Mix color is a blend color for any visual.
79 * @details Name "mixColor", type Property::VECTOR3 or Property::VECTOR4
83 MIX_COLOR = SHADER + 3,
86 * @brief Opacity is the alpha component of the mixColor, above.
87 * @details Name "opacity", type Property::FLOAT
94 } // namespace Property
100 * @brief Policies used by the transform for the offset or size.
107 RELATIVE = 0, ///< Relative to the control (percentage [0.0f to 1.0f] of the control).
108 ABSOLUTE = 1 ///< Absolute value in world units.
111 } // namespace Policy
119 * @brief Offset of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units).
120 * @details Name "offset", type Property::VECTOR2
126 * @brief Size of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units).
127 * @details Name "size", type Property::VECTOR2
133 * @brief The origin of the visual within its control area.
134 * @details Name "origin", type Align::Type (Property::INTEGER) or Property::STRING.
135 * @see Toolkit::Align
140 * @brief The anchor-point of the visual
141 * @details Name "anchorPoint", type Align::Type (Property::INTEGER) or Property::STRING.
142 * @see Toolkit::Align
147 * @brief Whether the x or y OFFSET values are relative (percentage [0.0f to 1.0f] of the control) or absolute (in world units).
148 * @details Name "offsetPolicy", type Vector2 or Property::ARRAY of Property::STRING.
149 * If Property::ARRAY then 2 strings expected for the x and y.
153 * control.SetProperty( ..., // Some visual based property
154 * Property::Map().Add( ... ) // Properties to set up visual
155 * .Add( DevelVisual::Property::TRANSFORM,
156 * Property::Array().Add( DevelVisual::Transform::Property::OFFSET_POLICY, Vector2( Policy::ABSOLUTE, Policy::RELATIVE ) ) )
157 * .Add( DevelVisual::Transform::Property::OFFSET, Vector2( 10, 1.0f ) ) );
166 * "offsetPolicy" : [ "ABSOLUTE", "RELATIVE" ],
167 * "offset" : [ 10, 1.0 ]
174 * @note By default, both the x and the y offset is RELATIVE.
179 * @brief Whether the width or height SIZE values are relative (percentage [0.0f to 1.0f] of the control) or absolute (in world units).
180 * @details Name "sizePolicy", type Vector2 or Property::ARRAY of Property::STRING.
181 * If Property::ARRAY then 2 strings expected for the width and height.
184 * @see OFFSET_POLICY for example
185 * @note By default, both the width and the height is RELATIVE to the control's size.
190 } // namespace Property
192 } // namespace Transform
194 } // namespace DevelVisual
196 } // namespace Toolkit
200 #endif // DALI_TOOLKIT_DEVEL_API_VISUALS_VISUAL_PROPERTIES_DEVEL_H