1# drawing_text_run.h 2 3 4## 概述 5 6提供字体渲染单元的相关接口,比如绘制功能、获取排版边界功能等。 7 8**引用文件:**<native_drawing/drawing_text_run.h> 9 10**库:** libnative_drawing.so 11 12**起始版本:** 14 13 14**相关模块:**[Drawing](_drawing.md) 15 16 17## 汇总 18 19 20### 函数 21 22| 名称 | 描述 | 23| -------- | -------- | 24| [OH_Drawing_Array](_drawing.md#oh_drawing_array) \* [OH_Drawing_GetRunStringIndices](_drawing.md#oh_drawing_getrunstringindices) (OH_Drawing_Run \*run, int64_t start, int64_t length) | 获取渲染单元指定范围内字形的字符索引,该索引是相对于整个段落的偏移。 | 25| uint64_t [OH_Drawing_GetRunStringIndicesByIndex](_drawing.md#oh_drawing_getrunstringindicesbyindex) ([OH_Drawing_Array](_drawing.md#oh_drawing_array) \*stringIndices, size_t index) | 获取字符索引数组中指定下标的字符索引值。 | 26| void [OH_Drawing_DestroyRunStringIndices](_drawing.md#oh_drawing_destroyrunstringindices) ([OH_Drawing_Array](_drawing.md#oh_drawing_array) \*stringIndices) | 释放字形的字符索引数组对象指针。 | 27| void [OH_Drawing_GetRunStringRange](_drawing.md#oh_drawing_getrunstringrange) (OH_Drawing_Run \*run, uint64_t \*location, uint64_t \*length) | 获取渲染单元生成字形的字符范围。 | 28| float [OH_Drawing_GetRunTypographicBounds](_drawing.md#oh_drawing_getruntypographicbounds) (OH_Drawing_Run \*run, float \*ascent, float \*descent, float \*leading) | 获取渲染单元的排版边界。文本排版边界与字符本身无关,与排版字号和字体有关。 | 29| void [OH_Drawing_RunPaint](_drawing.md#oh_drawing_runpaint) ([OH_Drawing_Canvas](_drawing.md#oh_drawing_canvas) \*canvas, OH_Drawing_Run \*run, double x, double y) | 在画布上绘制渲染单元包含的文本。 | 30| [OH_Drawing_Rect](_drawing.md#oh_drawing_rect) \* [OH_Drawing_GetRunImageBounds](_drawing.md#oh_drawing_getrunimagebounds) (OH_Drawing_Run \*run) | 获取渲染单元的图像边界,文本图像边界与字符本身有关,相当于视觉边界。 | 31| void [OH_Drawing_DestroyRunImageBounds](_drawing.md#oh_drawing_destroyrunimagebounds) ([OH_Drawing_Rect](_drawing.md#oh_drawing_rect) \*rect) | 释放渲染单元图像边界对象指针。 | 32| [OH_Drawing_Array](_drawing.md#oh_drawing_array) \* [OH_Drawing_GetRunGlyphs](_drawing.md#oh_drawing_getrunglyphs) (OH_Drawing_Run \*run, int64_t start, int64_t length) | 获取渲染单元指定范围内的字形数组。 | 33| uint16_t [OH_Drawing_GetRunGlyphsByIndex](_drawing.md#oh_drawing_getrunglyphsbyindex) ([OH_Drawing_Array](_drawing.md#oh_drawing_array) \*glyphs, size_t index) | 根据索引获取渲染单元单个字形。 | 34| void [OH_Drawing_DestroyRunGlyphs](_drawing.md#oh_drawing_destroyrunglyphs) ([OH_Drawing_Array](_drawing.md#oh_drawing_array) \*glyphs) | 释放渲染单元字形数组对象指针。 | 35| [OH_Drawing_Array](_drawing.md#oh_drawing_array) \* [OH_Drawing_GetRunPositions](_drawing.md#oh_drawing_getrunpositions) (OH_Drawing_Run \*run, int64_t start, int64_t length) | 获取渲染单元指定范围内字形的位置。 | 36| [OH_Drawing_Point](_drawing.md#oh_drawing_point) \* [OH_Drawing_GetRunPositionsByIndex](_drawing.md#oh_drawing_getrunpositionsbyindex) ([OH_Drawing_Array](_drawing.md#oh_drawing_array) \*positions, size_t index) | 根据索引获取渲染单元中单个字形位置。 | 37| void [OH_Drawing_DestroyRunPositions](_drawing.md#oh_drawing_destroyrunpositions) ([OH_Drawing_Array](_drawing.md#oh_drawing_array) \*positions) | 释放渲染单元字形位置数组对象指针。 | 38| uint32_t [OH_Drawing_GetRunGlyphCount](_drawing.md#oh_drawing_getrunglyphcount) (OH_Drawing_Run \*run) | 获取渲染单元字形数量。 | 39