Copied some TextInput grab/selection handle code
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / text / script.h
1 #ifndef __DALI_TOOLKIT_TEXT_SCRIPT_H__
2 #define __DALI_TOOLKIT_TEXT_SCRIPT_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 // INTERNAL INCLUDES
22 #include <dali-toolkit/public-api/text/text-definitions.h>
23
24 namespace Dali
25 {
26
27 namespace Toolkit
28 {
29
30 namespace Text
31 {
32
33 /**
34  * @brief Retrieves a character's script.
35  *
36  * @param[in] character The character.
37  *
38  * @return The chraracter's script.
39  */
40 Script GetCharacterScript( Character character );
41
42 /**
43  * @brief Whether the character is a white space.
44  *
45  * @param[in] character The character.
46  *
47  * @return @e true if the character is a white space.
48  */
49 bool IsWhiteSpace( Character character );
50
51 /**
52  * @brief Whether the character is a new paragraph character.
53  *
54  * @param[in] character The character.
55  *
56  * @return @e true if the character is a new paragraph character.
57  */
58 bool IsNewParagraph( Character character );
59
60 /**
61  * @brief Whether the character is a zero width non joiner.
62  *
63  * @param[in] character The character.
64  *
65  * @return @e true if the character is a zero width non joiner.
66  */
67 bool IsZeroWidthNonJoiner( Character character );
68
69 /**
70  * @brief Whether the character is a zero width joiner.
71  *
72  * @param[in] character The character.
73  *
74  * @return @e true if the character is a zero width joiner.
75  */
76 bool IsZeroWidthJoiner( Character character );
77
78 /**
79  * @brief Whether the character is a zero width space.
80  *
81  * @param[in] character The character.
82  *
83  * @return @e true if the character is a zero width space.
84  */
85 bool IsZeroWidthSpace( Character character );
86
87 /**
88  * @brief Whether the character is a left to right mark.
89  *
90  * @param[in] character The character.
91  *
92  * @return @e true if the character is a left to right mark.
93  */
94 bool IsLeftToRightMark( Character character );
95
96 /**
97  * @brief Whether the character is a right to left mark.
98  *
99  * @param[in] character The character.
100  *
101  * @return @e true if the character is a right to left mark.
102  */
103 bool IsRightToLeftMark( Character character );
104
105 /**
106  * @brief Whether the character is a thin space.
107  *
108  * @param[in] character The character.
109  *
110  * @return @e true if the character is a thin space.
111  */
112 bool IsThinSpace( Character character );
113
114 } // namespace Text
115
116 } // namespace Toolkit
117
118 } // namespace Dali
119
120 #endif // __DALI_TOOLKIT_TEXT_SCRIPT_H__