2721dc122ae84c259bb839a53f0cb4b1520cfcc6
[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) 2017 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       TEXT_COLOR = Dali::Toolkit::TextLabel::Property::TEXT_COLOR,
46       SHADOW_OFFSET = Dali::Toolkit::TextLabel::Property::SHADOW_OFFSET,
47       SHADOW_COLOR = Dali::Toolkit::TextLabel::Property::SHADOW_COLOR,
48       UNDERLINE_ENABLED = Dali::Toolkit::TextLabel::Property::UNDERLINE_ENABLED,
49       UNDERLINE_COLOR = Dali::Toolkit::TextLabel::Property::UNDERLINE_COLOR,
50       UNDERLINE_HEIGHT = Dali::Toolkit::TextLabel::Property::UNDERLINE_HEIGHT,
51       ENABLE_MARKUP = Dali::Toolkit::TextLabel::Property::ENABLE_MARKUP,
52       ENABLE_AUTO_SCROLL = Dali::Toolkit::TextLabel::Property::ENABLE_AUTO_SCROLL,
53       AUTO_SCROLL_SPEED = Dali::Toolkit::TextLabel::Property::AUTO_SCROLL_SPEED,
54       AUTO_SCROLL_LOOP_COUNT = Dali::Toolkit::TextLabel::Property::AUTO_SCROLL_LOOP_COUNT,
55       AUTO_SCROLL_GAP = Dali::Toolkit::TextLabel::Property::AUTO_SCROLL_GAP,
56       LINE_SPACING = Dali::Toolkit::TextLabel::Property::LINE_SPACING,
57       UNDERLINE = Dali::Toolkit::TextLabel::Property::UNDERLINE,
58       SHADOW = Dali::Toolkit::TextLabel::Property::SHADOW,
59       EMBOSS = Dali::Toolkit::TextLabel::Property::EMBOSS,
60       OUTLINE = Dali::Toolkit::TextLabel::Property::OUTLINE,
61
62       /**
63        * @brief The size of font in pixels.
64        *
65        * Conversion from Point size to Pixel size :
66        *  Pixel size = Point size * DPI / 72
67        * @details name "pixelSize", type float
68        */
69       PIXEL_SIZE = OUTLINE + 1,
70
71       /**
72        * @brief Enable or disable the ellipsis.
73        * @details name "ellipsis", type bool
74        */
75       ELLIPSIS = OUTLINE + 2,
76
77       /**
78        * @brief delay starting time of auto scrolling and further loops
79        * @details name "autoScrollLoopDelay", type float.
80        */
81       AUTO_SCROLL_LOOP_DELAY = OUTLINE + 3,
82
83       /**
84        * @brief Auto scrolling stop behaviour.
85        * @details name "autoScrollStopMode", type [Type](@ref Dali::Toolkit::DevelTextLabel::AutoScrollStopMode::Type) (Property::INTEGER) or Property::STRING.
86        *          values FINISH_LOOP, IMMEDIATE, defualt FINISH_LOOP
87        */
88       AUTO_SCROLL_STOP_MODE = OUTLINE + 4,
89
90       /*
91        * @brief The line count of text.
92        * @details name "lineCount", type int
93        * @node this property is read-only.
94        */
95       LINE_COUNT = OUTLINE + 5
96   };
97 } // namespace Property
98
99 /**
100 * @brief The type for TextLabel::Property::AUTO_SCROLL_STOP_MODE
101 */
102 namespace AutoScrollStopMode
103 {
104 /**
105 * @ref Dali::Toolkit::DevelTextLabel::AutoScrollStopMode
106 */
107 enum Type
108 {
109   FINISH_LOOP = 0,  ///< stop animation after current loop finished.
110   IMMEDIATE         ///< stop animation immediatly and reset position.
111 };
112 } // namespace AutoScrollStopMode
113
114 } // namespace DevelText
115
116 } // namespace Toolkit
117
118 } // namespace Dali
119
120 #endif // DALI_TOOLKIT_TEXT_LABEL_DEVEL_H