Remove reserved properties from toolkit
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / controls / text-controls / text-label-devel.h
1 #ifndef DALI_TOOLKIT_TEXT_LABEL_DEVEL_H
2 #define DALI_TOOLKIT_TEXT_LABEL_DEVEL_H
3
4 /*
5  * Copyright (c) 2018 Samsung Electronics Co., Ltd.
6  *
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
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
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.
18  *
19  */
20
21 // INTERNAL INCLUDES
22 #include <dali-toolkit/public-api/controls/text-controls/text-label.h>
23
24 namespace Dali
25 {
26
27 namespace Toolkit
28 {
29
30 namespace DevelTextLabel
31 {
32
33 namespace Property
34 {
35   enum Type
36   {
37     RENDERING_BACKEND = Dali::Toolkit::TextLabel::Property::RENDERING_BACKEND,
38     TEXT = Dali::Toolkit::TextLabel::Property::TEXT,
39     FONT_FAMILY = Dali::Toolkit::TextLabel::Property::FONT_FAMILY,
40     FONT_STYLE = Dali::Toolkit::TextLabel::Property::FONT_STYLE,
41     POINT_SIZE = Dali::Toolkit::TextLabel::Property::POINT_SIZE,
42     MULTI_LINE = Dali::Toolkit::TextLabel::Property::MULTI_LINE,
43     HORIZONTAL_ALIGNMENT = Dali::Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT,
44     VERTICAL_ALIGNMENT = Dali::Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT,
45     ENABLE_MARKUP = Dali::Toolkit::TextLabel::Property::ENABLE_MARKUP,
46     ENABLE_AUTO_SCROLL = Dali::Toolkit::TextLabel::Property::ENABLE_AUTO_SCROLL,
47     AUTO_SCROLL_SPEED = Dali::Toolkit::TextLabel::Property::AUTO_SCROLL_SPEED,
48     AUTO_SCROLL_LOOP_COUNT = Dali::Toolkit::TextLabel::Property::AUTO_SCROLL_LOOP_COUNT,
49     AUTO_SCROLL_GAP = Dali::Toolkit::TextLabel::Property::AUTO_SCROLL_GAP,
50     LINE_SPACING = Dali::Toolkit::TextLabel::Property::LINE_SPACING,
51     UNDERLINE = Dali::Toolkit::TextLabel::Property::UNDERLINE,
52     SHADOW = Dali::Toolkit::TextLabel::Property::SHADOW,
53     EMBOSS = Dali::Toolkit::TextLabel::Property::EMBOSS,
54     OUTLINE = Dali::Toolkit::TextLabel::Property::OUTLINE,
55     PIXEL_SIZE = Dali::Toolkit::TextLabel::Property::PIXEL_SIZE,
56     ELLIPSIS = Dali::Toolkit::TextLabel::Property::ELLIPSIS,
57     AUTO_SCROLL_LOOP_DELAY = Dali::Toolkit::TextLabel::Property::AUTO_SCROLL_LOOP_DELAY,
58     AUTO_SCROLL_STOP_MODE = Dali::Toolkit::TextLabel::Property::AUTO_SCROLL_STOP_MODE,
59     LINE_COUNT = Dali::Toolkit::TextLabel::Property::LINE_COUNT,
60     LINE_WRAP_MODE = Dali::Toolkit::TextLabel::Property::LINE_WRAP_MODE,
61
62     /**
63      * @brief The direction of the layout.
64      * @details Name "textDirection", type [Type](@ref Dali::Toolkit::DevelText::TextDirection::Type) (Property::INTEGER), Read/Write
65      * @note The text direction can be changed only by replacing the text itself.
66      * @see TextDirection::Type for supported values.
67      */
68     TEXT_DIRECTION,
69
70     /**
71      * @brief Alignment of text within area of single line
72      * @details Name "verticalLineAlignment", type [Type](@ref Dali::Toolkit::DevelText::VerticalLineAlignment::Type) (Property::INTEGER), Read/Write
73      * @note The default value is TOP
74      * @see VerticalLineAlignment::Type for supported values
75      */
76     VERTICAL_LINE_ALIGNMENT,
77
78     /**
79      * @brief The default text background parameters.
80      * @details Name "textBackground", type Property::MAP.
81      * @note Use "textBackground" as property name to avoid conflict with Control's "background" property
82      *
83      * The background map contains the following keys:
84      *
85      * | %Property Name       | Type     | Required | Description                                                                                                        |
86      * |----------------------|----------|----------|--------------------------------------------------------------------------------------------------------------------|
87      * | enable               | BOOLEAN  | No       | True to enable the background or false to disable (the default value is false)                                     |
88      * | color                | VECTOR4  | No       | The color of the background (the default value is Color::CYAN)                                                     |
89      */
90     BACKGROUND,
91
92     /**
93      * @brief Ignore spaces after text.
94      * @details Name "ignoreSpacesAfterText", type (Property::BOLEAN), Read/Write
95      * @note The default value is true
96      */
97     IGNORE_SPACES_AFTER_TEXT,
98
99     /**
100      * @brief Modifies the default text alignment to match the direction of the system language.
101      * @details Name "matchSystemLanguageDirection", type (Property::BOLEAN), Read/Write
102      * @note The default value is false
103      *
104      * If MATCH_SYSTEM_LANGUAGE_DIRECTION property set true, the default text alignment to match the direction of the system language.
105      *
106      * ex) Current system language direction LTR.
107      *     TextLabel::New("Hello world \n  ﻡﺮﺤﺑﺍ. ");
108      *     TextLabel::Property::HORIZONTAL_ALIGNMENT, "END"
109      *
110      * | TextLabel::Property::MATCH_SYSTEM_LANGUAGE_DIRECTION                 |
111      * |-----------------------------------------------------------------------
112      * |        false (default)            |                true              |
113      * |-----------------------------------|----------------------------------|
114      * |                     Hello world   |                  Hello world     |
115      * |   ﻡﺮﺤﺑﺍ.                          |                      ﻡﺮﺤﺑﺍ.      |
116      *
117      */
118     MATCH_SYSTEM_LANGUAGE_DIRECTION,
119
120     /**
121      * @brief The text fit parameters.
122      * @details Name "textFit", type Property::MAP.
123      * @note The default value is false
124      *
125      * The textFit map contains the following keys:
126      *
127      * | %Property Name       | Type     | Required | Description                                                                                                        |
128      * |----------------------|----------|----------|--------------------------------------------------------------------------------------------------------------------|
129      * | enable               | BOOLEAN  | No       | True to enable the text fit or false to disable (the default value is false)                                     |
130      * | minSize              | FLOAT    | No       | Minimum Size for text fit (the default value is 10.f)                                                     |
131      * | maxSize              | FLOAT    | No       | Maximum Size for text fit (the default value is 100.f)                                                     |
132      * | stepSize             | FLOAT    | No       | Step Size for font increase (the default value is 1.f)                                                     |
133      * | fontSizeType         | STRING   | No       | The size type of font, You can choose between "pointSize" or "pixelSize". (the default value is "pointSize")                                                     |
134      */
135     TEXT_FIT,
136
137     /**
138      * @brief Sets the height of the line in points.
139      * @details Name "lineSize", type Property::FLOAT.
140      * @note If the font size is larger than the line size, it works with the font size.
141      */
142     MIN_LINE_SIZE,
143
144   };
145
146 } // namespace Property
147
148 } // namespace DevelTextLabel
149
150 } // namespace Toolkit
151
152 } // namespace Dali
153
154 #endif // DALI_TOOLKIT_TEXT_LABEL_DEVEL_H