f93ffd7a1a42892dcc3473b09bccfcaf703ead39
[platform/core/uifw/dali-toolkit.git] / text-definitions.h
1 #ifndef __DALI_TEXT_ABSTRACTION_TEXT_TYPE_DEFINITIONS_H__
2 #define __DALI_TEXT_ABSTRACTION_TEXT_TYPE_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 <dali/devel-api/text-abstraction/text-abstraction-definitions.h>
23 #include <dali/devel-api/text-abstraction/font-metrics.h>
24 #include <dali/devel-api/text-abstraction/glyph-info.h>
25 #include <dali/devel-api/text-abstraction/script.h>
26
27 namespace Dali
28 {
29
30 namespace Toolkit
31 {
32
33 namespace Text
34 {
35
36 typedef TextAbstraction::FontId             FontId;             ///< The unique identifier for a font face (generated by FontClient).
37 typedef TextAbstraction::FontMetrics        FontMetrics;        ///< The metrics for a Font expressed in 26.6 fractional pixel format.
38 typedef TextAbstraction::PointSize26Dot6    PointSize26Dot6;    ///< The point size in 26.6 fractional points.
39 typedef TextAbstraction::FaceIndex          FaceIndex;          ///< Used with fonts which allow several font faces.
40 typedef TextAbstraction::GlyphIndex         GlyphIndex;         ///< Uniquely identifies a glyph within a particular font.
41 typedef TextAbstraction::Character          Character;          ///< A UTF-32 representation of a character.
42 typedef TextAbstraction::GlyphInfo          GlyphInfo;          ///< The information describing a glyph (font ID, index, metrics).
43 typedef TextAbstraction::CharacterIndex     CharacterIndex;     ///< An index into an array of characters.
44 typedef TextAbstraction::Length             Length;             ///< The length of an array.
45 typedef TextAbstraction::BidiInfoIndex      BidiInfoIndex;      ///< Index to the bidirectional info for a paragraph.
46 typedef TextAbstraction::Script             Script;             ///< The character's script.
47 typedef TextAbstraction::LineBreakInfo      LineBreakInfo;      ///< Line break info (must break, allow break, no break). Possible values are: @e LINE_MUST_BREAK, @e LINE_ALLOW_BREAK and @e LINE_NO_BREAK (in the TextAbstraction namespace).
48 typedef TextAbstraction::WordBreakInfo      WordBreakInfo;      ///< Word break info (break, no break). Possible values are: @e WORD_BREAK and @e WORD_NO_BREAK (in the TextAbstraction namespace).
49 typedef TextAbstraction::CharacterDirection CharacterDirection; ///< The character's direction: @e false is left to right, @e true is right to left.
50
51 typedef uint32_t                         GlyphIndex;            ///< An index into an array of glyphs.
52 typedef uint32_t                         ScriptRunIndex;        ///< An index into an array of script runs.
53 typedef uint32_t                         FontRunIndex;          ///< An index into an array of font runs.
54 typedef uint32_t                         BidirectionalRunIndex; ///< An index into an array of font runs.
55 typedef uint32_t                         LineIndex;             ///< An index into an array of lines.
56
57 } // namespace Text
58
59 } // namespace Toolkit
60
61 } // namespace Dali
62
63 #endif // __DALI_TEXT_ABSTRACTION_TEXT_TYPE_DEFINITIONS_H__