From 1ba879dd2c3046c40be63512ceb30e596130f4a2 Mon Sep 17 00:00:00 2001 From: changleipeng Date: Fri, 2 Feb 2024 09:02:27 +0000 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E8=A1=8C=E7=9A=84=E4=BD=8D=E7=BD=AE=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=88=96=E8=80=85=E6=8C=87=E5=AE=9A=E8=A1=8C=E7=9A=84=E7=AC=AC?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E6=96=87=E5=AD=97=E4=BD=8D=E7=BD=AE=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: changleipeng --- .../native_drawing/drawing_text_typography.h | 131 ++++++++++++++++++ 1 file changed, 131 insertions(+) diff --git a/zh-cn/native_sdk/graphic/native_drawing/drawing_text_typography.h b/zh-cn/native_sdk/graphic/native_drawing/drawing_text_typography.h index ec0cb841..f62de77b 100644 --- a/zh-cn/native_sdk/graphic/native_drawing/drawing_text_typography.h +++ b/zh-cn/native_sdk/graphic/native_drawing/drawing_text_typography.h @@ -286,6 +286,35 @@ typedef enum { RECT_WIDTH_STYLE_MAX, } OH_Drawing_RectWidthStyle; +/** + * @brief 文字行位置信息 + * + * @since 12 + * @version 1.0 + */ +typedef struct { + /** 文字ascender高度 */ + double ascender; + /** 文字descender高度 */ + double descender; + /** 大写字母的高度 */ + double capHeight; + /** 小写字母的高度 */ + double xHeight; + /** 文字宽度 */ + double width; + /** 行高 */ + double height; + /** 文字左端到容器左端距离,左对齐为0,右对齐为容器宽度减去行文字宽度 */ + double x; + /** 文字上端到容器上端高度,第一行为0,第二行为第一行高度 */ + double y; + /** 行起始位置字符索引 */ + size_t startIndex; + /** 行结束位置字符索引 */ + size_t endIndex; +} OH_Drawing_LineInfo; + /** * @brief 创建指向OH_Drawing_TypographyStyle对象的指针。 * @@ -472,6 +501,94 @@ void OH_Drawing_SetTextStyleFontStyle(OH_Drawing_TextStyle*, int /* OH_Drawing_F */ void OH_Drawing_SetTextStyleLocale(OH_Drawing_TextStyle*, const char*); +/** + * @brief 设置前景色画刷。 + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextStyle 指向OH_Drawing_TextStyle对象的指针,由{@link OH_Drawing_CreateTextStyle}获取。 + * @param OH_Drawing_Brush 指向OH_Drawing_Brush对象的指针,由{@link OH_Drawing_Brush}获取。 + * @since 12 + * @version 1.0 + */ +void OH_Drawing_SetTextStyleForegroundBrush(OH_Drawing_TextStyle*, OH_Drawing_Brush*); + +/** + * @brief 返回设置的前景色画刷。 + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextStyle 指向OH_Drawing_TextStyle对象的指针,由{@link OH_Drawing_CreateTextStyle}获取。 + * @return 指向OH_Drawing_Brush对象的指针,由{@link OH_Drawing_Brush}获取。 + * @since 12 + * @version 1.0 + */ +OH_Drawing_Brush* OH_Drawing_GetTextStyleForegroundBrush(OH_Drawing_TypographyStyle*); + +/** + * @brief 设置前景色画笔。 + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextStyle 指向OH_Drawing_TextStyle对象的指针,由{@link OH_Drawing_CreateTextStyle}获取。 + * @param OH_Drawing_Brush 指向OH_Drawing_Pen对象的指针,由{@link OH_Drawing_Pen}获取。 + * @since 12 + * @version 1.0 + */ +void OH_Drawing_SetTextStyleForegroundPen(OH_Drawing_TextStyle*, OH_Drawing_Pen*); + +/** + * @brief 返回设置的前景色画笔。 + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextStyle 指向OH_Drawing_TextStyle对象的指针,由{@link OH_Drawing_CreateTextStyle}获取。 + * @return 指向OH_Drawing_Pen对象的指针,由{@link OH_Drawing_Pen}获取。 + * @since 12 + * @version 1.0 + */ +OH_Drawing_Pen* OH_Drawing_GetTextStyleForegroundPen(OH_Drawing_TypographyStyle*); + +/** + * @brief 设置背景色画刷。 + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextStyle 指向OH_Drawing_TextStyle对象的指针,由{@link OH_Drawing_CreateTextStyle}获取。 + * @param OH_Drawing_Brush 指向OH_Drawing_Brush对象的指针,由{@link OH_Drawing_Brush}获取。 + * @since 12 + * @version 1.0 + */ +void OH_Drawing_SetTextStyleBackgroundBrush(OH_Drawing_TextStyle*, OH_Drawing_Brush*); + +/** + * @brief 返回设置的背景色画刷。 + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextStyle 指向OH_Drawing_TextStyle对象的指针,由{@link OH_Drawing_CreateTextStyle}获取。 + * @return 指向OH_Drawing_Brush对象的指针,由{@link OH_Drawing_Brush}获取。 + * @since 12 + * @version 1.0 + */ +OH_Drawing_Brush* OH_Drawing_GetTextStyleBackgroundBrush(OH_Drawing_TypographyStyle*); + +/** + * @brief 设置背景色画笔。 + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextStyle 指向OH_Drawing_TextStyle对象的指针,由{@link OH_Drawing_CreateTextStyle}获取。 + * @param OH_Drawing_Brush 指向OH_Drawing_Pen对象的指针,由{@link OH_Drawing_Pen}获取。 + * @since 12 + * @version 1.0 + */ +void OH_Drawing_SetTextStyleBackgroundPen(OH_Drawing_TextStyle*, OH_Drawing_Pen*); + +/** + * @brief 返回设置的背景色画笔。 + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextStyle 指向OH_Drawing_TextStyle对象的指针,由{@link OH_Drawing_CreateTextStyle}获取。 + * @return 指向OH_Drawing_Pen对象的指针,由{@link OH_Drawing_Pen}获取。 + * @since 12 + * @version 1.0 + */ +OH_Drawing_Pen* OH_Drawing_GetTextStyleBackgroundPen(OH_Drawing_TypographyStyle*); + /** * @brief 创建指向OH_Drawing_TypographyCreate对象的指针。 * @@ -1009,6 +1126,20 @@ double OH_Drawing_TypographyGetLineHeight(OH_Drawing_Typography*, int); */ double OH_Drawing_TypographyGetLineWidth(OH_Drawing_Typography*, int); +/** + * @brief 获取指定行的位置信息或指定行第一个字符的位置信息 + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Typography 指向OH_Drawing_Typography对象的指针,由{@link OH_Drawing_CreateTypography}获取。 + * @param int 行号 + * @param bool true为获取整行的位置信息,false为获取第一个字符的位置信息 + * @param bool 文字宽度是否包含空白符 + * @return 指向OH_Drawing_LineInfo对象的指针,由{@link OH_Drawing_LineInfo}获取 + * @since 12 + * @version 1.0 + */ +OH_Drawing_LineInfo* OH_Drawing_TypographyGetLineInfo(OH_Drawing_Typography*, int, bool, bool); + #ifdef __cplusplus } #endif -- Gitee