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