Segmentation interface methods added.
[platform/core/uifw/dali-adaptor.git] / text / dali / public-api / text-abstraction / text-abstraction-definitions.h
1 #ifndef __DALI_TEXT_ABSTRACTION_DEFINITIONS_H__
2 #define __DALI_TEXT_ABSTRACTION_DEFINITIONS_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 <stdint.h>
23
24 namespace Dali
25 {
26
27 namespace TextAbstraction
28 {
29
30 typedef uint32_t FontId;          ///< The unique identifier for a font face (generated by FontClient)
31 typedef uint32_t PointSize26Dot6; ///< The point size in 26.6 fractional points
32 typedef uint32_t FaceIndex;       ///< Used with fonts which allow several font faces
33 typedef uint32_t GlyphIndex;      ///< Uniquely identifies a glyph within a particular font
34 typedef uint32_t Character;       ///< A UTF-32 representation of a character
35 typedef uint32_t CharacterIndex;  ///< An index into an array of characters
36 typedef uint32_t Length;          ///< The length of an array
37 typedef uint32_t BidiInfoIndex;   ///< Index to the bidirectional info for a paragraph.
38 typedef char     LineBreakInfo;   ///< Line break info (must break, allow break, no break).
39 typedef char     WordBreakInfo;   ///< Word break info (break, no break).
40
41 /**
42  * @brief Enumerates the possible line break info values.
43  */
44 enum
45 {
46   LINE_MUST_BREAK  = 0u, ///< Text must be broken into a new line.
47   LINE_ALLOW_BREAK = 1u, ///< Is possible to break the text into a new line.
48   LINE_NO_BREAK    = 2u  ///< Text can't be broken into a new line.
49 };
50
51 /**
52  * @brief Enumerates the possible word break info values.
53  */
54 enum
55 {
56   WORD_BREAK    = 0u, ///< Text can be broken into a new word.
57   WORD_NO_BREAK = 1u, ///< Text can't be broken into a new word.
58 };
59
60 } // namespace TextAbstraction
61
62 } // namespace Dali
63
64 #endif // __DALI_TEXT_ABSTRACTION_DEFINITIONS_H__