drawing_text_typography.h

概述

定义绘制模块中排版相关的函数。

引用文件:<native_drawing/drawing_text_typography.h>

库: libnative_drawing.so

起始版本: 8

相关模块:Drawing

汇总

结构体

名称 描述
struct  OH_Drawing_PlaceholderSpan 用于描述位占位符跨度的结构体。

枚举

名称 描述
OH_Drawing_TextDirection {
TEXT_DIRECTION_RTL, TEXT_DIRECTION_LTR
}
文字方向。
OH_Drawing_TextAlign {
TEXT_ALIGN_LEFT, TEXT_ALIGN_RIGHT, TEXT_ALIGN_CENTER, TEXT_ALIGN_JUSTIFY,
TEXT_ALIGN_START, TEXT_ALIGN_END
}
文字对齐方式。
OH_Drawing_FontWeight {
FONT_WEIGHT_100, FONT_WEIGHT_200, FONT_WEIGHT_300, FONT_WEIGHT_400,
FONT_WEIGHT_500, FONT_WEIGHT_600, FONT_WEIGHT_700, FONT_WEIGHT_800,
FONT_WEIGHT_900
}
字重。
OH_Drawing_TextBaseline {
TEXT_BASELINE_ALPHABETIC, TEXT_BASELINE_IDEOGRAPHIC
}
基线位置。
OH_Drawing_TextDecoration {
TEXT_DECORATION_NONE = 0x0, TEXT_DECORATION_UNDERLINE = 0x1, TEXT_DECORATION_OVERLINE = 0x2, TEXT_DECORATION_LINE_THROUGH = 0x4
}
文本装饰。
OH_Drawing_FontStyle {
FONT_STYLE_NORMAL, FONT_STYLE_ITALIC
}
区分字体是否为斜体。
OH_Drawing_PlaceholderVerticalAlignment {
ALIGNMENT_OFFSET_AT_BASELINE, ALIGNMENT_ABOVE_BASELINE, ALIGNMENT_BELOW_BASELINE, ALIGNMENT_TOP_OF_ROW_BOX,
ALIGNMENT_BOTTOM_OF_ROW_BOX, ALIGNMENT_CENTER_OF_ROW_BOX
}
占位符垂直对齐枚举。
OH_Drawing_TextDecorationStyle {
TEXT_DECORATION_STYLE_SOLID, TEXT_DECORATION_STYLE_DOUBLE, TEXT_DECORATION_STYLE_DOTTED, TEXT_DECORATION_STYLE_DASHED,
TEXT_DECORATION_STYLE_WAVY
}
文本装饰样式枚举。
OH_Drawing_EllipsisModal {
ELLIPSIS_MODAL_HEAD = 0, ELLIPSIS_MODAL_MIDDLE = 1, ELLIPSIS_MODAL_TAIL = 2
}
省略号样式枚举。
OH_Drawing_BreakStrategy { BREAK_STRATEGY_GREEDY = 0, BREAK_STRATEGY_HIGH_QUALITY = 1, BREAK_STRATEGY_BALANCED = 2 } 文本的中断策略枚举。
OH_Drawing_WordBreakType {
WORD_BREAK_TYPE_NORMAL = 0, WORD_BREAK_TYPE_BREAK_ALL = 1, WORD_BREAK_TYPE_BREAK_WORD = 2
}
单词的断词方式枚举。
OH_Drawing_RectHeightStyle {
RECT_HEIGHT_STYLE_TIGHT, RECT_HEIGHT_STYLE_MAX, RECT_HEIGHT_STYLE_INCLUDELINESPACEMIDDLE, RECT_HEIGHT_STYLE_INCLUDELINESPACETOP,
RECT_HEIGHT_STYLE_INCLUDELINESPACEBOTTOM, RECT_HEIGHT_STYLE_STRUCT
}
矩形框高度样式枚举。
OH_Drawing_RectWidthStyle {
RECT_WIDTH_STYLE_TIGHT, RECT_WIDTH_STYLE_MAX
}
矩形框宽度样式枚举。

函数

