X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Fvisuals%2Fvisual-properties-devel.h;h=709b12ae8885ff7a0e15d1fa0412b97eb3bbad30;hp=18362b6b092221cad0d784fb9a09cfb22995c04b;hb=83dd0b674417c4b93d920a9c56c8839d6bef6cc6;hpb=c8dddd14f39801fda39757d3819e191f4a4e8154 diff --git a/dali-toolkit/devel-api/visuals/visual-properties-devel.h b/dali-toolkit/devel-api/visuals/visual-properties-devel.h index 18362b6..709b12a 100644 --- a/dali-toolkit/devel-api/visuals/visual-properties-devel.h +++ b/dali-toolkit/devel-api/visuals/visual-properties-devel.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_DEVEL_API_VISUALS_VISUAL_PROPERTIES_DEVEL_H /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2018 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,160 +42,49 @@ enum Type MESH = Dali::Toolkit::Visual::MESH, PRIMITIVE = Dali::Toolkit::Visual::PRIMITIVE, WIREFRAME = Dali::Toolkit::Visual::WIREFRAME, + TEXT = Dali::Toolkit::Visual::TEXT, + N_PATCH = Dali::Toolkit::Visual::N_PATCH, + SVG = Dali::Toolkit::Visual::SVG, + ANIMATED_IMAGE = Dali::Toolkit::Visual::ANIMATED_IMAGE, - TEXT = WIREFRAME + 1, ///< Renders text. - N_PATCH = WIREFRAME + 2, ///< Renders an n-patch image. - SVG = WIREFRAME + 3, ///< Renders an SVG image. - ANIMATED_IMAGE = WIREFRAME + 4 ///< Renders a animated image. + ANIMATED_GRADIENT = ANIMATED_IMAGE + 1, ///< Renders an animated gradient. + ANIMATED_VECTOR_IMAGE = ANIMATED_IMAGE + 2, ///< Renders an animated vector image. }; +/** + * @brief Visual Properties + */ namespace Property { - enum Type { - TYPE = Dali::Toolkit::Visual::Property::TYPE, - SHADER = Dali::Toolkit::Visual::Property::SHADER, - - /** - * @brief The transform used by the visual. - * @details Name "transform", type Property::Map. - * - * @note Optional. - * @see DevelVisual::Transform::Property - */ - TRANSFORM = SHADER + 1, - - /** - * @brief Enables/disables premultiplied alpha. - * The premultiplied alpha is false by default unless this behaviour is modified - * by the derived Visual type. - * - * @details Name "premultipliedAlpha", type Property::Boolean. - * - * @note Optional. - */ - PREMULTIPLIED_ALPHA = SHADER + 2, - - /** - * @brief Mix color is a blend color for any visual. - * @details Name "mixColor", type Property::VECTOR3 or Property::VECTOR4 - * - * @note Optional - */ - MIX_COLOR = SHADER + 3, + 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 Opacity is the alpha component of the mixColor, above. - * @details Name "opacity", type Property::FLOAT - * - * @note Optional + * @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). */ - OPACITY = SHADER + 4 + VISUAL_FITTING_MODE = OPACITY + 1, }; } // namespace Property -namespace Transform -{ - /** - * @brief Policies used by the transform for the offset or size. + * @brief The values of this enum determine how the visual should be fit to the view */ -namespace Policy -{ - -enum Type +enum FittingMode { - RELATIVE = 0, ///< Relative to the control (percentage [0.0f to 1.0f] of the control). - ABSOLUTE = 1 ///< Absolute value in world units. + 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 }; -} // namespace Policy - -namespace Property -{ - -enum Type -{ - /** - * @brief Offset of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units). - * @details Name "offset", type Property::VECTOR2 - * @see OFFSET_POLICY - */ - OFFSET, - - /** - * @brief Size of the visual, which can be either relative (percentage [0.0f to 1.0f] of the parent) or absolute (in world units). - * @details Name "size", type Property::VECTOR2 - * @see SIZE_POLICY - */ - SIZE, - - /** - * @brief The origin of the visual within its control area. - * @details Name "origin", type Align::Type (Property::INTEGER) or Property::STRING. - * @see Toolkit::Align - * @note The default is Align::TOP_BEGIN. - */ - ORIGIN, - - /** - * @brief The anchor-point of the visual - * @details Name "anchorPoint", type Align::Type (Property::INTEGER) or Property::STRING. - * @see Toolkit::Align - * @note The default is Align::TOP_BEGIN. - */ - ANCHOR_POINT, - - /** - * @brief Whether the x or y OFFSET values are relative (percentage [0.0f to 1.0f] of the control) or absolute (in world units). - * @details Name "offsetPolicy", type Vector2 or Property::ARRAY of Property::STRING. - * If Property::ARRAY then 2 strings expected for the x and y. - * - * C++: - * @code - * control.SetProperty( ..., // Some visual based property - * Property::Map().Add( ... ) // Properties to set up visual - * .Add( DevelVisual::Property::TRANSFORM, - * Property::Array().Add( DevelVisual::Transform::Property::OFFSET_POLICY, Vector2( Policy::ABSOLUTE, Policy::RELATIVE ) ) ) - * .Add( DevelVisual::Transform::Property::OFFSET, Vector2( 10, 1.0f ) ) ); - * @endcode - * - * JSON: - * @code - * { - * ... - * "transition": - * { - * "offsetPolicy" : [ "ABSOLUTE", "RELATIVE" ], - * "offset" : [ 10, 1.0 ] - * } - * ... - * } - * - * @endcode - * @see Policy::Type - * @note By default, both the x and the y offset is RELATIVE. - */ - OFFSET_POLICY, - - /** - * @brief Whether the width or height SIZE values are relative (percentage [0.0f to 1.0f] of the control) or absolute (in world units). - * @details Name "sizePolicy", type Vector2 or Property::ARRAY of Property::STRING. - * If Property::ARRAY then 2 strings expected for the width and height. - * - * @see Policy::Type - * @see OFFSET_POLICY for example - * @note By default, both the width and the height is RELATIVE to the control's size. - */ - SIZE_POLICY, -}; - -} // namespace Property - -} // namespace Transform - } // namespace DevelVisual } // namespace Toolkit