• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2024 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_TYPOGRAPHY_H
17 #define C_INCLUDE_DRAWING_TEXT_TYPOGRAPHY_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_typography.h
33  *
34  * @brief Declares functions related to <b>typography</b> in the drawing module.
35  *
36  * @since 8
37  * @version 1.0
38  */
39 
40 #ifdef __cplusplus
41 #include <cstddef>
42 #include <cstdint>
43 #else
44 #include <stddef.h>
45 #include <stdint.h>
46 #endif
47 #include "drawing_canvas.h"
48 #include "drawing_color.h"
49 #include "drawing_font.h"
50 #include "drawing_text_declaration.h"
51 #include "drawing_types.h"
52 
53 #ifdef __cplusplus
54 extern "C" {
55 #endif
56 
57 /**
58  * @brief Enumerates text directions.
59  */
60 enum OH_Drawing_TextDirection {
61     /** Right to left (RTL) */
62     TEXT_DIRECTION_RTL,
63     /** Left to right (LTR) */
64     TEXT_DIRECTION_LTR,
65 };
66 
67 /**
68  * @brief Enumerates text alignment modes.
69  */
70 enum OH_Drawing_TextAlign {
71     /** Left-aligned */
72     TEXT_ALIGN_LEFT,
73     /** Right-aligned */
74     TEXT_ALIGN_RIGHT,
75     /** Center-aligned */
76     TEXT_ALIGN_CENTER,
77     /**
78      * Justified, which means that each line (except the last line) is stretched so that every line has equal width,
79      * and the left and right margins are straight.
80      */
81     TEXT_ALIGN_JUSTIFY,
82     /**
83      * <b>TEXT_ALIGN_START</b> achieves the same effect as <b>TEXT_ALIGN_LEFT</b>
84      * when <b>OH_Drawing_TextDirection</b> is <b>TEXT_DIRECTION_LTR</b>;
85      * it achieves the same effect as <b>TEXT_ALIGN_RIGHT</b>
86      * when <b>OH_Drawing_TextDirection</b> is <b>TEXT_DIRECTION_RTL</b>.
87      */
88     TEXT_ALIGN_START,
89     /**
90      * <b>TEXT_ALIGN_END</b> achieves the same effect as <b>TEXT_ALIGN_RIGHT</b>
91      * when <b>OH_Drawing_TextDirection</b> is <b>TEXT_DIRECTION_LTR</b>;
92      * it achieves the same effect as <b>TEXT_ALIGN_LEFT</b>
93      * when <b>OH_Drawing_TextDirection</b> is <b>TEXT_DIRECTION_RTL</b>.
94      */
95     TEXT_ALIGN_END,
96 };
97 
98 /**
99  * @brief Enumerates font weights.
100  */
101 enum OH_Drawing_FontWeight {
102     /** Thin */
103     FONT_WEIGHT_100,
104     /** Extra-light */
105     FONT_WEIGHT_200,
106     /** Light */
107     FONT_WEIGHT_300,
108     /** Normal/Regular */
109     FONT_WEIGHT_400,
110     /** Medium*/
111     FONT_WEIGHT_500,
112     /** Semi-bold */
113     FONT_WEIGHT_600,
114     /** Bold */
115     FONT_WEIGHT_700,
116     /** Extra-bold */
117     FONT_WEIGHT_800,
118     /** Black */
119     FONT_WEIGHT_900,
120 };
121 
122 /**
123  * @brief Enumerates text baselines.
124  */
125 enum OH_Drawing_TextBaseline {
126     /** Alphabetic, where the letters in alphabets like English sit on. */
127     TEXT_BASELINE_ALPHABETIC,
128     /** Ideographic. The baseline is at the bottom of the text area. */
129     TEXT_BASELINE_IDEOGRAPHIC,
130 };
131 
132 /**
133  * @brief Enumerates text decorations.
134  */
135 enum OH_Drawing_TextDecoration {
136     /** No decoration. */
137     TEXT_DECORATION_NONE = 0x0,
138     /** A underline is used for decoration. */
139     TEXT_DECORATION_UNDERLINE = 0x1,
140     /** An overline is used for decoration. */
141     TEXT_DECORATION_OVERLINE = 0x2,
142     /** A strikethrough is used for decoration. */
143     TEXT_DECORATION_LINE_THROUGH = 0x4,
144 };
145 
146 /**
147  * @brief Enumerates font styles.
148  */
149 enum OH_Drawing_FontStyle {
150     /** Normal style */
151     FONT_STYLE_NORMAL,
152     /** Italic style */
153     FONT_STYLE_ITALIC,
154     /** Oblique style */
155     FONT_STYLE_OBLIQUE,
156 };
157 
158 /**
159  * @brief Enumerates placeholder vertical alignment.
160  *
161  * @since 11
162  * @version 1.0
163  */
164 typedef enum {
165     /** Offset At Baseline */
166     ALIGNMENT_OFFSET_AT_BASELINE,
167     /** Above Baseline */
168     ALIGNMENT_ABOVE_BASELINE,
169     /** Below Baseline */
170     ALIGNMENT_BELOW_BASELINE,
171     /** Top of Row Box */
172     ALIGNMENT_TOP_OF_ROW_BOX,
173     /** Bottom of Row Box */
174     ALIGNMENT_BOTTOM_OF_ROW_BOX,
175     /** Center of Row Box */
176     ALIGNMENT_CENTER_OF_ROW_BOX,
177 } OH_Drawing_PlaceholderVerticalAlignment;
178 
179 /**
180  * @brief Defines the placeholder span.
181  *
182  * @since 11
183  * @version 1.0
184  */
185 typedef struct {
186     /** width of placeholder */
187     double width;
188     /** height of placeholder */
189     double height;
190     /** alignment of placeholder */
191     OH_Drawing_PlaceholderVerticalAlignment alignment;
192     /** baseline of placeholder */
193     OH_Drawing_TextBaseline baseline;
194     /** baselineoffset of placeholder */
195     double baselineOffset;
196 } OH_Drawing_PlaceholderSpan;
197 
198 /**
199  * @brief Describes the font information.
200  *
201  * @since 12
202  * @version 1.0
203  */
204 typedef struct OH_Drawing_FontDescriptor {
205     /** The file path of System font */
206     char* path;
207     /** A name that uniquely identifies the font */
208     char* postScriptName;
209     /** The name of System font */
210     char* fullName;
211     /** The family of System font */
212     char* fontFamily;
213     /** The subfont family of the system font */
214     char* fontSubfamily;
215     /** The weight of System font */
216     int weight;
217     /** The width of System font */
218     int width;
219     /** Whether the system font is tilted */
220     int italic;
221     /** Whether the system font is compact */
222     bool monoSpace;
223     /** whether symbolic fonts are supported */
224     bool symbolic;
225 } OH_Drawing_FontDescriptor;
226 
227 /**
228  * @brief The metrics of line.
229  *
230  * @since 12
231  * @version 1.0
232  */
233 typedef struct OH_Drawing_LineMetrics {
234     /** Text ascender height */
235     double ascender;
236     /** Tex descender height */
237     double descender;
238     /** The height of a capital letter */
239     double capHeight;
240     /** The height of a lowercase letter */
241     double xHeight;
242     /** Text width */
243     double width;
244     /** Line height */
245     double height;
246     /**
247      * The distance from the left end of the text to the left end of the container,
248      * aligned to 0, is the width of the container minus the width of the line of text
249      */
250     double x;
251     /**
252      * The height from the top of the text to the top of the container, the first line is 0,
253      * and the second line is the height of the first line
254      */
255     double y;
256     /** Start Index */
257     size_t startIndex;
258     /** End Index */
259     size_t endIndex;
260     /** The metrics information of the first character */
261     OH_Drawing_Font_Metrics firstCharMetrics;
262 } OH_Drawing_LineMetrics;
263 
264 /**
265  * @brief Fallback font information.
266  *
267  * @since 12
268  * @version 1.0
269  */
270 typedef struct OH_Drawing_FontFallbackInfo {
271     /** The type of language supported by the font set. The language format is bcp47 */
272     char* language;
273     /** Font family name */
274     char* familyName;
275 } OH_Drawing_FontFallbackInfo;
276 
277 /**
278  * @brief Fallback font group.
279  *
280  * @since 12
281  * @version 1.0
282  */
283 typedef struct OH_Drawing_FontFallbackGroup {
284     /**
285      * The name of the font set corresponding to the fallback font set. If the value is null,
286      * all fonts can be set using the fallback font set list.
287      */
288     char* groupName;
289     /** Fallback font Info Size */
290     size_t fallbackInfoSize;
291     /** A list of font sets for fallback fonts */
292     OH_Drawing_FontFallbackInfo* fallbackInfoSet;
293 } OH_Drawing_FontFallbackGroup;
294 
295 /**
296  * @brief Font weight mapping information.
297  *
298  * @since 12
299  * @version 1.0
300  */
301 typedef struct OH_Drawing_FontAdjustInfo {
302     /** The font's original weight value */
303     int weight;
304     /** The font weight displayed in the application */
305     int to;
306 } OH_Drawing_FontAdjustInfo;
307 
308 /**
309  * @brief Alias font information.
310  *
311  * @since 12
312  * @version 1.0
313  */
314 typedef struct OH_Drawing_FontAliasInfo {
315     /** Font family name */
316     char* familyName;
317     /**
318      * Font weight value. When the weight value is greater than 0,
319      * the font set contains only fonts with the specified weight.
320      * When the weight value is equal to 0, the font set contains all fonts.
321      */
322     int weight;
323 } OH_Drawing_FontAliasInfo;
324 
325 /**
326  * @brief General font set information supported by the system.
327  *
328  * @since 12
329  * @version 1.0
330  */
331 typedef struct OH_Drawing_FontGenericInfo {
332     /** Font family name */
333     char* familyName;
334     /** The size of alias font lists */
335     size_t aliasInfoSize;
336     /** The size of font weight mapping information lists */
337     size_t adjustInfoSize;
338     /** List of alias fonts */
339     OH_Drawing_FontAliasInfo* aliasInfoSet;
340     /** Font weight mapping information lists */
341     OH_Drawing_FontAdjustInfo* adjustInfoSet;
342 } OH_Drawing_FontGenericInfo;
343 
344 /**
345  * @brief System font configuration information.
346  *
347  * @since 12
348  * @version 1.0
349  */
350 typedef struct OH_Drawing_FontConfigInfo {
351     /** Count of system font file paths */
352     size_t fontDirSize;
353     /** List size of generic font sets */
354     size_t fontGenericInfoSize;
355     /** Count of fallback font set lists */
356     size_t fallbackGroupSize;
357     /** List of system font file paths */
358     char** fontDirSet;
359     /** List of generic font sets */
360     OH_Drawing_FontGenericInfo* fontGenericInfoSet;
361     /** List of fallback font sets */
362     OH_Drawing_FontFallbackGroup* fallbackGroupSet;
363 } OH_Drawing_FontConfigInfo;
364 
365 /**
366  * @brief Enumerates text decoration style.
367  *
368  * @since 11
369  * @version 1.0
370  */
371 typedef enum {
372     /** Solid style */
373     TEXT_DECORATION_STYLE_SOLID,
374     /** Double style */
375     TEXT_DECORATION_STYLE_DOUBLE,
376     /** Dotted style */
377     TEXT_DECORATION_STYLE_DOTTED,
378     /** Dashed style */
379     TEXT_DECORATION_STYLE_DASHED,
380     /** Wavy style */
381     TEXT_DECORATION_STYLE_WAVY,
382 } OH_Drawing_TextDecorationStyle;
383 
384 /**
385  * @brief Enumerates ellipsis modal.
386  *
387  * @since 11
388  * @version 1.0
389  */
390 typedef enum {
391     /** Head modal */
392     ELLIPSIS_MODAL_HEAD = 0,
393     /** Middle modal */
394     ELLIPSIS_MODAL_MIDDLE = 1,
395     /** Tail modal */
396     ELLIPSIS_MODAL_TAIL = 2,
397 } OH_Drawing_EllipsisModal;
398 
399 /**
400  * @brief Enumerates break strategy.
401  *
402  * @since 11
403  * @version 1.0
404  */
405 typedef enum {
406     /** Greedy strategy */
407     BREAK_STRATEGY_GREEDY = 0,
408     /** Quality strategy */
409     BREAK_STRATEGY_HIGH_QUALITY = 1,
410     /** Balanced strategy */
411     BREAK_STRATEGY_BALANCED = 2,
412 } OH_Drawing_BreakStrategy;
413 
414 /**
415  * @brief Enumerates word break type.
416  *
417  * @since 11
418  * @version 1.0
419  */
420 typedef enum {
421     /** Normal type */
422     WORD_BREAK_TYPE_NORMAL = 0,
423     /** Break All type */
424     WORD_BREAK_TYPE_BREAK_ALL = 1,
425     /** Break Word type */
426     WORD_BREAK_TYPE_BREAK_WORD = 2,
427 } OH_Drawing_WordBreakType;
428 
429 /**
430  * @brief Enumerates rect height style.
431  *
432  * @since 11
433  * @version 1.0
434  */
435 typedef enum {
436     /** Tight style */
437     RECT_HEIGHT_STYLE_TIGHT,
438     /** Max style */
439     RECT_HEIGHT_STYLE_MAX,
440     /** Includelinespacemiddle style */
441     RECT_HEIGHT_STYLE_INCLUDELINESPACEMIDDLE,
442     /** Includelinespacetop style */
443     RECT_HEIGHT_STYLE_INCLUDELINESPACETOP,
444     /** Includelinespacebottom style */
445     RECT_HEIGHT_STYLE_INCLUDELINESPACEBOTTOM,
446     /** Struct style */
447     RECT_HEIGHT_STYLE_STRUCT,
448 } OH_Drawing_RectHeightStyle;
449 
450 /**
451  * @brief Enumerates rect Width style.
452  *
453  * @since 11
454  * @version 1.0
455  */
456 typedef enum {
457     /** Tight style */
458     RECT_WIDTH_STYLE_TIGHT,
459     /** Max style */
460     RECT_WIDTH_STYLE_MAX,
461 } OH_Drawing_RectWidthStyle;
462 
463 /**
464  * @brief Gets system font configuration information list result enum.
465  *
466  * @since 12
467  * @version 1.0
468  */
469 enum OH_Drawing_FontConfigInfoErrorCode {
470     /** The list of system font configuration information was successfully obtained */
471     SUCCESS_FONT_CONFIG_INFO = 0,
472     /** Unknown error */
473     ERROR_FONT_CONFIG_INFO_UNKNOWN = 1,
474     /** Parse system config file error */
475     ERROR_FONT_CONFIG_INFO_PARSE_FILE = 2,
476     /** Alloc memory error */
477     ERROR_FONT_CONFIG_INFO_ALLOC_MEMORY = 3,
478     /** Copy string data error */
479     ERROR_FONT_CONFIG_INFO_COPY_STRING_DATA = 4,
480 };
481 
482 /**
483  * @brief Defines StrutStyle info struct.
484  *
485  * @since 12
486  * @version 1.0
487  */
488 typedef struct {
489     /** The font weight to use when calculating the strut */
490     OH_Drawing_FontWeight weight;
491     /** The font style to use when calculating the strut */
492     OH_Drawing_FontStyle style;
493     /** The size of the ascent plus descent in logical pixels */
494     double size;
495     /** The minimum height of the strut, as a multiple of fontSize */
496     double heightScale;
497     /** Whether the height is override */
498     bool heightOverride;
499     /** Whether the halfleading is enable */
500     bool halfLeading;
501     /** The additional leading to apply to the strut as a multiple of Size */
502     double leading;
503     /** Whether the strut height should be forced */
504     bool forceStrutHeight;
505     /** The size of font families */
506     size_t familiesSize;
507     /** The families of the font to use when calculating the strut */
508     char** families;
509 } OH_Drawing_StrutStyle;
510 
511 /**
512  * @brief Defines the fontfeature.
513  *
514  * @since 12
515  * @version 1.0
516  */
517 typedef struct {
518     /** key of fontfeature */
519     char* tag;
520     /** value of fontfeature */
521     int value;
522 } OH_Drawing_FontFeature;
523 
524 /**
525  * @brief Enumerates of heightmode of text.
526  *
527  * @since 12
528  * @version 1.0
529  */
530 enum OH_Drawing_TextHeightBehavior {
531     /** both ascend of first row and last row style */
532     TEXT_HEIGHT_ALL = 0x0,
533     /** forbidding ascend of first row style*/
534     TEXT_HEIGHT_DISABLE_FIRST_ASCENT = 0x1,
535      /** forbidding ascend of last row style */
536     TEXT_HEIGHT_DISABLE_LAST_ASCENT = 0x2,
537       /** neither ascend of first row nor last row style */
538     TEXT_HEIGHT_DISABLE_ALL = 0x1 | 0x2,
539 };
540 
541 /**
542  * @brief Enumerates font width.
543  *
544  * @since 12
545  * @version 1.0
546  */
547 enum OH_Drawing_FontWidth {
548     /* Ultra condensed font width */
549     FONT_WIDTH_ULTRA_CONDENSED = 1,
550     /* Extra condensed font width */
551     FONT_WIDTH_EXTRA_CONDENSED = 2,
552     /* condensed font width */
553     FONT_WIDTH_CONDENSED = 3,
554     /* Semi condensed font width */
555     FONT_WIDTH_SEMI_CONDENSED = 4,
556     /* Normal font width */
557     FONT_WIDTH_NORMAL = 5,
558     /* Semi expanded font width */
559     FONT_WIDTH_SEMI_EXPANDED = 6,
560     /* Expanded font width */
561     FONT_WIDTH_EXPANDED = 7,
562     /* Extra expanded font width */
563     FONT_WIDTH_EXTRA_EXPANDED = 8,
564     /* Ultra expanded font width */
565     FONT_WIDTH_ULTRA_EXPANDED = 9,
566 };
567 
568 /**
569  * @brief Defines the font style struct.
570  *
571  * @since 12
572  * @version 1.0
573  */
574 typedef struct OH_Drawing_FontStyleStruct {
575     /** Font weight */
576     OH_Drawing_FontWeight weight;
577     /** Font width */
578     OH_Drawing_FontWidth width;
579     /** Font slant */
580     OH_Drawing_FontStyle slant;
581 } OH_Drawing_FontStyleStruct;
582 
583 /**
584  * @brief Enumerates text style type.
585  *
586  * @since 12
587  * @version 1.0
588  */
589 enum OH_Drawing_TextStyleType {
590     /** None style */
591     TEXT_STYLE_NONE,
592     /** All attributes style */
593     TEXT_STYLE_ALL_ATTRIBUTES,
594     /** Font style */
595     TEXT_STYLE_FONT,
596     /** Foreground style */
597     TEXT_STYLE_FOREGROUND,
598     /** Background style */
599     TEXT_STYLE_BACKGROUND,
600     /** Shadow style */
601     TEXT_STYLE_SHADOW,
602     /** Decorations style */
603     TEXT_STYLE_DECORATIONS,
604     /** Letter spacing style */
605     TEXT_STYLE_LETTER_SPACING,
606     /** Word spacing style */
607     TEXT_STYLE_WORD_SPACING
608 };
609 
610 /**
611  * @brief Creates an <b>OH_Drawing_TypographyStyle</b> object.
612  *
613  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
614  * @return Returns the pointer to the <b>OH_Drawing_TypographyStyle</b> object created.
615  * @since 8
616  * @version 1.0
617  */
618 OH_Drawing_TypographyStyle* OH_Drawing_CreateTypographyStyle(void);
619 
620 /**
621  * @brief Releases the memory occupied by an <b>OH_Drawing_TypographyStyle</b> object.
622  *
623  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
624  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
625  * @since 8
626  * @version 1.0
627  */
628 void OH_Drawing_DestroyTypographyStyle(OH_Drawing_TypographyStyle*);
629 
630 /**
631  * @brief Sets the text direction.
632  *
633  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
634  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
635  * @param int Indicates the text direction to set. For details, see the enum <b>OH_Drawing_TextDirection</b>.
636  * @since 8
637  * @version 1.0
638  */
639 void OH_Drawing_SetTypographyTextDirection(OH_Drawing_TypographyStyle*, int /* OH_Drawing_TextDirection */);
640 
641 /**
642  * @brief Sets the text alignment mode.
643  *
644  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
645  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
646  * @param int Indicates the text alignment mode to set. For details, see the enum <b>OH_Drawing_TextAlign</b>.
647  * @since 8
648  * @version 1.0
649  */
650 void OH_Drawing_SetTypographyTextAlign(OH_Drawing_TypographyStyle*, int /* OH_Drawing_TextAlign */);
651 
652 /**
653  * @brief Sets the maximum number of lines in a text file.
654  *
655  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
656  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
657  * @param int Indicates the maximum number of lines to set.
658  * @since 8
659  * @version 1.0
660  */
661 void OH_Drawing_SetTypographyTextMaxLines(OH_Drawing_TypographyStyle*, int /* maxLines */);
662 
663 /**
664  * @brief Creates an <b>OH_Drawing_TextStyle</b> object.
665  *
666  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
667  * @return Returns the pointer to the <b>OH_Drawing_TextStyle</b> object created.
668  * @since 8
669  * @version 1.0
670  */
671 OH_Drawing_TextStyle* OH_Drawing_CreateTextStyle(void);
672 
673 /**
674  * @brief Releases the memory occupied by an <b>OH_Drawing_TextStyle</b> object.
675  *
676  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
677  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
678  * @since 8
679  * @version 1.0
680  */
681 void OH_Drawing_DestroyTextStyle(OH_Drawing_TextStyle*);
682 
683 /**
684  * @brief Sets the text color.
685  *
686  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
687  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
688  * @param uint32_t Indicates the color to set.
689  * @since 8
690  * @version 1.0
691  */
692 void OH_Drawing_SetTextStyleColor(OH_Drawing_TextStyle*, uint32_t /* color */);
693 
694 /**
695  * @brief Sets the font size.
696  *
697  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
698  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
699  * @param double Indicates the font size to set.
700  * @since 8
701  * @version 1.0
702  */
703 void OH_Drawing_SetTextStyleFontSize(OH_Drawing_TextStyle*, double /* fontSize */);
704 
705 /**
706  * @brief Sets the font weight.
707  *
708  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
709  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
710  * @param int Indicates the font weight to set. For details, see the enum <b>OH_Drawing_FontWeight</b>.
711  * @since 8
712  * @version 1.0
713  */
714 void OH_Drawing_SetTextStyleFontWeight(OH_Drawing_TextStyle*, int /* OH_Drawing_FontWeight */);
715 
716 /**
717  * @brief Sets the text baseline.
718  *
719  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
720  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
721  * @param int Indicates the text baseline to set. For details, see the enum <b>OH_Drawing_TextBaseline</b>.
722  * @since 8
723  * @version 1.0
724  */
725 void OH_Drawing_SetTextStyleBaseLine(OH_Drawing_TextStyle*, int /* OH_Drawing_TextBaseline */);
726 
727 /**
728  * @brief Sets the text decoration.
729  *
730  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
731  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
732  * @param int Indicates the text decoration to set. For details, see the enum <b>OH_Drawing_TextDecoration</b>.
733  * @since 8
734  * @version 1.0
735  */
736 void OH_Drawing_SetTextStyleDecoration(OH_Drawing_TextStyle*, int /* OH_Drawing_TextDecoration */);
737 
738 /**
739  * @brief Sets the color for the text decoration.
740  *
741  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
742  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
743  * @param uint32_t Indicates the color to set.
744  * @since 8
745  * @version 1.0
746  */
747 void OH_Drawing_SetTextStyleDecorationColor(OH_Drawing_TextStyle*, uint32_t /* color */);
748 
749 /**
750  * @brief Sets the font height.
751  *
752  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
753  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
754  * @param double Indicates the font height to set.
755  * @since 8
756  * @version 1.0
757  */
758 void OH_Drawing_SetTextStyleFontHeight(OH_Drawing_TextStyle*, double /* fontHeight */);
759 
760 /**
761  * @brief Sets the font families.
762  *
763  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
764  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
765  * @param int Indicates the number of font families to set.
766  * @param char Indicates the pointer to the font families to set.
767  * @since 8
768  * @version 1.0
769  */
770 void OH_Drawing_SetTextStyleFontFamilies(OH_Drawing_TextStyle*,
771     int /* fontFamiliesNumber */, const char* fontFamilies[]);
772 
773 /**
774  * @brief Sets the font style.
775  *
776  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
777  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
778  * @param int Indicates the font style to set. For details, see the enum <b>OH_Drawing_FontStyle</b>.
779  * @since 8
780  * @version 1.0
781  */
782 void OH_Drawing_SetTextStyleFontStyle(OH_Drawing_TextStyle*, int /* OH_Drawing_FontStyle */);
783 
784 /**
785  * @brief Sets the locale.
786  *
787  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
788  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
789  * @param char Indicates the pointer to the locale to set.
790  * @since 8
791  * @version 1.0
792  */
793 void OH_Drawing_SetTextStyleLocale(OH_Drawing_TextStyle*, const char*);
794 
795 /**
796  * @brief Sets the foreground brush style.
797  *
798  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
799  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
800  * @param OH_Drawing_Brush Indicates the pointer to an <b>OH_Drawing_Brush</b> object.
801  * @since 12
802  * @version 1.0
803  */
804 void OH_Drawing_SetTextStyleForegroundBrush(OH_Drawing_TextStyle*, OH_Drawing_Brush*);
805 
806 /**
807  * @brief Gets the foreground brush style.
808  *
809  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
810  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
811  * @param OH_Drawing_Brush Indicates the pointer to an <b>OH_Drawing_Brush</b> object.
812  * @since 12
813  * @version 1.0
814  */
815 void OH_Drawing_TextStyleGetForegroundBrush(OH_Drawing_TextStyle*, OH_Drawing_Brush*);
816 
817 /**
818  * @brief Sets the foreground pen style.
819  *
820  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
821  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
822  * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object.
823  * @since 12
824  * @version 1.0
825  */
826 void OH_Drawing_SetTextStyleForegroundPen(OH_Drawing_TextStyle*, OH_Drawing_Pen*);
827 
828 /**
829  * @brief Gets the foreground pen style.
830  *
831  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
832  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
833  * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object.
834  * @since 12
835  * @version 1.0
836  */
837 void OH_Drawing_TextStyleGetForegroundPen(OH_Drawing_TextStyle*, OH_Drawing_Pen*);
838 
839 /**
840  * @brief Sets the background brush style.
841  *
842  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
843  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
844  * @param OH_Drawing_Brush Indicates the pointer to an <b>OH_Drawing_Brush</b> object.
845  * @since 12
846  * @version 1.0
847  */
848 void OH_Drawing_SetTextStyleBackgroundBrush(OH_Drawing_TextStyle*, OH_Drawing_Brush*);
849 
850 /**
851  * @brief Gets the background brush style.
852  *
853  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
854  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
855  * @param OH_Drawing_Brush Indicates the pointer to an <b>OH_Drawing_Brush</b> object.
856  * @since 12
857  * @version 1.0
858  */
859 void OH_Drawing_TextStyleGetBackgroundBrush(OH_Drawing_TextStyle*, OH_Drawing_Brush*);
860 
861 /**
862  * @brief Sets the background pen style.
863  *
864  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
865  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
866  * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object.
867  * @since 12
868  * @version 1.0
869  */
870 void OH_Drawing_SetTextStyleBackgroundPen(OH_Drawing_TextStyle*, OH_Drawing_Pen*);
871 
872 /**
873  * @brief Gets the background pen style.
874  *
875  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
876  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
877  * @param OH_Drawing_Pen Indicates the pointer to an <b>OH_Drawing_Pen</b> object.
878  * @since 12
879  * @version 1.0
880  */
881 void OH_Drawing_TextStyleGetBackgroundPen(OH_Drawing_TextStyle*, OH_Drawing_Pen*);
882 
883 /**
884  * @brief Creates a pointer to an <b>OH_Drawing_TypographyCreate</b> object.
885  *
886  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
887  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
888  * @param OH_Drawing_FontCollection Indicates the pointer to an <b>OH_Drawing_FontCollection</b> object.
889  * @return Returns the pointer to the <b>OH_Drawing_TypographyCreate</b> object created.
890  * @since 8
891  * @version 1.0
892  */
893 OH_Drawing_TypographyCreate* OH_Drawing_CreateTypographyHandler(OH_Drawing_TypographyStyle*,
894     OH_Drawing_FontCollection*);
895 
896 /**
897  * @brief Releases the memory occupied by an <b>OH_Drawing_TypographyCreate</b> object.
898  *
899  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
900  * @param OH_Drawing_TypographyCreate Indicates the pointer to an <b>OH_Drawing_TypographyCreate</b> object.
901  * @since 8
902  * @version 1.0
903  */
904 void OH_Drawing_DestroyTypographyHandler(OH_Drawing_TypographyCreate*);
905 
906 /**
907  * @brief Sets the text style.
908  *
909  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
910  * @param OH_Drawing_TypographyCreate Indicates the pointer to an <b>OH_Drawing_TypographyCreate</b> object.
911  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
912  * @since 8
913  * @version 1.0
914  */
915 void OH_Drawing_TypographyHandlerPushTextStyle(OH_Drawing_TypographyCreate*, OH_Drawing_TextStyle*);
916 
917 /**
918  * @brief Sets the text content.
919  *
920  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
921  * @param OH_Drawing_TypographyCreate Indicates the pointer to an <b>OH_Drawing_TypographyCreate</b> object.
922  * @param char Indicates the pointer to the text content to set.
923  * @since 8
924  * @version 1.0
925  */
926 void OH_Drawing_TypographyHandlerAddText(OH_Drawing_TypographyCreate*, const char*);
927 
928 /**
929  * @brief Removes the topmost style in the stack, leaving the remaining styles in effect.
930  *
931  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
932  * @param OH_Drawing_TypographyCreate Indicates the pointer to an <b>OH_Drawing_TypographyCreate</b> object.
933  * @since 8
934  * @version 1.0
935  */
936 void OH_Drawing_TypographyHandlerPopTextStyle(OH_Drawing_TypographyCreate*);
937 
938 /**
939  * @brief Creates an <b>OH_Drawing_Typography</b> object.
940  *
941  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
942  * @param OH_Drawing_TypographyCreate Indicates the pointer to an <b>OH_Drawing_TypographyCreate</b> object.
943  * @return Returns the pointer to the <b>OH_Drawing_Typography</b> object created.
944  * @since 8
945  * @version 1.0
946  */
947 OH_Drawing_Typography* OH_Drawing_CreateTypography(OH_Drawing_TypographyCreate*);
948 
949 /**
950  * @brief Releases the memory occupied by an <b>OH_Drawing_Typography</b> object.
951  *
952  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
953  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
954  * @since 8
955  * @version 1.0
956  */
957 void OH_Drawing_DestroyTypography(OH_Drawing_Typography*);
958 
959 /**
960  * @brief Lays out the typography.
961  *
962  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
963  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
964  * @param double Indicates the maximum text width to set.
965  * @since 8
966  * @version 1.0
967  */
968 void OH_Drawing_TypographyLayout(OH_Drawing_Typography*, double /* maxWidth */);
969 
970 /**
971  * @brief Paints text on the canvas.
972  *
973  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
974  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
975  * @param OH_Drawing_Canvas Indicates the pointer to an <b>OH_Drawing_Canvas</b> object.
976  * @param double Indicates the x coordinate.
977  * @param double Indicates the y coordinate.
978  * @since 8
979  * @version 1.0
980  */
981 void OH_Drawing_TypographyPaint(OH_Drawing_Typography*, OH_Drawing_Canvas*,
982     double /* potisionX */, double /* potisionY */);
983 
984 /**
985  * @brief Paints path text on the canvas.
986  *
987  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
988  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
989  * @param OH_Drawing_Canvas Indicates the pointer to an <b>OH_Drawing_Canvas</b> object.
990  * @param OH_Drawing_Path Indicates path information.
991  * @param double Indicates the distance along the path to add to the text's starting position.
992  * @param double Indicates the distance above(-) or below(+) the path to position the text.
993  * @since 12
994  * @version 1.0
995  */
996 void OH_Drawing_TypographyPaintOnPath(
997     OH_Drawing_Typography*, OH_Drawing_Canvas*, OH_Drawing_Path*, double /* hOffset */, double /* vOffset */);
998 
999 /**
1000  * @brief Gets the max width.
1001  *
1002  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1003  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1004  * @return Returns the max width.
1005  * @since 9
1006  * @version 1.1
1007  */
1008 double OH_Drawing_TypographyGetMaxWidth(OH_Drawing_Typography*);
1009 
1010 /**
1011  * @brief Gets the height.
1012  *
1013  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1014  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1015  * @return Returns the height.
1016  * @since 9
1017  * @version 1.1
1018  */
1019 double OH_Drawing_TypographyGetHeight(OH_Drawing_Typography*);
1020 
1021 /**
1022  * @brief Gets the longest line.
1023  *
1024  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1025  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1026  * @return Returns the length of the longest line.
1027  * @since 9
1028  * @version 1.1
1029  */
1030 double OH_Drawing_TypographyGetLongestLine(OH_Drawing_Typography*);
1031 
1032 /**
1033  * @brief Gets the width of the longest line, and this width contains the width of indent.
1034  *
1035  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1036  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1037  * @return Returns the length of the longest line with indent.
1038  * @since 13
1039  * @version 1.1
1040  */
1041 double OH_Drawing_TypographyGetLongestLineWithIndent(OH_Drawing_Typography*);
1042 
1043 /**
1044  * @brief Gets the min intrinsic width.
1045  *
1046  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1047  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1048  * @return Returns the min intrinsic width.
1049  * @since 9
1050  * @version 1.1
1051  */
1052 double OH_Drawing_TypographyGetMinIntrinsicWidth(OH_Drawing_Typography*);
1053 
1054 /**
1055  * @brief Gets the max intrinsic width.
1056  *
1057  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1058  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1059  * @return Returns the max intrinsic width.
1060  * @since 9
1061  * @version 1.1
1062  */
1063 double OH_Drawing_TypographyGetMaxIntrinsicWidth(OH_Drawing_Typography*);
1064 
1065 /**
1066  * @brief Gets the alphabetic baseline.
1067  *
1068  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1069  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1070  * @return Returns the alphabetic baseline.
1071  * @since 9
1072  * @version 1.1
1073  */
1074 double OH_Drawing_TypographyGetAlphabeticBaseline(OH_Drawing_Typography*);
1075 
1076 /**
1077  * @brief Gets the ideographic baseline.
1078  *
1079  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1080  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1081  * @return Returns the ideographic baseline.
1082  * @since 9
1083  * @version 1.1
1084  */
1085 double OH_Drawing_TypographyGetIdeographicBaseline(OH_Drawing_Typography*);
1086 
1087 /**
1088  * @brief Sets the placeholder.
1089  *
1090  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1091  * @param OH_Drawing_TypographyCreate Indicates the pointer to an <b>OH_Drawing_TypographyCreate</b> object.
1092  * @param OH_Drawing_PlaceholderSpan Indicates the pointer to an <b>OH_Drawing_PlaceholderSpan</b> object.
1093  * @since 11
1094  * @version 1.0
1095  */
1096 void OH_Drawing_TypographyHandlerAddPlaceholder(OH_Drawing_TypographyCreate*, OH_Drawing_PlaceholderSpan*);
1097 
1098 /**
1099  * @brief Gets the exceed maxLines.
1100  *
1101  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1102  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1103  * @return Returns the exceed maxLines.
1104  * @since 11
1105  * @version 1.0
1106  */
1107 bool OH_Drawing_TypographyDidExceedMaxLines(OH_Drawing_Typography*);
1108 
1109 /**
1110  * @brief Gets the rects for range.
1111  *
1112  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1113  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1114  * @param size_t Indicates the start of range to set.
1115  * @param size_t Indicates the end of range to set.
1116  * @param OH_Drawing_RectHeightStyle Indicates the height style to set.
1117  * For details, see the enum <b>OH_Drawing_RectHeightStyle</b>.
1118  * @param OH_Drawing_RectWidthStyle Indicates the width style to set.
1119  * For details, see the enum <b>OH_Drawing_RectWidthStyle</b>.
1120  * @return Returns the rects for range.
1121  * @since 11
1122  * @version 1.0
1123  */
1124 OH_Drawing_TextBox* OH_Drawing_TypographyGetRectsForRange(OH_Drawing_Typography*,
1125     size_t, size_t, OH_Drawing_RectHeightStyle, OH_Drawing_RectWidthStyle);
1126 
1127 /**
1128  * @brief Gets the rects for placeholders.
1129  *
1130  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1131  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1132  * @return Returns the rects for placeholders.
1133  * @since 11
1134  * @version 1.0
1135  */
1136 OH_Drawing_TextBox* OH_Drawing_TypographyGetRectsForPlaceholders(OH_Drawing_Typography*);
1137 
1138 /**
1139  * @brief Gets left from textbox.
1140  *
1141  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1142  * @param OH_Drawing_TextBox Indicates the pointer to an <b>OH_Drawing_TextBox</b> object.
1143  * @param int Indicates the index of textbox.
1144  * @return Returns left from textbox.
1145  * @since 11
1146  * @version 1.0
1147  */
1148 float OH_Drawing_GetLeftFromTextBox(OH_Drawing_TextBox*, int);
1149 
1150 /**
1151  * @brief Gets right from textbox.
1152  *
1153  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1154  * @param OH_Drawing_TextBox Indicates the pointer to an <b>OH_Drawing_TextBox</b> object.
1155  * @param int Indicates the index of textbox.
1156  * @return Returns right from textbox.
1157  * @since 11
1158  * @version 1.0
1159  */
1160 float OH_Drawing_GetRightFromTextBox(OH_Drawing_TextBox*, int);
1161 
1162 /**
1163  * @brief Gets top from textbox.
1164  *
1165  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1166  * @param OH_Drawing_TextBox Indicates the pointer to an <b>OH_Drawing_TextBox</b> object.
1167  * @param int Indicates the index of textbox.
1168  * @return Returns top from textbox.
1169  * @since 11
1170  * @version 1.0
1171  */
1172 float OH_Drawing_GetTopFromTextBox(OH_Drawing_TextBox*, int);
1173 
1174 /**
1175  * @brief Gets bottom from textbox.
1176  *
1177  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1178  * @param OH_Drawing_TextBox Indicates the pointer to an <b>OH_Drawing_TextBox</b> object.
1179  * @param int Indicates the index of textbox.
1180  * @return Returns bottom from textbox.
1181  * @since 11
1182  * @version 1.0
1183  */
1184 float OH_Drawing_GetBottomFromTextBox(OH_Drawing_TextBox*, int);
1185 
1186 /**
1187  * @brief Gets direction from textbox.
1188  *
1189  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1190  * @param OH_Drawing_TextBox Indicates the pointer to an <b>OH_Drawing_TextBox</b> object.
1191  * @param int Indicates the index of textbox.
1192  * @return Returns direction from textbox.
1193  * @since 11
1194  * @version 1.0
1195  */
1196 int OH_Drawing_GetTextDirectionFromTextBox(OH_Drawing_TextBox*, int);
1197 
1198 /**
1199  * @brief Gets size of textbox.
1200  *
1201  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1202  * @param OH_Drawing_TextBox Indicates the pointer to an <b>OH_Drawing_TextBox</b> object.
1203  * @return Returns size of textbox.
1204  * @since 11
1205  * @version 1.0
1206  */
1207 size_t OH_Drawing_GetSizeOfTextBox(OH_Drawing_TextBox*);
1208 
1209 /**
1210  * @brief Gets the glyphposition at coordinate.
1211  *
1212  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1213  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1214  * @param double Indicates the positionX of typography to set.
1215  * @param double Indicates the positionY of typography to set.
1216  * @return Returns the glyphposition at coordinate.
1217  * @since 11
1218  * @version 1.0
1219  */
1220 OH_Drawing_PositionAndAffinity* OH_Drawing_TypographyGetGlyphPositionAtCoordinate(OH_Drawing_Typography*,
1221     double, double);
1222 
1223 /**
1224  * @brief Gets the glyphposition at coordinate with cluster.
1225  *
1226  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1227  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1228  * @param double Indicates the positionX of typography to set.
1229  * @param double Indicates the positionY of typography to set.
1230  * @return Returns the glyphposition at coordinate with cluster.
1231  * @since 11
1232  * @version 1.0
1233  */
1234 OH_Drawing_PositionAndAffinity* OH_Drawing_TypographyGetGlyphPositionAtCoordinateWithCluster(OH_Drawing_Typography*,
1235     double, double);
1236 
1237 /**
1238  * @brief Gets position from positionandaffinity.
1239  *
1240  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1241  * @param OH_Drawing_PositionAndAffinity Indicates the pointer to an <b>OH_Drawing_PositionAndAffinity</b> object.
1242  * @return Returns position from positionandaffinity.
1243  * @since 11
1244  * @version 1.0
1245  */
1246 size_t OH_Drawing_GetPositionFromPositionAndAffinity(OH_Drawing_PositionAndAffinity*);
1247 
1248 /**
1249  * @brief Gets affinity from positionandaffinity.
1250  *
1251  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1252  * @param OH_Drawing_PositionAndAffinity Indicates the pointer to an <b>OH_Drawing_PositionAndAffinity</b> object.
1253  * @return Returns affinity from positionandaffinity.
1254  * @since 11
1255  * @version 1.0
1256  */
1257 int OH_Drawing_GetAffinityFromPositionAndAffinity(OH_Drawing_PositionAndAffinity*);
1258 
1259 /**
1260  * @brief Gets the word boundary.
1261  *
1262  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1263  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1264  * @param size_t Indicates the size of text to set.
1265  * @return Returns the word boundary.
1266  * @since 11
1267  * @version 1.0
1268  */
1269 OH_Drawing_Range* OH_Drawing_TypographyGetWordBoundary(OH_Drawing_Typography*, size_t);
1270 
1271 /**
1272  * @brief Gets start from range.
1273  *
1274  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1275  * @param OH_Drawing_Range Indicates the pointer to an <b>OH_Drawing_Range</b> object.
1276  * @return Returns start from range.
1277  * @since 11
1278  * @version 1.0
1279  */
1280 size_t OH_Drawing_GetStartFromRange(OH_Drawing_Range*);
1281 
1282 /**
1283  * @brief Gets end from range.
1284  *
1285  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1286  * @param OH_Drawing_Range Indicates the pointer to an <b>OH_Drawing_Range</b> object.
1287  * @return Returns end from range.
1288  * @since 11
1289  * @version 1.0
1290  */
1291 size_t OH_Drawing_GetEndFromRange(OH_Drawing_Range*);
1292 
1293 /**
1294  * @brief Gets the line count.
1295  *
1296  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1297  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1298  * @return Returns the line count.
1299  * @since 11
1300  * @version 1.0
1301  */
1302 size_t OH_Drawing_TypographyGetLineCount(OH_Drawing_Typography*);
1303 
1304 /**
1305  * @brief Sets the decoration style.
1306  *
1307  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1308  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1309  * @param int Indicates the text decoration style to set.
1310  * For details, see the enum <b>OH_Drawing_TextDecorationStyle</b>.
1311  * @since 11
1312  * @version 1.0
1313  */
1314 void OH_Drawing_SetTextStyleDecorationStyle(OH_Drawing_TextStyle*, int);
1315 
1316 /**
1317  * @brief Sets the decoration thickness scale.
1318  *
1319  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1320  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1321  * @param double Indicates the thickness scale of text decoration to set.
1322  * @since 11
1323  * @version 1.0
1324  */
1325 void OH_Drawing_SetTextStyleDecorationThicknessScale(OH_Drawing_TextStyle*, double);
1326 
1327 /**
1328  * @brief Sets the letter spacing.
1329  *
1330  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1331  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1332  * @param double Indicates the letter space to set.
1333  * @since 11
1334  * @version 1.0
1335  */
1336 void OH_Drawing_SetTextStyleLetterSpacing(OH_Drawing_TextStyle*, double);
1337 
1338 /**
1339  * @brief Sets the word spacing.
1340  *
1341  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1342  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1343  * @param double Indicates the word space to set.
1344  * @since 11
1345  * @version 1.0
1346  */
1347 void OH_Drawing_SetTextStyleWordSpacing(OH_Drawing_TextStyle*, double);
1348 
1349 /**
1350  * @brief Sets the half leading.
1351  *
1352  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1353  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1354  * @param bool Indicates the half leading to set.
1355  * @since 11
1356  * @version 1.0
1357  */
1358 void OH_Drawing_SetTextStyleHalfLeading(OH_Drawing_TextStyle*, bool);
1359 
1360 /**
1361  * @brief Sets the ellipsis.
1362  *
1363  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1364  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1365  * @param char* Indicates the pointer to ellipsis style.
1366  * @since 11
1367  * @version 1.0
1368  */
1369 void OH_Drawing_SetTextStyleEllipsis(OH_Drawing_TextStyle*, const char*);
1370 
1371 /**
1372  * @brief Sets the ellipsis modal.
1373  *
1374  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1375  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1376  * @param int Indicates the ellipsis model to set. For details, see the enum <b>OH_Drawing_EllipsisModal</b>.
1377  * @since 11
1378  * @version 1.0
1379  */
1380 void OH_Drawing_SetTextStyleEllipsisModal(OH_Drawing_TextStyle*, int);
1381 
1382 /**
1383  * @brief Sets the break strategy.
1384  *
1385  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1386  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1387  * @param int Indicates the break strategy to set. For details, see the enum <b>OH_Drawing_BreakStrategy</b>.
1388  * @since 11
1389  * @version 1.0
1390  */
1391 void OH_Drawing_SetTypographyTextBreakStrategy(OH_Drawing_TypographyStyle*, int);
1392 
1393 /**
1394  * @brief Sets the word break type.
1395  *
1396  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1397  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1398  * @param int Indicates the word break type to set. For details, see the enum <b>OH_Drawing_WordBreakType</b>.
1399  * @since 11
1400  * @version 1.0
1401  */
1402 void OH_Drawing_SetTypographyTextWordBreakType(OH_Drawing_TypographyStyle*, int);
1403 
1404 /**
1405  * @brief Sets the ellipsis modal.
1406  *
1407  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1408  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1409  * @param int Indicates the ellipsis modal to set. For details, see the enum <b>OH_Drawing_EllipsisModal</b>.
1410  * @since 11
1411  * @version 1.0
1412  */
1413 void OH_Drawing_SetTypographyTextEllipsisModal(OH_Drawing_TypographyStyle*, int);
1414 
1415 /**
1416  * @brief get line height.
1417  *
1418  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1419  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1420  * @param int Indicates the line number.
1421  * @return Returns line height.
1422  * @since 11
1423  * @version 1.0
1424  */
1425 double OH_Drawing_TypographyGetLineHeight(OH_Drawing_Typography*, int);
1426 
1427 /**
1428  * @brief get line width.
1429  *
1430  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1431  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1432  * @param int Indicates the line number.
1433  * @return Returns line width.
1434  * @since 11
1435  * @version 1.0
1436  */
1437 double OH_Drawing_TypographyGetLineWidth(OH_Drawing_Typography*, int);
1438 
1439 /**
1440  * @brief get line text range.
1441  *
1442  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1443  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1444  * @param int Indicates the line number.
1445  * @param bool Indicates whether spaces are contained.
1446  * @return Returns line text range.
1447  * @since 12
1448  * @version 1.0
1449  */
1450 OH_Drawing_Range* OH_Drawing_TypographyGetLineTextRange(OH_Drawing_Typography*, int, bool);
1451 
1452 /**
1453  * @brief Gets the position of the specified line or the first text of the specified line
1454  *
1455  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1456  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1457  * @param int Line number
1458  * @param bool True is the information for the whole line, and false is the information to get the first character
1459  * @param bool Whether the text width contains whitespace
1460  * @param OH_Drawing_LineMetrics Indicates the pointer to an <b>OH_Drawing_LineMetrics</b> object.
1461  * @return return whether the information was successfully fetched.
1462  * @since 12
1463  * @version 1.0
1464  */
1465 bool OH_Drawing_TypographyGetLineInfo(OH_Drawing_Typography*, int, bool, bool, OH_Drawing_LineMetrics*);
1466 
1467 /**
1468  * @brief Creates an <b>OH_Drawing_FontDescriptor</b> object.
1469  *
1470  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1471  * @return Returns the pointer to the font descriptor object <b>OH_Drawing_FontDescriptor</b> created.
1472  * @since 12
1473  * @version 1.0
1474  */
1475 OH_Drawing_FontDescriptor* OH_Drawing_CreateFontDescriptor(void);
1476 
1477 /**
1478  * @brief Releases the memory occupied by an <b>OH_Drawing_FontDescriptor</b> object.
1479  *
1480  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1481  * @param OH_Drawing_FontDescriptor the pointer to the font descriptor object <b>OH_Drawing_FontDescriptor</b>.
1482  * @since 12
1483  * @version 1.0
1484  */
1485 void OH_Drawing_DestroyFontDescriptor(OH_Drawing_FontDescriptor*);
1486 
1487 /**
1488  * @brief Creates an <b>OH_Drawing_FontParser</b> object.
1489  *
1490  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1491  * @return Returns the pointer to the font parser object <b>OH_Drawing_FontParser</b>.
1492  * @since 12
1493  * @version 1.0
1494  */
1495 OH_Drawing_FontParser* OH_Drawing_CreateFontParser(void);
1496 
1497 /**
1498  * @brief Releases the memory occupied by an <b>OH_Drawing_FontParser</b> object.
1499  *
1500  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1501  * @param OH_Drawing_FontParser Indicates the pointer to the font parser object <b>OH_Drawing_FontParser</b>.
1502  * @since 12
1503  * @version 1.0
1504  */
1505 void OH_Drawing_DestroyFontParser(OH_Drawing_FontParser*);
1506 
1507 /**
1508  * @brief Gets a list of system font names.
1509  *
1510  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1511  * @param OH_Drawing_FontParser Indicates the pointer to the font parser object <b>OH_Drawing_FontParser</b>.
1512  * @param size_t Returns the number of obtained system font names.
1513  * @return Returns a list of obtained system fonts.
1514  * @since 12
1515  * @version 1.0
1516  */
1517 char** OH_Drawing_FontParserGetSystemFontList(OH_Drawing_FontParser*, size_t*);
1518 
1519 /**
1520  * @brief Releases the memory occupied by a list of system font names.
1521  *
1522  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1523  * @param char** Indicates the pointer to a list of system font names.
1524  * @param size_t The number of obtained system font names.
1525  * @since 12
1526  * @version 1.0
1527  */
1528 void OH_Drawing_DestroySystemFontList(char**, size_t);
1529 
1530 /**
1531  * @brief Gets information about the system font by font name.
1532  *
1533  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1534  * @param OH_Drawing_FontParser Indicates the pointer to the font parser object <b>OH_Drawing_FontParser</b>.
1535  * @param char** font name.
1536  * @return Returns system fonts information.
1537  * @since 12
1538  * @version 1.0
1539  */
1540 OH_Drawing_FontDescriptor* OH_Drawing_FontParserGetFontByName(OH_Drawing_FontParser*, const char*);
1541 
1542 /**
1543  * @brief Get line metrics information.
1544  *
1545  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1546  * @param OH_Drawing_Typography Indicates the pointer to a typography object <b>OH_Drawing_Typography</b>.
1547  * @return Indicates the pointer to a line metrics object <b>OH_Drawing_LineMetrics</b>.
1548  * @since 12
1549  * @version 1.0
1550  */
1551 OH_Drawing_LineMetrics* OH_Drawing_TypographyGetLineMetrics(OH_Drawing_Typography*);
1552 
1553 /**
1554  * @brief Get the number of lines.
1555  *
1556  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1557  * @param OH_Drawing_LineMetrics Indicates the pointer to a line metrics object <b>OH_Drawing_LineMetrics</b>.
1558  * @return Returns the number of lines.
1559  * @since 12
1560  * @version 1.0
1561  */
1562 size_t OH_Drawing_LineMetricsGetSize(OH_Drawing_LineMetrics*);
1563 
1564 /**
1565  * @brief Releases the memory occupied by line metrics.
1566  *
1567  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1568  * @param OH_Drawing_LineMetrics Indicates the pointer to a line metrics object <b>OH_Drawing_LineMetrics</b>.
1569  * @since 12
1570  * @version 1.0
1571  */
1572 void OH_Drawing_DestroyLineMetrics(OH_Drawing_LineMetrics*);
1573 
1574 /**
1575  * @brief Gets the specified line by line number.
1576  *
1577  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1578  * @param OH_Drawing_Typography Indicates the pointer to a typography object <b>OH_Drawing_Typography</b>.
1579  * @param int Line number.
1580  * @param OH_Drawing_LineMetrics Indicates the pointer to a line metrics object <b>OH_Drawing_LineMetrics</b>.
1581  * @return Whether the line metrics was obtained.
1582  * @since 12
1583  * @version 1.0
1584  */
1585 bool OH_Drawing_TypographyGetLineMetricsAt(OH_Drawing_Typography*, int, OH_Drawing_LineMetrics*);
1586 
1587 /**
1588  * @brief Gets element with index in vector of Indents.
1589  *
1590  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1591  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1592  * @param int Indicates the index to set.
1593  * @return float Indicates the element with the index in vector of Indents.
1594  * @since 12
1595  * @version 1.0
1596  */
1597 float OH_Drawing_TypographyGetIndentsWithIndex(OH_Drawing_Typography*, int);
1598 
1599 /**
1600  * @brief Set indents of the typography.
1601  *
1602  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1603  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1604  * @param float Indicates the pointer to the indents to set.
1605  * @since 12
1606  * @version 1.0
1607  */
1608 void OH_Drawing_TypographySetIndents(OH_Drawing_Typography*, int, const float indents[]);
1609 
1610 /**
1611  * @brief Creates an <b>OH_Drawing_TextShadow</b> object.
1612  *
1613  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1614  * @return Returns the pointer to the <b>OH_Drawing_TextShadow</b> object created.
1615  * @since 12
1616  * @version 1.0
1617  */
1618 OH_Drawing_TextShadow* OH_Drawing_CreateTextShadow(void);
1619 
1620 /**
1621  * @brief Releases the memory occupied by an <b>OH_Drawing_TextShadow</b> object.
1622  *
1623  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1624  * @param OH_Drawing_TextShadow Indicates the pointer to an <b>OH_Drawing_TextShadow</b> object.
1625  * @since 12
1626  * @version 1.0
1627  */
1628 void OH_Drawing_DestroyTextShadow(OH_Drawing_TextShadow*);
1629 
1630 /**
1631  * @brief Gets the size of vector of TextShadow in TextStyle.
1632  *
1633  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1634  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1635  * @return Returns the size of vector.
1636  * @since 12
1637  * @version 1.0
1638  */
1639 int OH_Drawing_TextStyleGetShadowCount(OH_Drawing_TextStyle*);
1640 
1641 /**
1642  * @brief Gets the vector of TextShadow in TextStyle.
1643  *
1644  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1645  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1646  * @return Returns the pointer to vector of <b>OH_Drawing_TextShadow</b> objects.
1647  * @since 12
1648  * @version 1.0
1649  */
1650 OH_Drawing_TextShadow* OH_Drawing_TextStyleGetShadows(OH_Drawing_TextStyle*);
1651 
1652 /**
1653  * @brief Adds element in vector of TextShadow in TextStyle.
1654  *
1655  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1656  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1657  * @param OH_Drawing_TextShadow Indicates the pointer to an <b>OH_Drawing_TextShadow</b> object.
1658  * @since 12
1659  * @version 1.0
1660  */
1661 void OH_Drawing_TextStyleAddShadow(OH_Drawing_TextStyle*, OH_Drawing_TextShadow*);
1662 
1663 /**
1664  * @brief Clears elements in vector of TextShadow in TextStyle.
1665  *
1666  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1667  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1668  * @since 12
1669  * @version 1.0
1670  */
1671 void OH_Drawing_TextStyleClearShadows(OH_Drawing_TextStyle*);
1672 
1673 /**
1674  * @brief Gets element in vector of TextShadow with index.
1675  *
1676  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1677  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1678  * @param int Indicates the index to set.
1679  * @return Returns the pointer to element with the index in vector of <b>OH_Drawing_TextShadow</b> objects.
1680  * @since 12
1681  * @version 1.0
1682  */
1683 OH_Drawing_TextShadow* OH_Drawing_TextStyleGetShadowWithIndex(OH_Drawing_TextStyle*, int);
1684 
1685 /**
1686  * @brief Releases the memory occupied by  vector with <b>OH_Drawing_TextShadow</b> objects.
1687  *
1688  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1689  * @param OH_Drawing_TextShadow Indicates the pointer to an <b>OH_Drawing_TextShadow</b> object.
1690  * @since 12
1691  * @version 1.0
1692  */
1693 void OH_Drawing_DestroyTextShadows(OH_Drawing_TextShadow*);
1694 
1695 /**
1696  * @brief Sets the font weight of text typography.
1697  *
1698  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1699  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1700  * @param int Indicates the font weight of text typography to set.
1701  * For details, see the enum <b>OH_Drawing_FontWeight</b>.
1702  * @since 12
1703  * @version 1.0
1704  */
1705 void OH_Drawing_SetTypographyTextFontWeight(OH_Drawing_TypographyStyle*, int);
1706 
1707 /**
1708  * @brief Sets the font style of text typography.
1709  *
1710  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1711  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1712  * @param int Indicates the font style of text typography to set. For details, see the enum <b>OH_Drawing_FontStyle</b>.
1713  * @since 12
1714  * @version 1.0
1715  */
1716 void OH_Drawing_SetTypographyTextFontStyle(OH_Drawing_TypographyStyle*, int);
1717 
1718 /**
1719  * @brief Sets the font family of text typography.
1720  *
1721  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1722  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1723  * @param char Indicates the pointer to the font family of text typography to set.
1724  * @since 12
1725  * @version 1.0
1726  */
1727 void OH_Drawing_SetTypographyTextFontFamily(OH_Drawing_TypographyStyle*, const char*);
1728 
1729 /**
1730  * @brief Sets the font size of text typography.
1731  *
1732  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1733  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1734  * @param double Indicates the font size of text typography to set.
1735  * @since 12
1736  * @version 1.0
1737  */
1738 void OH_Drawing_SetTypographyTextFontSize(OH_Drawing_TypographyStyle*, double);
1739 
1740 /**
1741  * @brief Sets the font height of text typography.
1742  *
1743  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1744  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1745  * @param double Indicates the font height of text typography to set.
1746  * @since 12
1747  * @version 1.0
1748  */
1749 void OH_Drawing_SetTypographyTextFontHeight(OH_Drawing_TypographyStyle*, double /* fontHeight */);
1750 
1751 /**
1752  * @brief Sets the half leading of text typography.
1753  *
1754  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1755  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1756  * @param bool Indicates the half leading of text typography to set.
1757  * @since 12
1758  * @version 1.0
1759  */
1760 void OH_Drawing_SetTypographyTextHalfLeading(OH_Drawing_TypographyStyle*, bool);
1761 
1762 /**
1763  * @brief Sets whether to enable line style for text typography.
1764  *
1765  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1766  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1767  * @param bool Indicates whether the line style for text typography is used.
1768  * @since 12
1769  * @version 1.0
1770  */
1771 void OH_Drawing_SetTypographyTextUseLineStyle(OH_Drawing_TypographyStyle*, bool);
1772 
1773 /**
1774  * @brief Sets the font weight of line style for text typography.
1775  *
1776  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1777  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1778  * @param int Indicates the font weight of line style for text typography to set.
1779  * For details, see the enum <b>OH_Drawing_FontWeight</b>.
1780  * @since 12
1781  * @version 1.0
1782  */
1783 void OH_Drawing_SetTypographyTextLineStyleFontWeight(OH_Drawing_TypographyStyle*, int);
1784 
1785 /**
1786  * @brief Sets the font style of line style for text typography.
1787  *
1788  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1789  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1790  * @param int Indicates the font style of line style for text typography to set.
1791  * For details, see the enum <b>OH_Drawing_FontStyle</b>.
1792  * @since 12
1793  * @version 1.0
1794  */
1795 void OH_Drawing_SetTypographyTextLineStyleFontStyle(OH_Drawing_TypographyStyle*, int);
1796 
1797 /**
1798  * @brief Sets the font families of line style for text typography.
1799  *
1800  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1801  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1802  * @param int Indicates the number of font families to set.
1803  * @param char Indicates the pointer to the font families of line style for text typography to set.
1804  * @since 12
1805  * @version 1.0
1806  */
1807 void OH_Drawing_SetTypographyTextLineStyleFontFamilies(OH_Drawing_TypographyStyle*,
1808     int /* fontFamiliesNumber */, const char* fontFamilies[]);
1809 
1810 /**
1811  * @brief Sets the font size of line style for text typography.
1812  *
1813  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1814  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1815  * @param double Indicates the font size of line style for text typography to set.
1816  * @since 12
1817  * @version 1.0
1818  */
1819 void OH_Drawing_SetTypographyTextLineStyleFontSize(OH_Drawing_TypographyStyle*, double);
1820 
1821 /**
1822  * @brief Sets the font height of line style for text typography.
1823  *
1824  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1825  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1826  * @param double Indicates the font height of line style for text typography to set.
1827  * @since 12
1828  * @version 1.0
1829  */
1830 void OH_Drawing_SetTypographyTextLineStyleFontHeight(OH_Drawing_TypographyStyle*, double /* fontHeight */);
1831 
1832 /**
1833  * @brief Sets the half leading of line style for text typography.
1834  *
1835  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1836  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1837  * @param bool Indicates the half leading of line for text typography to set.
1838  * @since 12
1839  * @version 1.0
1840  */
1841 void OH_Drawing_SetTypographyTextLineStyleHalfLeading(OH_Drawing_TypographyStyle*, bool);
1842 
1843 /**
1844  * @brief Sets the spacing scale of line style for text typography.
1845  *
1846  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1847  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1848  * @param double Indicates the space scale of line for text typography to set.
1849  * @since 12
1850  * @version 1.0
1851  */
1852 void OH_Drawing_SetTypographyTextLineStyleSpacingScale(OH_Drawing_TypographyStyle*, double);
1853 
1854 /**
1855  * @brief Sets whether only line style is enabled for text typography.
1856  *
1857  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1858  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1859  * @param bool Indicates the line style for text typography to set only.
1860  * @since 12
1861  * @version 1.0
1862  */
1863 void OH_Drawing_SetTypographyTextLineStyleOnly(OH_Drawing_TypographyStyle*, bool);
1864 
1865 /**
1866  * @brief get line fontmetrics.
1867  *
1868  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1869  * @param OH_Drawing_Typography Indicates the pointer to a typography object {@link OH_Drawing_Typography}.
1870  * @param OH_Drawing_TextStyle Indicates the pointer to a text style object {@link OH_Drawing_TextStyle}.
1871  * @param OH_Drawing_Font_Metrics Indicates the pointer to a font metrics object {@link OH_Drawing_Font_Metrics}.
1872  * @return Whether the font metrics was obtained.
1873  * @since 12
1874  * @version 1.0
1875  */
1876 bool OH_Drawing_TextStyleGetFontMetrics(OH_Drawing_Typography*, OH_Drawing_TextStyle*, OH_Drawing_Font_Metrics*);
1877 
1878 /**
1879  * @brief get line fontmetrics.
1880  *
1881  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1882  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1883  * @param OH_Drawing_TextStyle Indicates the pointer to a text style object {@link OH_Drawing_TextStyle}.
1884  * @since 12
1885  * @version 1.0
1886  */
1887 void OH_Drawing_SetTypographyTextStyle(OH_Drawing_TypographyStyle*, OH_Drawing_TextStyle*);
1888 
1889 /**
1890  * @brief set line text range.
1891  *
1892  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1893  * @param OH_Drawing_Typography Indicates the pointer to an <b>OH_Drawing_Typography</b> object.
1894  * @param char Indicates the line textellipsis.
1895  * @since 12
1896  * @version 1.0
1897  */
1898 void OH_Drawing_SetTypographyTextEllipsis(OH_Drawing_TypographyStyle*, const char*);
1899 
1900 /**
1901  * @brief Sets the locale of lines in a text file.
1902  *
1903  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1904  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1905  * @param char Indicates the pointer to the locale to set.
1906  * @since 12
1907  * @version 1.0
1908  */
1909 void OH_Drawing_SetTypographyTextLocale(OH_Drawing_TypographyStyle*, const char*);
1910 
1911 /**
1912  * @brief Sets the textSplitRatio of lines in a text file.
1913  *
1914  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1915  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1916  * @param float Indicates the textSplitRatio of lines to set..
1917  * @since 12
1918  * @version 1.0
1919  */
1920 void OH_Drawing_SetTypographyTextSplitRatio(OH_Drawing_TypographyStyle*,  float);
1921 
1922 /**
1923  * @brief Gets the TextStyle of lines in a text file.
1924  *
1925  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1926  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1927  * @since 12
1928  * @version 1.0
1929  */
1930 OH_Drawing_TextStyle* OH_Drawing_TypographyGetTextStyle(OH_Drawing_TypographyStyle*);
1931 
1932 /**
1933  * @brief Gets the EffectiveAlign of lines in a text file.
1934  *
1935  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1936  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1937  * @since 12
1938  * @version 1.0
1939  */
1940 int OH_Drawing_TypographyGetEffectiveAlignment(OH_Drawing_TypographyStyle*);
1941 
1942 /**
1943  * @brief Gets the IsUnlimitedLines of lines in a text file.
1944  *
1945  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1946  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1947  * @since 12
1948  * @version 1.0
1949  */
1950 bool  OH_Drawing_TypographyIsLineUnlimited(OH_Drawing_TypographyStyle*);
1951 
1952 /**
1953  * @brief Gets the IsEllipsized of lines in a text file.
1954  *
1955  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1956  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
1957  * @return Returns IsEllipsized of text.
1958  * @since 12
1959  * @version 1.0
1960  */
1961 bool  OH_Drawing_TypographyIsEllipsized(OH_Drawing_TypographyStyle*);
1962 
1963 /**
1964  * @brief Set struct of background rect and styleId of text.
1965  *
1966  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1967  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1968  * @param OH_Drawing_RectStyle_Info Indicates the pointer to an <b>OH_Drawing_RectStyle_Info</b> object.
1969  * @param styleId Indicates the styleId of text to set.
1970  * @since 12
1971  * @version 1.0
1972  */
1973 void OH_Drawing_TextStyleSetBackgroundRect(OH_Drawing_TextStyle*, const OH_Drawing_RectStyle_Info*, int styleId);
1974 
1975 /**
1976  * @brief Add symbols in creating typography.
1977  *
1978  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1979  * @param OH_Drawing_TypographyCreate Indicates the pointer to an <b>OH_Drawing_TypographyCreate</b> object.
1980  * @param symbol Indicates the symbol to add.
1981  * @since 12
1982  * @version 1.0
1983  */
1984 void OH_Drawing_TypographyHandlerAddSymbol(OH_Drawing_TypographyCreate*, uint32_t symbol);
1985 
1986 /**
1987  * @brief Add font feature.
1988  *
1989  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
1990  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
1991  * @param tag Indicates the pointer to the tag to set.
1992  * @param value Indicates the value to set.
1993  * @since 12
1994  * @version 1.0
1995  */
1996 void OH_Drawing_TextStyleAddFontFeature(OH_Drawing_TextStyle*, const char* tag, int value);
1997 
1998 /**
1999  * @brief Add font variation.
2000  *
2001  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2002  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2003  * @param char* Indicates the pointer to font variation axis.
2004  * @param float Indicates the font variation value to set.
2005  * @since 12
2006  * @version 1.0
2007  */
2008 void OH_Drawing_TextStyleAddFontVariation(OH_Drawing_TextStyle*, const char* /* axis */, const float /* value */);
2009 
2010 /**
2011  * @brief Get all font features.
2012  *
2013  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2014  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2015  * @return OH_Drawing_FontFeature Indicates the pointer to an array of structures of OH_Drawing_FontFeature.
2016  * Get size of font feature by OH_Drawing_TextStyleGetFontFeatureSize.
2017  * @since 12
2018  * @version 1.0
2019  */
2020 OH_Drawing_FontFeature* OH_Drawing_TextStyleGetFontFeatures(OH_Drawing_TextStyle*);
2021 
2022 /**
2023  * @brief Release the memory occupied by array of structures of font features.
2024  *
2025  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2026  * @param OH_Drawing_FontFeature Indicates the pointer to an array of structures of OH_Drawing_FontFeature.
2027  * @param fontFeatureSize Indicates the size of array of structures of OH_Drawing_FontFeature.
2028  * @since 12
2029  * @version 1.0
2030  */
2031 void OH_Drawing_TextStyleDestroyFontFeatures(OH_Drawing_FontFeature*, size_t fontFeatureSize);
2032 
2033 /**
2034  * @brief Get size of font features.
2035  *
2036  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2037  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2038  * @return Returns the size of fontfeatures map.
2039  * @since 12
2040  * @version 1.0
2041  */
2042 size_t OH_Drawing_TextStyleGetFontFeatureSize(OH_Drawing_TextStyle*);
2043 
2044 /**
2045  * @brief Clear elements of font features.
2046  *
2047  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2048  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2049  * @since 12
2050  * @version 1.0
2051  */
2052 void OH_Drawing_TextStyleClearFontFeature(OH_Drawing_TextStyle*);
2053 
2054 /**
2055  * @brief Set baseline shift of text.
2056  *
2057  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2058  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2059  * @param lineShift Indicates the baseline shift to set.
2060  * @since 12
2061  * @version 1.0
2062  */
2063 void OH_Drawing_TextStyleSetBaselineShift(OH_Drawing_TextStyle*, double lineShift);
2064 
2065 /**
2066  * @brief Get baseline shift of text.
2067  *
2068  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2069  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2070  * @return Returns the baseline shift.
2071  * @since 12
2072  * @version 1.0
2073  */
2074 double OH_Drawing_TextStyleGetBaselineShift(OH_Drawing_TextStyle*);
2075 
2076 /**
2077  * @brief Gets the text color.
2078  *
2079  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2080  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2081  * @return Returns the text color.
2082  * @since 12
2083  * @version 1.0
2084  */
2085 uint32_t OH_Drawing_TextStyleGetColor(OH_Drawing_TextStyle*);
2086 
2087 /**
2088  * @brief Gets text decoration style.
2089  *
2090  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2091  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2092  * @return Returns text decoration style.
2093  * @since 12
2094  * @version 1.0
2095  */
2096 OH_Drawing_TextDecorationStyle OH_Drawing_TextStyleGetDecorationStyle(OH_Drawing_TextStyle*);
2097 
2098 /**
2099  * @brief Gets font weight.
2100  *
2101  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2102  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2103  * @return Returns font Weight.
2104  * @since 12
2105  * @version 1.0
2106  */
2107 OH_Drawing_FontWeight OH_Drawing_TextStyleGetFontWeight(OH_Drawing_TextStyle*);
2108 
2109 /**
2110  * @brief Gets font style.
2111  *
2112  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2113  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2114  * @return Returns font style.
2115  * @since 12
2116  * @version 1.0
2117  */
2118 OH_Drawing_FontStyle OH_Drawing_TextStyleGetFontStyle(OH_Drawing_TextStyle*);
2119 
2120 /**
2121  * @brief Gets the font baseline.
2122  *
2123  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2124  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2125  * @return Returns the font baseline.
2126  * @since 12
2127  * @version 1.0
2128  */
2129 OH_Drawing_TextBaseline OH_Drawing_TextStyleGetBaseline(OH_Drawing_TextStyle*);
2130 
2131 /**
2132  * @brief Gets a list of font families.
2133  *
2134  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2135  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2136  * @param num Indicates count of font families result.
2137  * @return Returns a list of font families.
2138  * @since 12
2139  * @version 1.0
2140  */
2141 char** OH_Drawing_TextStyleGetFontFamilies(OH_Drawing_TextStyle*, size_t* num);
2142 
2143 /**
2144  * @brief Releases the memory occupied by a list of font families.
2145  *
2146  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2147  * @param fontFamilies Indicates the pointer to a list of font families.
2148  * @param num Indicates the count of obtained font families.
2149  * @since 12
2150  * @version 1.0
2151  */
2152 void OH_Drawing_TextStyleDestroyFontFamilies(char** fontFamilies, size_t num);
2153 
2154 /**
2155  * @brief Gets font size.
2156  *
2157  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2158  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2159  * @return Returns font size.
2160  * @since 12
2161  * @version 1.0
2162  */
2163 double OH_Drawing_TextStyleGetFontSize(OH_Drawing_TextStyle*);
2164 
2165 /**
2166  * @brief Gets the letter spacing of the text.
2167  *
2168  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2169  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2170  * @return Returns the size of the letter spacing.
2171  * @since 12
2172  * @version 1.0
2173  */
2174 double OH_Drawing_TextStyleGetLetterSpacing(OH_Drawing_TextStyle*);
2175 
2176 /**
2177  * @brief Gets the word spacing of the text.
2178  *
2179  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2180  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2181  * @return Returns word spacing size.
2182  * @since 12
2183  * @version 1.0
2184  */
2185 double OH_Drawing_TextStyleGetWordSpacing(OH_Drawing_TextStyle*);
2186 
2187 /**
2188  * @brief Gets font height.
2189  *
2190  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2191  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2192  * @return Returns font height.
2193  * @since 12
2194  * @version 1.0
2195  */
2196 double OH_Drawing_TextStyleGetFontHeight(OH_Drawing_TextStyle*);
2197 
2198 /**
2199  * @brief Gets whether to set the text to half line spacing.
2200  *
2201  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2202  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2203  * @return Returns true indicates that the spacing takes effect, false indicates that the spacing does not take effect.
2204  * @since 12
2205  * @version 1.0
2206  */
2207 bool OH_Drawing_TextStyleGetHalfLeading(OH_Drawing_TextStyle*);
2208 
2209 /**
2210  * @brief Gets the locale.
2211  *
2212  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2213  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2214  * @return Returns a locale of data type as a pointer to a char. As with the TextStyle lifecycle.
2215  * No release is required and the return value is invalidated after the set method is called.
2216  * @since 12
2217  * @version 1.0
2218  */
2219 const char* OH_Drawing_TextStyleGetLocale(OH_Drawing_TextStyle*);
2220 
2221 /**
2222  * @brief Set mode of applying the leading over and under text.
2223  *
2224  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2225  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
2226  * @param heightMode Indicates the mode to set.
2227  * @since 12
2228  * @version 1.0
2229  */
2230 void OH_Drawing_TypographyTextSetHeightBehavior(OH_Drawing_TypographyStyle*, OH_Drawing_TextHeightBehavior heightMode);
2231 
2232 /**
2233  * @brief Get mode of applying the leading over and under text.
2234  *
2235  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2236  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
2237  * @return Returns the mode.
2238  * @since 12
2239  * @version 1.0
2240  */
2241 OH_Drawing_TextHeightBehavior OH_Drawing_TypographyTextGetHeightBehavior(OH_Drawing_TypographyStyle*);
2242 
2243 /**
2244  * @brief Mark the Typography as dirty, and initially state the Typography.
2245  *
2246  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2247  * @param OH_Drawing_Typography Indicates the pointer to the text <b>OH_Drawing_Typography</b> object.
2248  * @since 12
2249  * @version 1.0
2250  */
2251 void OH_Drawing_TypographyMarkDirty(OH_Drawing_Typography*);
2252 
2253 /**
2254  * @brief Get the unresolved Glyphs count of lines in a text.
2255  *
2256  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2257  * @param OH_Drawing_Typography Indicates the pointer to the text <b>OH_Drawing_Typography</b> object.
2258  * @return Returns unresolved Glyphs count.
2259  * @since 12
2260  * @version 1.0
2261  */
2262 int32_t OH_Drawing_TypographyGetUnresolvedGlyphsCount(OH_Drawing_Typography*);
2263 
2264 /**
2265  * @brief Update the font size of lines in a text.
2266  *
2267  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2268  * @param OH_Drawing_Typography Indicates the pointer to the text <b>OH_Drawing_Typography</b> object.
2269  * @param from Indicates the source of the original font size.
2270  * @param to Indicates the destination of the updated font size.
2271  * @param fontSize Indicates the size of the font.
2272  * @since 12
2273  * @version 1.0
2274  */
2275 void OH_Drawing_TypographyUpdateFontSize(OH_Drawing_Typography*, size_t from, size_t to, float fontSize);
2276 
2277 /**
2278  * @brief Get whether the text layout enables line styles.
2279  *
2280  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2281  * @param OH_Drawing_TypographyStyle Indicates the pointer to the text <b>OH_Drawing_TypographyStyle</b> object.
2282  * @return Whether or not to enable line styles in text layout only, true means enable, false means disable.
2283  * @since 12
2284  * @version 1.0
2285  */
2286 bool OH_Drawing_TypographyTextGetLineStyle(OH_Drawing_TypographyStyle*);
2287 
2288 /**
2289  * @brief Get the font weight of line style for text typography.
2290  *
2291  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2292  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2293  * @return Return the font weight of line style for text typography. For details,
2294  * see the enum <b>OH_Drawing_FontWeight</b>.
2295  * @since 12
2296  * @version 1.0
2297  */
2298 OH_Drawing_FontWeight OH_Drawing_TypographyTextlineStyleGetFontWeight(OH_Drawing_TypographyStyle*);
2299 
2300 /**
2301  * @brief Get the font style of line style for text typography.
2302  *
2303  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2304  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2305  * @return Return the font style of line style for text typography. For details,
2306  * see the enum <b>OH_Drawing_FontStyle</b>.
2307  * @since 12
2308  * @version 1.0
2309  */
2310 OH_Drawing_FontStyle OH_Drawing_TypographyTextlineStyleGetFontStyle(OH_Drawing_TypographyStyle*);
2311 
2312 /**
2313  * @brief Get the font families of line style for text typography.
2314  *
2315  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2316  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2317  * @param num The number of obtained font names.
2318  * @return Return the font families of line style for text typography.
2319  * @since 12
2320  * @version 1.0
2321  */
2322 char** OH_Drawing_TypographyTextlineStyleGetFontFamilies(OH_Drawing_TypographyStyle*, size_t* num);
2323 
2324 /**
2325  * @brief Releases the memory occupied by a list of font families names.
2326  *
2327  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2328  * @param fontFamilies Indicates the pointer to a list of font families names.
2329  * @param fontFamiliesNum Indicates the number of obtained font names.
2330  * @since 12
2331  * @version 1.0
2332  */
2333 void OH_Drawing_TypographyTextlineStyleDestroyFontFamilies(char** fontFamilies, size_t fontFamiliesNum);
2334 
2335 /**
2336  * @brief Get the font size of font size for text typography.
2337  *
2338  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2339  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2340  * @return Return the font size of font size for text typography.
2341  * @since 12
2342  * @version 1.0
2343  */
2344 double OH_Drawing_TypographyTextlineStyleGetFontSize(OH_Drawing_TypographyStyle*);
2345 
2346 /**
2347  * @brief Get the font height scale in text layout.
2348  *
2349  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2350  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2351  * @return Retrun the font height scale in text layout.
2352  * @since 12
2353  * @version 1.0
2354  */
2355 double OH_Drawing_TypographyTextlineStyleGetHeightScale(OH_Drawing_TypographyStyle*);
2356 
2357 /**
2358  * @brief Get whether to enable font height for line styles in text layout only.
2359  *
2360  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2361  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2362  * @return Whether or not to enable the font height for line styles in text layout only,
2363  * true means enable, false means disable.
2364  * @since 12
2365  * @version 1.0
2366  */
2367 bool OH_Drawing_TypographyTextlineStyleGetHeightOnly(OH_Drawing_TypographyStyle*);
2368 
2369 /**
2370  * @brief Get the half leading of line style for text typography.
2371  *
2372  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2373  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2374  * @return Whether to enable the text line half leading style, true means enable, false means disable.
2375  * @since 12
2376  * @version 1.0
2377  */
2378 bool OH_Drawing_TypographyTextlineStyleGetHalfLeading(OH_Drawing_TypographyStyle*);
2379 
2380 /**
2381  * @brief Get the spacing scale of line style for text typography.
2382  *
2383  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2384  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2385  * @return Return the spacing scale of line style for text typography.
2386  * @since 12
2387  * @version 1.0
2388  */
2389 double OH_Drawing_TypographyTextlineStyleGetSpacingScale(OH_Drawing_TypographyStyle*);
2390 
2391 /**
2392  * @brief Get whether only line style is enabled for text typography.
2393  *
2394  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2395  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2396  * @return Returns whether only line style is enabled for text layout, true means it is enabled, false means it is not.
2397  * @since 12
2398  * @version 1.0
2399  */
2400 bool OH_Drawing_TypographyTextlineGetStyleOnly(OH_Drawing_TypographyStyle*);
2401 
2402 /**
2403  * @brief Get the text alignment mode.
2404  *
2405  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2406  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2407  * @return Return the text alignment mode. For details, see the enum <b>OH_Drawing_TextAlign</b>.
2408  * @since 12
2409  * @version 1.0
2410  */
2411 OH_Drawing_TextAlign OH_Drawing_TypographyGetTextAlign(OH_Drawing_TypographyStyle*);
2412 
2413 /**
2414  * @brief Get the text direction.
2415  *
2416  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2417  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2418  * @return Return the text direction. For details, see the enum <b>OH_Drawing_TextDirection</b>.
2419  * @since 12
2420  * @version 1.0
2421  */
2422 OH_Drawing_TextDirection OH_Drawing_TypographyGetTextDirection(OH_Drawing_TypographyStyle*);
2423 
2424 /**
2425  * @brief Sets the maximum number of lines in a text.
2426  *
2427  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2428  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2429  * @return Return the maximum number of lines in a text.
2430  * @since 12
2431  * @version 1.0
2432  */
2433 size_t OH_Drawing_TypographyGetTextMaxLines(OH_Drawing_TypographyStyle*);
2434 
2435 /**
2436  * @brief Get the ellipsis of lines in a text.
2437  *
2438  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2439  * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object <b>OH_Drawing_TypographyStyle</b>.
2440  * @return Return the ellipsis of lines in a text.
2441  * @since 12
2442  * @version 1.0
2443  */
2444 char* OH_Drawing_TypographyGetTextEllipsis(OH_Drawing_TypographyStyle*);
2445 
2446 /**
2447  * @brief Releases the memory occupied by a list of Ellipsis names.
2448  *
2449  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2450  * @param ellipsis Indicates the pointer to a list of Ellipsis names.
2451  * @since 12
2452  * @version 1.0
2453  */
2454 void OH_Drawing_TypographyDestroyEllipsis(char* ellipsis);
2455 
2456 /**
2457  * @brief Overriding the class ParagraphStyle equals operator.
2458  *
2459  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2460  * @param from Indicates source of comparison object.
2461  * @param to Indicates comparison object.
2462  * @return Compare result.
2463  * @since 12
2464  * @version 1.0
2465  */
2466 bool OH_Drawing_TypographyStyleEquals(OH_Drawing_TypographyStyle* from, OH_Drawing_TypographyStyle* to);
2467 
2468 /**
2469  * @brief Gets system font configuration information.
2470  *
2471  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2472  * @param OH_Drawing_FontConfigInfoErrorCode Indicates error code returned, based on the error code to
2473  * release the memory of system font configuration information.
2474  * For details, see the enum <b>OH_Drawing_FontConfigInfoErrorCode</b>.
2475  * @return Returns a pointer to system font configuration information.
2476  * Indicates the pointer to an <b>OH_Drawing_FontConfigInfo</b> object.
2477  * @since 12
2478  * @version 1.0
2479  */
2480 OH_Drawing_FontConfigInfo* OH_Drawing_GetSystemFontConfigInfo(OH_Drawing_FontConfigInfoErrorCode*);
2481 
2482 /**
2483  * @brief Releases the memory occupied by system font configuration information.
2484  *
2485  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2486  * @param OH_Drawing_FontConfigInfo Indicates the pointer to an <b>OH_Drawing_FontConfigInfo</b> object.
2487  * @since 12
2488  * @version 1.0
2489  */
2490 void OH_Drawing_DestroySystemFontConfigInfo(OH_Drawing_FontConfigInfo*);
2491 
2492 /**
2493  * @brief Sets the strut style for text typography.
2494  *
2495  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2496  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
2497  * @param OH_Drawing_StrutStyle Indicates the pointer of <b>OH_Drawing_StrutStyle</b> object.
2498  * @since 12
2499  * @version 1.0
2500  */
2501 void OH_Drawing_SetTypographyStyleTextStrutStyle(OH_Drawing_TypographyStyle*, OH_Drawing_StrutStyle*);
2502 
2503 /**
2504  * @brief Releases the memory occupied by an <b>OH_Drawing_StrutStyle</b> object.
2505  *
2506  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2507  * @param OH_Drawing_StrutStyle Indicates the pointer of <b>OH_Drawing_StrutStyle</b> object.
2508  * @since 12
2509  * @version 1.0
2510  */
2511 void OH_Drawing_TypographyStyleDestroyStrutStyle(OH_Drawing_StrutStyle*);
2512 
2513 /**
2514  * @brief Gets the strut style for text typography.
2515  *
2516  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2517  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
2518  * @return Returns the pointer of <b>OH_Drawing_StrutStyle</b> object.
2519  * @since 12
2520  * @version 1.0
2521  */
2522 OH_Drawing_StrutStyle* OH_Drawing_TypographyStyleGetStrutStyle(OH_Drawing_TypographyStyle*);
2523 
2524 /**
2525  * @brief Overriding the struct StrutStyle equals operator.
2526  *
2527  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2528  * @param from Indicates source of comparison object.
2529  * @param to Indicates comparison object.
2530  * @since 12
2531  * @version 1.0
2532  */
2533 bool OH_Drawing_TypographyStyleStrutStyleEquals(OH_Drawing_StrutStyle* from, OH_Drawing_StrutStyle* to);
2534 
2535 /**
2536  * @brief Sets the hinting of text typography.
2537  *
2538  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2539  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
2540  * @param hintsEnabled Indicates the hinting of text typography.
2541  * @since 12
2542  * @version 1.0
2543  */
2544 void OH_Drawing_TypographyStyleSetHintsEnabled(OH_Drawing_TypographyStyle* style, bool hintsEnabled);
2545 
2546 /**
2547  * @brief Getting all font metrics from target row.
2548  *
2549  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2550  * @param OH_Drawing_Typography Indicates a pointer to a typesetting object.
2551  * @param lineNumber Indicates specifies the number of rows.
2552  * @param fontMetricsSize Indicates the return size of font metrics struct from current line.
2553  * @return Returns all character measures for the current row.
2554  * @since 12
2555  * @version 1.0
2556  */
2557 OH_Drawing_Font_Metrics* OH_Drawing_TypographyGetLineFontMetrics(OH_Drawing_Typography*,
2558     size_t lineNumber, size_t* fontMetricsSize);
2559 
2560 /**
2561  * @brief Free up all the space taken up by the lineFontMetric.
2562  *
2563  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2564  * @param OH_Drawing_Font_Metrics Indicates the first address of the lineFontMetric gather to be destroyed.
2565  * @since 12
2566  * @version 1.0
2567  */
2568 void OH_Drawing_TypographyDestroyLineFontMetrics(OH_Drawing_Font_Metrics*);
2569 
2570 /**
2571  * @brief Sets the text style, including font weight, font width and font slant.
2572  *
2573  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2574  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2575  * @param OH_Drawing_FontStyleStruct Indicates an <b>OH_Drawing_FontStyleStruct</b> object.
2576  * @since 12
2577  * @version 1.0
2578  */
2579 void OH_Drawing_SetTextStyleFontStyleStruct(OH_Drawing_TextStyle* drawingTextStyle,
2580     OH_Drawing_FontStyleStruct fontStyle);
2581 
2582 /**
2583  * @brief Gets the text style, including font weight, font width and font slant.
2584  *
2585  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2586  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2587  * @return Returns the <b>OH_Drawing_FontStyleStruct</b> object getted.
2588  * @since 12
2589  * @version 1.0
2590  */
2591 OH_Drawing_FontStyleStruct OH_Drawing_TextStyleGetFontStyleStruct(OH_Drawing_TextStyle* drawingTextStyle);
2592 
2593 /**
2594  * @brief Sets the typography style, including font weight, font width and font slant.
2595  *
2596  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2597  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
2598  * @param OH_Drawing_FontStyleStruct Indicates an <b>OH_Drawing_FontStyleStruct</b> object.
2599  * @since 12
2600  * @version 1.0
2601  */
2602 void OH_Drawing_SetTypographyStyleFontStyleStruct(OH_Drawing_TypographyStyle* drawingStyle,
2603     OH_Drawing_FontStyleStruct fontStyle);
2604 
2605 /**
2606  * @brief Gets the typography style, including font weight, font width and font slant.
2607  *
2608  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2609  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
2610  * @return Returns the <b>OH_Drawing_FontStyleStruct</b> object getted.
2611  * @since 12
2612  * @version 1.0
2613  */
2614 OH_Drawing_FontStyleStruct OH_Drawing_TypographyStyleGetFontStyleStruct(OH_Drawing_TypographyStyle* drawingStyle);
2615 
2616 /**
2617  * @brief Gets whether the two TextStyle objects are equal.
2618  *
2619  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2620  * @param style Indicates source of comparison <b>OH_Drawing_TextStyle</b> object.
2621  * @param comparedStyle Indicates comparison <b>OH_Drawing_TextStyle</b> object.
2622  * @return Compare result.
2623  * @since 12
2624  * @version 1.0
2625  */
2626 bool OH_Drawing_TextStyleIsEqual(const OH_Drawing_TextStyle* style, const OH_Drawing_TextStyle* comparedStyle);
2627 
2628 /**
2629  * @brief Gets whether the font properties of two TextStyle objects are equal.
2630  *
2631  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2632  * @param style Indicates source of <b>comparison OH_Drawing_TextStyle</b> object.
2633  * @param comparedStyle Indicates comparison <b>OH_Drawing_TextStyle</b> object.
2634  * @return Compare result.
2635  * @since 12
2636  * @version 1.0
2637  */
2638 bool OH_Drawing_TextStyleIsEqualByFont(const OH_Drawing_TextStyle* style, const OH_Drawing_TextStyle* comparedStyle);
2639 
2640 /**
2641  * @brief Gets whether two TextStyle objects match attributes
2642  *
2643  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2644  * @param textStyleType Indicates enumerates of text style type.
2645  * @param style Indicates source of comparison <b>OH_Drawing_TextStyle</b> object.
2646  * @param comparedStyle Indicates comparison <b>OH_Drawing_TextStyle</b> object.
2647  * @return Match attributes result.
2648  * @since 12
2649  * @version 1.0
2650  */
2651 bool OH_Drawing_TextStyleIsAttributeMatched(const OH_Drawing_TextStyle* style,
2652     const OH_Drawing_TextStyle* comparedStyle, OH_Drawing_TextStyleType textStyleType);
2653 
2654 /**
2655  * @brief Set placeholder of TextStyle.
2656  *
2657  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2658  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2659  * @since 12
2660  * @version 1.0
2661  */
2662 void OH_Drawing_TextStyleSetPlaceholder(OH_Drawing_TextStyle* style);
2663 
2664 /**
2665  * @brief Gets whether placeholder is enable.
2666  *
2667  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2668  * @param OH_Drawing_TextStyle Indicates the pointer to an <b>OH_Drawing_TextStyle</b> object.
2669  * @return Whether placeholder is enable.
2670  * @since 12
2671  * @version 1.0
2672  */
2673 bool OH_Drawing_TextStyleIsPlaceholder(OH_Drawing_TextStyle* style);
2674 
2675 /**
2676  * @brief Gets text alignment mode.
2677  *
2678  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2679  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
2680  * @return Returns text alignment mode.
2681  * @since 12
2682  * @version 1.0
2683  */
2684 OH_Drawing_TextAlign OH_Drawing_TypographyStyleGetEffectiveAlignment(OH_Drawing_TypographyStyle* style);
2685 
2686 /**
2687  * @brief Gets whether the hinting is enabled.
2688  *
2689  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2690  * @param OH_Drawing_TypographyStyle Indicates the pointer to an <b>OH_Drawing_TypographyStyle</b> object.
2691  * @return True, if the hinting takes effect; False, if the hinting does not take effect.
2692  * @since 12
2693  * @version 1.0
2694  */
2695 bool OH_Drawing_TypographyStyleIsHintEnabled(OH_Drawing_TypographyStyle* style);
2696 
2697 /**
2698  * @brief Releases the memory occupied by text box.
2699  *
2700  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2701  * @param OH_Drawing_TextBox Indicates the pointer to a text box object <b>OH_Drawing_TextBox</b>.
2702  * @since 12
2703  * @version 1.0
2704  */
2705 void OH_Drawing_TypographyDestroyTextBox(OH_Drawing_TextBox*);
2706 
2707 /** @brief Sets the parameter of text-shadow.
2708  *
2709  * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing
2710  * @param OH_Drawing_TextShadow Indicates the pointer to an <b>OH_Drawing_TextShadow</b> object.
2711  * @param color Indicates the color setting of text-shadow.
2712  * @param OH_Drawing_Point Indicates the pointer to an <b>OH_Drawing_Point</b> object.
2713  * @param blurRadius Indicates the radius of blur for text-shadow.
2714  * @since 12
2715  * @version 1.0
2716  */
2717 void OH_Drawing_SetTextShadow(OH_Drawing_TextShadow* shadow, uint32_t color, OH_Drawing_Point* offset,
2718     double blurRadius);
2719 
2720 #ifdef __cplusplus
2721 }
2722 #endif
2723 /** @} */
2724 #endif