Remove Geometry::QUAD() usage in Toolkit
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / input-style.h
1 #ifndef __DALI_TOOLKIT_TEXT_INPUT_STYLE_H__
2 #define __DALI_TOOLKIT_TEXT_INPUT_STYLE_H__
3
4 /*
5  * Copyright (c) 2015 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 // EXTERNAL INCLUDES
22 #include <dali/public-api/math/vector4.h>
23
24 // INTERNAL INCLUDES
25 #include <dali-toolkit/internal/text/text-definitions.h>
26
27 namespace Dali
28 {
29
30 namespace Toolkit
31 {
32
33 namespace Text
34 {
35
36 /**
37  * The input text's style.
38  */
39 struct InputStyle
40 {
41   InputStyle()
42   : textColor( Color::BLACK ),
43     fontStyle(),
44     familyName(),
45     weight( TextAbstraction::FontWeight::NORMAL ),
46     width( TextAbstraction::FontWidth::NORMAL ),
47     slant( TextAbstraction::FontSlant::NORMAL ),
48     size( 0.f ),
49     lineSpacing( 0.f ),
50     underlineProperties(),
51     shadowProperties(),
52     embossProperties(),
53     outlineProperties(),
54     isDefaultColor( true ),
55     familyDefined( false ),
56     weightDefined( false ),
57     widthDefined( false ),
58     slantDefined( false ),
59     sizeDefined( false ),
60     lineSpacingDefined( false )
61   {}
62
63   ~InputStyle()
64   {};
65
66   Vector4     textColor;           ///< The text's color.
67   std::string fontStyle;           ///< The font's style string.
68   std::string familyName;          ///< The font's family name.
69   FontWeight  weight;              ///< The font's weight.
70   FontWidth   width;               ///< The font's width.
71   FontSlant   slant;               ///< The font's slant.
72   float       size;                ///< The font's size.
73
74   float       lineSpacing;         ///< The line's spacing.
75   std::string underlineProperties; ///< The underline properties string.
76   std::string shadowProperties;    ///< The shadow properties string.
77   std::string embossProperties;    ///< The emboss properties string.
78   std::string outlineProperties;   ///< The outline properties string.
79
80   bool        isDefaultColor     : 1; ///< Whether the text's color is the default.
81   bool        familyDefined      : 1; ///< Whether the font's family is defined.
82   bool        weightDefined      : 1; ///< Whether the font's weight is defined.
83   bool        widthDefined       : 1; ///< Whether the font's width is defined.
84   bool        slantDefined       : 1; ///< Whether the font's slant is defined.
85   bool        sizeDefined        : 1; ///< Whether the font's size is defined.
86
87   bool        lineSpacingDefined : 1; ///< Whether the line spacing is defined.
88 };
89
90 } // namespace Text
91
92 } // namespace Toolkit
93
94 } // namespace Dali
95
96 #endif // __DALI_TOOLKIT_TEXT_INPUT_STYLE_H__