1 /*
2  * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef C_INCLUDE_DRAWING_TEXT_DECLARATION_H
17 #define C_INCLUDE_DRAWING_TEXT_DECLARATION_H
18 
19 /**
20  * @addtogroup Drawing
21  * @{
22  *
23  * @brief Provides the 2D drawing capability.
24  *
25  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
26  *
27  * @since 8
28  * @version 1.0
29  */
30 
31 /**
32  * @file drawing_text_declaration.h
33  *
34  * @brief Declares the data structure related to text in 2D drawing.
35  *
36  * @since 8
37  * @version 1.0
38  */
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 /**
45  * @brief Defines an <b>OH_Drawing_FontCollection</b>, which is used to load fonts.
46  *
47  * @since 8
48  * @version 1.0
49  */
50 typedef struct OH_Drawing_FontCollection OH_Drawing_FontCollection;
51 
52 /**
53  * @brief Defines an <b>OH_Drawing_Typography</b>, which is used to manage the typography layout and display.
54  *
55  * @since 8
56  * @version 1.0
57  */
58 typedef struct OH_Drawing_Typography OH_Drawing_Typography;
59 
60 /**
61  * @brief Defines an <b>OH_Drawing_TextStyle</b>, which is used to manage text colors and decorations.
62  *
63  * @since 8
64  * @version 1.0
65  */
66 typedef struct OH_Drawing_TextStyle OH_Drawing_TextStyle;
67 
68 /**
69  * @brief Defines an <b>OH_Drawing_TypographyStyle</b>, which is used to manage the typography style,
70  * such as the text direction.
71  *
72  * @since 8
73  * @version 1.0
74  */
75 typedef struct OH_Drawing_TypographyStyle OH_Drawing_TypographyStyle;
76 
77 /**
78  * @brief Defines an <b>OH_Drawing_TypographyCreate</b>, which is used to create an <b>OH_Drawing_Typography</b> object.
79  *
80  * @since 8
81  * @version 1.0
82  */
83 typedef struct OH_Drawing_TypographyCreate OH_Drawing_TypographyCreate;
84 
85 /**
86  * @brief Defines an <b>OH_Drawing_TextBox</b>, which is used to create an <b>OH_Drawing_TextBox</b> object.
87  *
88  * @since 11
89  * @version 1.0
90  */
91 typedef struct OH_Drawing_TextBox OH_Drawing_TextBox;
92 
93 /**
94  * @brief Defines an <b>OH_Drawing_PositionAndAffinity</b>,
95  * which is used to create an <b>OH_Drawing_PositionAndAffinity</b> object.
96  * @since 11
97  * @version 1.0
98  */
99 typedef struct OH_Drawing_PositionAndAffinity OH_Drawing_PositionAndAffinity;
100 
101 /**
102  * @brief Defines an <b>OH_Drawing_Range</b>, which is used to create an <b>OH_Drawing_Range</b> object.
103  *
104  * @since 11
105  * @version 1.0
106  */
107 typedef struct OH_Drawing_Range OH_Drawing_Range;
108 
109 /**
110  * @brief Defines an <b>OH_Drawing_FontParser</b>, which is used to parse system font files.
111  *
112  * @since 12
113  * @version 1.0
114  */
115 typedef struct OH_Drawing_FontParser OH_Drawing_FontParser;
116 
117 /**
118  * @brief Defines an <b>OH_Drawing_TextShadow</b>, which is used to create an <b>OH_Drawing_TextShadow</b> object.
119  *
120  * @since 12
121  * @version 1.0
122  */
123 typedef struct OH_Drawing_TextShadow OH_Drawing_TextShadow;
124 
125 #ifdef __cplusplus
126 }
127 #endif
128 /** @} */
129 #endif