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