diff --git a/graphic/graphic_2d/native_drawing/drawing_text_typography.h b/graphic/graphic_2d/native_drawing/drawing_text_typography.h index 90c0ebb964acfeefceb261dc2d170995ffbbd781..6009e956e2705e56049a2f1f133dc4dd0e25422d 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_typography.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_typography.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2022 Huawei Device Co., Ltd. + * Copyright (c) 2021-2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -1698,6 +1698,229 @@ float OH_Drawing_TypographyGetIndentsWithIndex(OH_Drawing_Typography*, int); void OH_Drawing_DestroyTextShadows(OH_Drawing_TextShadow*); /** + * @brief Mark the Typography as dirty, and initially state the Typography. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Typography Indicates the pointer to the text OH_Drawing_Typography object. + * @since 12 + * @version 1.0 + */ +void OH_Drawing_TypographyMarkDirty(OH_Drawing_Typography*); + +/** + * @brief Get the unresolved Glyphs count of lines in a text. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Typography Indicates the pointer to the text OH_Drawing_Typography object. + * @return Returns unresolved Glyphs count. + * @since 12 + * @version 1.0 + */ +int32_t OH_Drawing_TypographyGetUnresolvedGlyphsCount(OH_Drawing_Typography*); + +/** + * @brief Update the font size of lines in a text. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Typography Indicates the pointer to the text OH_Drawing_Typography object. + * @param from Indicates the source of the original font size. + * @param to Indicates the destination of the updated font size. + * @param fontSize Indicates the size of the font. + * @since 12 + * @version 1.0 + */ +void OH_Drawing_TypographyUpdateFontSize(OH_Drawing_Typography*, size_t from, size_t to, float fontSize); + +/** + * @brief Get whether the text layout enables line styles. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to the text OH_Drawing_TypographyStyle object. + * @return Whether or not to enable line styles in text layout only, true means enable, false means disable. + * @since 12 + * @version 1.0 + */ +bool OH_Drawing_TypographyTextGetLineStyle(OH_Drawing_TypographyStyle*); + +/** + * @brief Get the font weight of line style for text typography. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Return the font weight of line style for text typography. + * For details, see the enum OH_Drawing_FontWeight. + * @since 12 + * @version 1.0 + */ +OH_Drawing_FontWeight OH_Drawing_TypographyTextlineStyleGetFontWeight(OH_Drawing_TypographyStyle*); + +/** + * @brief Get the font style of line style for text typography. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Return the font style of line style for text typography. + * For details, see the enum OH_Drawing_FontStyle. + * @since 12 + * @version 1.0 + */ +OH_Drawing_FontStyle OH_Drawing_TypographyTextlineStyleGetFontStyle(OH_Drawing_TypographyStyle*); + +/** + * @brief Get the font families of line style for text typography. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @param num The number of obtained font names. + * @return Return the font families of line style for text typography. + * @since 12 + * @version 1.0 + */ +char** OH_Drawing_TypographyTextlineStyleGetFontFamilies(OH_Drawing_TypographyStyle*, size_t* num); + +/** + * @brief Releases the memory occupied by a list of font families names. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param fontFamilies Indicates the pointer to a list of font families names. + * @param fontFamiliesNum Indicates the number of obtained font names. + * @since 12 + * @version 1.0 + */ +void OH_Drawing_TypographyTextlineStyleDestroyFontFamilies(char** fontFamilies, size_t fontFamiliesNum); + +/** + * @brief Get the font size of font size for text typography. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Return the font size of font size for text typography. + * @since 12 + * @version 1.0 + */ +double OH_Drawing_TypographyTextlineStyleGetFontSize(OH_Drawing_TypographyStyle*); + +/** + * @brief Get the font height scale in text layout. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Retrun the font height scale in text layout. + * @since 12 + * @version 1.0 + */ +double OH_Drawing_TypographyTextlineStyleGetHeightScale(OH_Drawing_TypographyStyle*); + +/** + * @brief Get whether to enable font height for line styles in text layout only. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Whether or not to enable the font height for line styles in text layout only, + * true means enable, false means disable. + * @since 12 + * @version 1.0 + */ +bool OH_Drawing_TypographyTextlineStyleGetHeightOnly(OH_Drawing_TypographyStyle*); + +/** + * @brief Get the half leading of line style for text typography. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Whether to enable the text line half leading style, true means enable, false means disable. + * @since 12 + * @version 1.0 + */ +bool OH_Drawing_TypographyTextlineStyleGetHalfLeading(OH_Drawing_TypographyStyle*); + +/** + * @brief Get the spacing scale of line style for text typography. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Return the spacing scale of line style for text typography. + * @since 12 + * @version 1.0 + */ +double OH_Drawing_TypographyTextlineStyleGetSpacingScale(OH_Drawing_TypographyStyle*); + +/** + * @brief Get whether only line style is enabled for text typography. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Returns whether only line style is enabled for text layout, true means it is enabled, false means it is not. + * @since 12 + * @version 1.0 + */ +bool OH_Drawing_TypographyTextlineGetStyleOnly(OH_Drawing_TypographyStyle*); + +/** + * @brief Get the text alignment mode. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Return the text alignment mode. For details, see the enum OH_Drawing_TextAlign. + * @since 12 + * @version 1.0 + */ +OH_Drawing_TextAlign OH_Drawing_TypographyGetTextAlign(OH_Drawing_TypographyStyle*); + +/** + * @brief Get the text direction. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Return the text direction. For details, see the enum OH_Drawing_TextDirection. + * @since 12 + * @version 1.0 + */ +OH_Drawing_TextDirection OH_Drawing_TypographyGetTextDirection(OH_Drawing_TypographyStyle*); + +/** + * @brief Sets the maximum number of lines in a text. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Return the maximum number of lines in a text. + * @since 12 + * @version 1.0 + */ +size_t OH_Drawing_TypographyGetTextMaxLines(OH_Drawing_TypographyStyle*); + +/** + * @brief Get the ellipsis of lines in a text. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to a typography style object OH_Drawing_TypographyStyle. + * @return Return the ellipsis of lines in a text. + * @since 12 + * @version 1.0 + */ +char* OH_Drawing_TypographyGetTextEllipsis(OH_Drawing_TypographyStyle*); + +/** + * @brief Releases the memory occupied by a list of Ellipsis names. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param ellipsis Indicates the pointer to a list of Ellipsis names. + * @since 12 + * @version 1.0 + */ +void OH_Drawing_TypographyDestroyEllipsis(char* ellipsis); + +/** + * @brief Overriding the class ParagraphStyle equals operator. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param from Indicates source of comparison object. + * @param to Indicates comparison object. + * @return Compare result. + * @since 12 + * @version 1.0 + */ +bool OH_Drawing_TypographyStyleEquals(OH_Drawing_TypographyStyle* from, OH_Drawing_TypographyStyle* to); * @brief Set struct of background rect and styleId of text. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json index b0ed71fce71647195f16c80b7b7b71d7bbb9ffe2..79132140f9f76ed696911062257a4a8a92c7470f 100644 --- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json +++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json @@ -846,6 +846,94 @@ "first_introduced": "12", "name": "OH_Drawing_CreateSharedFontCollection" }, + { + "first_introduced": "12", + "name": "OH_Drawing_TypographyMarkDirty" + }, + { + "first_introduced": "12", + "name": "OH_Drawing_TypographyGetUnresolvedGlyphsCount" + }, + { + "first_introduced": "12", + "name": "OH_Drawing_TypographyUpdateFontSize" + }, + { + "first_introduced": "12", + "name": "OH_Drawing_RegisterThemeFontBuffer" + }, + { + "first_introduced": "12", + "name": "OH_Drawing_RegisterThemeFont" + }, + { + "first_introduced": "12", + "name": "OH_Drawing_TypographyTextGetLineStyle" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyTextlineStyleGetFontStyle" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyTextlineStyleGetFontWeight" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyTextlineStyleGetFontFamilies" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyTextlineStyleDestroyFontFamilies" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyTextlineStyleGetFontSize" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyTextlineStyleGetHeightOnly" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyTextlineStyleGetHeightScale" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyTextlineStyleGetHalfLeading" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyTextlineStyleGetSpacingScale" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyTextlineGetStyleOnly" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyGetTextAlign" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyGetTextDirection" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyGetTextMaxLines" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyGetTextEllipsis" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyDestroyEllipsis" + }, + { + "first_introduced": "12", + "name":"OH_Drawing_TypographyStyleEquals" + }, { "first_introduced": "12", "name": "OH_Drawing_TextStyleGetColor"