X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Fcontrols%2Ftext-controls%2Ftext-label.h;h=829d086868ba01e9e9c8ee8c44e410b1d46b60e4;hb=45ecb0b3535fc8588ae5d95d2a846c90422c3a4d;hp=449d23bb1bef0f2efe131e94f20ae8e2d90d7ac1;hpb=306d2f61a1b64179e801fa8a0bb2bd7b4e9dd682;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/public-api/controls/text-controls/text-label.h b/dali-toolkit/public-api/controls/text-controls/text-label.h index 449d23b..829d086 100644 --- a/dali-toolkit/public-api/controls/text-controls/text-label.h +++ b/dali-toolkit/public-api/controls/text-controls/text-label.h @@ -20,7 +20,6 @@ // INTERNAL INCLUDES #include -#include namespace Dali { @@ -32,36 +31,257 @@ namespace Internal DALI_INTERNAL { class TextLabel; } +/** + * @addtogroup dali_toolkit_controls_text_controls + * @{ + */ /** * @brief A control which renders a short text string. + * + * Text labels are lightweight, non-editable and do not respond to user input. + * + * @section TextLabelProperties Properties + * |%Property enum |String name |Type |Writable|Animatable| + * |----------------------------------|---------------------|----------------|--------|----------| + * | Property::RENDERING_BACKEND | renderingBackend | INTEGER | O | X | + * | Property::TEXT | text | STRING | O | X | + * | Property::FONT_FAMILY | fontFamily | STRING | O | X | + * | Property::FONT_STYLE | fontStyle | STRING or MAP | O | X | + * | Property::POINT_SIZE | pointSize | FLOAT | O | X | + * | Property::MULTI_LINE | multiLine | BOOLEAN | O | X | + * | Property::HORIZONTAL_ALIGNMENT | horizontalAlignment | STRING | O | X | + * | Property::VERTICAL_ALIGNMENT | verticalAlignment | STRING | O | X | + * | Property::TEXT_COLOR | textColor | VECTOR4 | O | X | + * | Property::ENABLE_MARKUP | enableMarkup | BOOLEAN | O | X | + * | Property::ENABLE_AUTO_SCROLL | enableAutoScroll | BOOLEAN | O | X | + * | Property::AUTO_SCROLL_SPEED | autoScrollSpeed | INTEGER | O | X | + * | Property::AUTO_SCROLL_LOOP_COUNT | autoScrollLoopCount | INTEGER | O | X | + * | Property::AUTO_SCROLL_GAP | autoScrollGap | INTEGER | O | X | + * | Property::SHADOW | shadow | STRING or MAP | O | X | + * | Property::UNDERLINE | underline | STRING or MAP | O | X | + * + * @SINCE_1_0.0 */ class DALI_IMPORT_API TextLabel : public Control { public: - // Property indices - static const Property::Index PROPERTY_TEXT; ///< name "text", type STRING - static const Property::Index PROPERTY_MULTI_LINE; ///< name "multi-line", type BOOLEAN + /** + * @brief The start and end property ranges for this control. + * @SINCE_1_0.0 + */ + enum PropertyRange + { + PROPERTY_START_INDEX = Control::CONTROL_PROPERTY_END_INDEX + 1, ///< @SINCE_1_0.0 + PROPERTY_END_INDEX = PROPERTY_START_INDEX + 1000 ///< Reserve property indices @SINCE_1_0.0 + }; + + /** + * @brief An enumeration of properties belonging to the TextLabel class. + * @SINCE_1_0.0 + */ + struct Property + { + enum + { + /** + * @brief The type of rendering e.g. bitmap-based + * @details name "renderingBackend", type INT, default RENDERING_SHARED_ATLAS + * @SINCE_1_0.0 + */ + RENDERING_BACKEND = PROPERTY_START_INDEX, + + /** + * @brief The text to display in UTF-8 format, + * @details name "text", type STRING + * @SINCE_1_0.0 + */ + TEXT, + + /** + * @brief The requested font family to use, + * @details name "fontFamily", type STRING + * @SINCE_1_0.0 + */ + FONT_FAMILY, + + /** + * @brief The requested font style to use, + * @details name "fontStyle", type STRING or MAP + * @SINCE_1_2.13 + */ + FONT_STYLE, + + /** + * @brief The size of font in points + * @details name "pointSize", type FLOAT + * @SINCE_1_0.0 + */ + POINT_SIZE, + + /** + * @brief The single-line or multi-line layout option + * @details name "multiLine", type BOOLEAN, default false + * @SINCE_1_0.0 + */ + MULTI_LINE, + + /** + * @brief The line horizontal alignment + * @details name "horizontalAlignment", type STRING, values "BEGIN", "CENTER", "END", default BEGIN + * @SINCE_1_0.0 + */ + HORIZONTAL_ALIGNMENT, + + /** + * @brief The line vertical alignment + * @details name "verticalAlignment", type STRING, values "TOP", "CENTER", "BOTTOM" @SINCE_1_0.0, default TOP + * @SINCE_1_0.0 + */ + VERTICAL_ALIGNMENT, + + /** + * @brief The color of the text + * @details name "textColor", type VECTOR4 + * @SINCE_1_0.0 + */ + TEXT_COLOR, + + /** + * @brief The drop shadow offset 0 indicates no shadow + * @details name "shadowOffset", type VECTOR2 + * @DEPRECATED_1_1.37 Use SHADOW instead + */ + SHADOW_OFFSET, + + /** + * @brief The color of a drop shadow + * @details name "shadowColor", type VECTOR4 + * @DEPRECATED_1_1.37 Use SHADOW instead + */ + SHADOW_COLOR, + + /** + * @brief The underline enabled flag + * @details name "underlineEnabled", type BOOLEAN + * @DEPRECATED_1_1.37 Use UNDERLINE instead + */ + UNDERLINE_ENABLED, + + /** + * @brief The color of the underline + * @details name "underlineColor", type VECTOR4 + * @DEPRECATED_1_1.37 Use UNDERLINE instead + */ + UNDERLINE_COLOR, - // Property names - static const std::string TEXT_PROPERTY_NAME; ///< Property, name "text", type STRING - static const std::string MULTI_LINE_PROPERTY_NAME; ///< Property, name "multi-line", type BOOLEAN + /** + * @brief Overrides the underline height from font metrics + * @details name "underlineHeight", type FLOAT + * @DEPRECATED_1_1.37 Use UNDERLINE instead + */ + UNDERLINE_HEIGHT, + + /** + * @brief Whether the mark-up processing is enabled + * @details name "enableMarkup", type BOOLEAN + * @SINCE_1_0.0 + */ + ENABLE_MARKUP, + + /** + * @brief Start or stop auto scrolling, + * @details name "enableAutoScroll", type BOOLEAN, default is false + * @SINCE_1_1.35 + */ + ENABLE_AUTO_SCROLL, + + /** + * @brief Sets the speed of scrolling in pixels per second, + * @details name "autoScrollSpeed", type INT, default in style sheet + * @SINCE_1_1.35 + */ + AUTO_SCROLL_SPEED, + + /** + * @brief Number of complete loops when scrolling enabled + * @details name "autoScrollLoopCount", type INT, default in style sheet + * @SINCE_1_1.35 + */ + AUTO_SCROLL_LOOP_COUNT, + + /** + * @brief Gap before before scrolling wraps + * @details name "autoScrollGap", type INT, default in style sheet but can be overridden to prevent same text being show at start and end. + * @SINCE_1_1.35 + */ + AUTO_SCROLL_GAP, + + /** + * @brief The default extra space between lines in points. + * @details name "lineSpacing", type FLOAT. + * @SINCE_1_1.37 + */ + LINE_SPACING, + + /** + * @brief The default underline parameters. + * @details name "underline", type MAP. + * @SINCE_1_2.13 + */ + UNDERLINE, + + /** + * @brief The default shadow parameters. + * @details name "shadow", type MAP. + * @SINCE_1_2.13 + */ + SHADOW, + + /** + * @brief The default emboss parameters. + * @details name "emboss", type MAP. + * @SINCE_1_2.13 + */ + EMBOSS, + + /** + * @brief The default outline parameters. + * @details name "outline", type MAP. + * @SINCE_1_2.13 + */ + OUTLINE, + }; + }; /** - * Create the TextLabel control. + * @brief Create the TextLabel control. + * + * @SINCE_1_0.0 * @return A handle to the TextLabel control. */ static TextLabel New(); /** + * @brief Create the TextLabel control. + * + * @SINCE_1_0.0 + * @param[in] text The text to display. + * @return A handle to the TextLabel control. + */ + static TextLabel New( const std::string& text ); + + /** * @brief Creates an empty handle. + * @SINCE_1_0.0 */ TextLabel(); /** * @brief Copy constructor. * + * @SINCE_1_0.0 * @param[in] handle The handle to copy from. */ TextLabel( const TextLabel& handle ); @@ -69,6 +289,7 @@ public: /** * @brief Assignment operator. * + * @SINCE_1_0.0 * @param[in] handle The handle to copy from. * @return A reference to this. */ @@ -78,6 +299,7 @@ public: * @brief Destructor * * This is non-virtual since derived Handle types must not contain data or virtual methods. + * @SINCE_1_0.0 */ ~TextLabel(); @@ -87,23 +309,19 @@ public: * If the BaseHandle points is a TextLabel the downcast returns a valid handle. * If not the returned handle is left empty. * + * @SINCE_1_0.0 * @param[in] handle Handle to an object * @return handle to a TextLabel or an empty handle */ static TextLabel DownCast( BaseHandle handle ); - /** - * @brief Set the rendering back-end used by the TextLabel. - * - * @param[in] renderer The text renderer to use. - */ - void SetRenderer( Text::RendererPtr renderer ); - public: // Not intended for application developers + /// @cond internal /** * @brief Creates a handle using the Toolkit::Internal implementation. * + * @SINCE_1_0.0 * @param[in] implementation The Control implementation. */ DALI_INTERNAL TextLabel( Internal::TextLabel& implementation ); @@ -111,11 +329,16 @@ public: // Not intended for application developers /** * @brief Allows the creation of this Control from an Internal::CustomActor pointer. * + * @SINCE_1_0.0 * @param[in] internal A pointer to the internal CustomActor. */ explicit DALI_INTERNAL TextLabel( Dali::Internal::CustomActor* internal ); + /// @endcond }; +/** + * @} + */ } // namespace Toolkit } // namespace Dali