Resolve incorrect position for Ellipsis when mixed LTR & RTL languages and set layout...
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / character-spacing-character-run.h
1 #ifndef DALI_TOOLKIT_TEXT_CHARACTER_SPACING_CHARACTER_RUN_H
2 #define DALI_TOOLKIT_TEXT_CHARACTER_SPACING_CHARACTER_RUN_H
3
4 /*
5  * Copyright (c) 2022 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/internal/text/abstract-style-character-run.h>
23
24 namespace Dali
25 {
26 namespace Toolkit
27 {
28 namespace Text
29 {
30 /**
31  * @brief Run of character-spacing characters with same properties.
32  */
33 struct CharacterSpacingCharacterRun : public AbstractStyleCharacterRun
34 {
35   /**
36    * @brief Constructor.
37    * Default constructor to set the default values
38    */
39   CharacterSpacingCharacterRun()
40   : AbstractStyleCharacterRun(),
41     value{0.f} //The default value is 0.f which does nothing.
42   {
43   }
44
45   float value; /// The spaces between characters in Pixels. A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).
46
47   //TODO: Add unit property to choose between Pixel or Scale (%)
48 };
49
50 } // namespace Text
51
52 } // namespace Toolkit
53
54 // Allow ColorRun to be treated as a POD type
55 template<>
56 struct TypeTraits<Dali::Toolkit::Text::CharacterSpacingCharacterRun> : public Dali::BasicTypes<Dali::Toolkit::Text::CharacterSpacingCharacterRun>
57 {
58   enum
59   {
60     IS_TRIVIAL_TYPE = true
61   };
62 };
63
64 } // namespace Dali
65
66 #endif // DALI_TOOLKIT_TEXT_CHARACTER_SPACING_CHARACTER_RUN_H