名称 描述
OH_Drawing_TypographyStyle * OH_Drawing_CreateTypographyStyle (void) 创建OH_Drawing_TypographyStyle
void OH_Drawing_DestroyTypographyStyle (OH_Drawing_TypographyStyle *) 释放被OH_Drawing_TypographyStyle对象占据的内存。
void OH_Drawing_SetTypographyTextDirection (OH_Drawing_TypographyStyle *, int) 设置文本方向。
void OH_Drawing_SetTypographyTextAlign (OH_Drawing_TypographyStyle *, int) 设置文本对齐方式。
void OH_Drawing_SetTypographyTextMaxLines (OH_Drawing_TypographyStyle *, int) 设置文本最大行数。
OH_Drawing_TextStyle * OH_Drawing_CreateTextStyle (void) 创建OH_Drawing_TextStyle。
void OH_Drawing_DestroyTextStyle (OH_Drawing_TextStyle *) 释放被OH_Drawing_TextStyle对象占据的内存。
void OH_Drawing_SetTextStyleColor (OH_Drawing_TextStyle *, uint32_t) 设置文本颜色。
void OH_Drawing_SetTextStyleFontSize (OH_Drawing_TextStyle *, double) 设置字号。
void OH_Drawing_SetTextStyleFontWeight (OH_Drawing_TextStyle *, int) 设置字重。
void OH_Drawing_SetTextStyleBaseLine (OH_Drawing_TextStyle *, int) 设置字体基线位置。
void OH_Drawing_SetTextStyleDecoration (OH_Drawing_TextStyle *, int) 设置装饰。
void OH_Drawing_SetTextStyleDecorationColor (OH_Drawing_TextStyle *, uint32_t) 设置装饰颜色。
void OH_Drawing_SetTextStyleFontHeight (OH_Drawing_TextStyle *, double) 设置字体高度。
void OH_Drawing_SetTextStyleFontFamilies (OH_Drawing_TextStyle *, int, const char *fontFamilies[]) 设置字体类型。
void OH_Drawing_SetTextStyleFontStyle (OH_Drawing_TextStyle *, int) 设置字体风格。
void OH_Drawing_SetTextStyleLocale (OH_Drawing_TextStyle *, const char *) 设置语言区域。
OH_Drawing_TypographyCreate * OH_Drawing_CreateTypographyHandler (OH_Drawing_TypographyStyle *, OH_Drawing_FontCollection *) 创建指向OH_Drawing_TypographyCreate对象的指针。
void OH_Drawing_DestroyTypographyHandler (OH_Drawing_TypographyCreate *) 释放被OH_Drawing_TypographyCreate对象占据的内存。
void OH_Drawing_TypographyHandlerPushTextStyle (OH_Drawing_TypographyCreate *, OH_Drawing_TextStyle *) 设置排版风格。
void OH_Drawing_TypographyHandlerAddText (OH_Drawing_TypographyCreate *, const char *) 设置文本内容。
void OH_Drawing_TypographyHandlerPopTextStyle (OH_Drawing_TypographyCreate *) 排版弹出。
OH_Drawing_Typography * OH_Drawing_CreateTypography (OH_Drawing_TypographyCreate *) 创建OH_Drawing_Typography。
void OH_Drawing_DestroyTypography (OH_Drawing_Typography *) 释放OH_Drawing_Typography对象占据的内存。
void OH_Drawing_TypographyLayout (OH_Drawing_Typography *, double) 排版布局。
void OH_Drawing_TypographyPaint (OH_Drawing_Typography *, OH_Drawing_Canvas *, double, double) 显示文本。
double OH_Drawing_TypographyGetMaxWidth (OH_Drawing_Typography *) 获取最大宽度。
double OH_Drawing_TypographyGetHeight (OH_Drawing_Typography *) 获取高度。
double OH_Drawing_TypographyGetLongestLine (OH_Drawing_Typography *) 获取最长行的宽度,建议实际使用时将返回值向上取整。当文本内容为空时,返回float的最小值,即:-340282346638528859811704183484516925440.000000。
double OH_Drawing_TypographyGetMinIntrinsicWidth (OH_Drawing_Typography *) 获取最小固有宽度。
double OH_Drawing_TypographyGetMaxIntrinsicWidth (OH_Drawing_Typography *) 获取最大固有宽度。
double OH_Drawing_TypographyGetAlphabeticBaseline (OH_Drawing_Typography *) 获取字母文字基线。
double OH_Drawing_TypographyGetIdeographicBaseline (OH_Drawing_Typography *) 获取表意文字基线。
void OH_Drawing_TypographyHandlerAddPlaceholder (OH_Drawing_TypographyCreate *, OH_Drawing_PlaceholderSpan *) 设置占位符
bool OH_Drawing_TypographyDidExceedMaxLines (OH_Drawing_Typography *) 获取文本是否超过最大行
OH_Drawing_TextBox * OH_Drawing_TypographyGetRectsForRange (OH_Drawing_Typography *, size_t, size_t, OH_Drawing_RectHeightStyle, OH_Drawing_RectWidthStyle) 获取指定范围内的文本框
OH_Drawing_TextBox * OH_Drawing_TypographyGetRectsForPlaceholders (OH_Drawing_Typography *) 获取占位符的文本框
float OH_Drawing_GetLeftFromTextBox (OH_Drawing_TextBox *, int) 获取文本框左侧位置
float OH_Drawing_GetRightFromTextBox (OH_Drawing_TextBox *, int) 获取文本框右侧位置
float OH_Drawing_GetTopFromTextBox (OH_Drawing_TextBox *, int) 获取文本框顶部位置
float OH_Drawing_GetBottomFromTextBox (OH_Drawing_TextBox *, int) 获取文本框底部位置
int OH_Drawing_GetTextDirectionFromTextBox (OH_Drawing_TextBox *, int) 获取文本框方向
size_t OH_Drawing_GetSizeOfTextBox (OH_Drawing_TextBox *) 获取文本框数量大小
OH_Drawing_PositionAndAffinity * OH_Drawing_TypographyGetGlyphPositionAtCoordinate (OH_Drawing_Typography *, double, double) 获取坐标处文本的索引位置和亲和性
OH_Drawing_PositionAndAffinity * OH_Drawing_TypographyGetGlyphPositionAtCoordinateWithCluster (OH_Drawing_Typography *, double, double) 获取坐标处文本所属字符簇的索引位置和亲和性,字符簇指一个或多个字符组成的整体
size_t OH_Drawing_GetPositionFromPositionAndAffinity (OH_Drawing_PositionAndAffinity *) 获取OH_Drawing_PositionAndAffinity对象的位置属性
int OH_Drawing_GetAffinityFromPositionAndAffinity (OH_Drawing_PositionAndAffinity *) 获取OH_Drawing_PositionAndAffinity对象的亲和性,根据亲和性可判断字体会靠近前方文本还是后方文本
OH_Drawing_Range * OH_Drawing_TypographyGetWordBoundary (OH_Drawing_Typography *, size_t) 获取单词的边界
size_t OH_Drawing_GetStartFromRange (OH_Drawing_Range *) 获取OH_Drawing_Range对象开始位置
size_t OH_Drawing_GetEndFromRange (OH_Drawing_Range *) 获取OH_Drawing_Range对象结束位置
size_t OH_Drawing_TypographyGetLineCount (OH_Drawing_Typography *) 获取文本行数
void OH_Drawing_SetTextStyleDecorationStyle (OH_Drawing_TextStyle *, int) 设置文本装饰样式
void OH_Drawing_SetTextStyleDecorationThicknessScale (OH_Drawing_TextStyle *, double) 设置文本装饰线的厚度缩放比例
void OH_Drawing_SetTextStyleLetterSpacing (OH_Drawing_TextStyle *, double) 设置文本的字符间距
void OH_Drawing_SetTextStyleWordSpacing (OH_Drawing_TextStyle *, double) 设置文本的单词间距
void OH_Drawing_SetTextStyleHalfLeading (OH_Drawing_TextStyle *, bool) 设置文本为一半行间距
void OH_Drawing_SetTextStyleEllipsis (OH_Drawing_TextStyle *, const char *) 设置文本的省略号内容
void OH_Drawing_SetTextStyleEllipsisModal (OH_Drawing_TextStyle *, int) 设置文本的省略号样式
void OH_Drawing_SetTypographyTextBreakStrategy (OH_Drawing_TypographyStyle *, int) 设置文本的中断策略
void OH_Drawing_SetTypographyTextWordBreakType (OH_Drawing_TypographyStyle *, int) 设置单词的断词方式
void OH_Drawing_SetTypographyTextEllipsisModal (OH_Drawing_TypographyStyle *, int) 设置文本的省略号样式
double OH_Drawing_TypographyGetLineHeight (OH_Drawing_Typography *, int) 获取指定行的行高
double OH_Drawing_TypographyGetLineWidth (OH_Drawing_Typography *, int) 获取指定行的行宽