+/**
+ * @brief Visual Properties
+ */
+namespace Property
+{
+enum Type
+{
+ TYPE = Dali::Toolkit::Visual::Property::TYPE,
+ SHADER = Dali::Toolkit::Visual::Property::SHADER,
+ TRANSFORM = Dali::Toolkit::Visual::Property::TRANSFORM,
+ PREMULTIPLIED_ALPHA = Dali::Toolkit::Visual::Property::PREMULTIPLIED_ALPHA,
+ MIX_COLOR = Dali::Toolkit::Visual::Property::MIX_COLOR,
+ OPACITY = Dali::Toolkit::Visual::Property::OPACITY,
+
+ /**
+ * @brief The fitting mode of the visual
+ * @details Name "fittingMode", type FittingMode (Property::INTEGER) or Property::STRING.
+ * @see DevelVisual::FittingMode
+ * @note The default is defined by the type of visual (if it's suitable to be stretched or not).
+ */
+ VISUAL_FITTING_MODE = OPACITY + 1,
+
+ /**
+ * @brief The radius for the rounded corners of the visual
+ * @details Name "cornerRadius", type Property::FLOAT.
+ * @note Optional.
+ */
+ CORNER_RADIUS = OPACITY + 2,
+};
+
+} // namespace Property
+
+
+/**
+ * @brief The values of this enum determine how the visual should be fit to the view
+ */
+enum FittingMode
+{
+ FIT_KEEP_ASPECT_RATIO, ///< The visual should be scaled to fit, preserving aspect ratio
+ FILL, ///< The visual should be stretched to fill, not preserving aspect ratio
+ OVER_FIT_KEEP_ASPECT_RATIO,///< The visual should be scaled to fit, preserving aspect ratio. The visual will be filled without empty area, and outside is cropped away.
+ CENTER, ///< The visual should keep original size of image. It is not scaled and not strecthed.
+ FIT_HEIGHT, ///< The visual should be scaled to fit, preserving aspect ratio. Height is scaled proportionately to maintain aspect ratio. It will be deprecated.
+ FIT_WIDTH ///< The visual should be scaled to fit, preserving aspect ratio. Width is scaled proportionately to maintain aspect ratio. It will be deprecated.
+};
+
+/**
+ * @brief Devel Visual Transform for the offset or size.
+ */
+namespace Transform
+{
+
+/**
+ * @brief Visual Transform Property.
+ */
+namespace Property
+{
+
+/**
+ * @brief Enumeration for the type of Transform Property.
+ */
+enum Type
+{
+ SIZE_POLICY = Dali::Toolkit::Visual::Transform::Property::SIZE_POLICY,
+
+ /**
+ * @brief Extra size value that will be added to the computed visual size.
+ * @details Name "extraSize", type Vector2.
+ *
+ * @note It is an absolute value.
+ * The property can be used when a user want to set a visual size as a combined value of `relative` and `absolute`.
+ * For example, when a user want to set a visual size to (ControlSize * 2 + 10),
+ * The transform map will be,
+ * transformMap.Add( Transform::Property::SIZE, Vector2( 2.0f, 2.0f ) )
+ * .Add( Transform::Property::SIZE_POLICY, Vector2( Transform::Policy::Relative, Transform::Policy::Relative ) )
+ * .Add( Transform::Property::EXTRA_SIZE, Vector2( 10.0f, 10.0f ) );
+ */
+ EXTRA_SIZE = SIZE_POLICY + 1,
+};
+
+} // namespace Property
+
+} // namespace Transform
+