1# drawing_text_lineTypography.h 2<!--Kit: ArkGraphics 2D--> 3<!--Subsystem: Graphics--> 4<!--Owner: @oh_wangxk; @gmiao522; @Lem0nC--> 5<!--Designer: @liumingxiang--> 6<!--Tester: @yhl0101--> 7<!--Adviser: @ge-yafang--> 8## 概述 9 10提供排版行相关的接口,比如获取指定位置处开始可以排版的字符个数等函数。 11 12**引用文件:** <native_drawing/drawing_text_lineTypography.h> 13 14**库:** libnative_drawing.so 15 16**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 17 18**起始版本:** 18 19 20**相关模块:** [Drawing](capi-drawing.md) 21 22## 汇总 23 24### 函数 25 26| 名称 | 描述 | 27| -- | -- | 28| [OH_Drawing_LineTypography* OH_Drawing_CreateLineTypography(OH_Drawing_TypographyCreate* handler)](#oh_drawing_createlinetypography) | 创建一个排版行对象[OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)的指针,排版行对象保存着文本内容以及样式的载体,可以用于计算单行排版信息。 | 29| [void OH_Drawing_DestroyLineTypography(OH_Drawing_LineTypography* lineTypography)](#oh_drawing_destroylinetypography) | 释放排版行对象[OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)占用的内存。 | 30| [size_t OH_Drawing_LineTypographyGetLineBreak(OH_Drawing_LineTypography* lineTypography,size_t startIndex, double width)](#oh_drawing_linetypographygetlinebreak) | 计算在限定排版宽度的情况下,从指定位置处开始可以排版的字符个数。 | 31| [OH_Drawing_TextLine* OH_Drawing_LineTypographyCreateLine(OH_Drawing_LineTypography* lineTypography,size_t startIndex, size_t count)](#oh_drawing_linetypographycreateline) | 根据指定区间文本内容创建一个指向文本行对象[OH_Drawing_TextLine](capi-drawing-oh-drawing-textline.md)的指针。 | 32 33## 函数说明 34 35### OH_Drawing_CreateLineTypography() 36 37``` 38OH_Drawing_LineTypography* OH_Drawing_CreateLineTypography(OH_Drawing_TypographyCreate* handler) 39``` 40 41**描述** 42 43创建一个排版行对象[OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)的指针,排版行对象保存着文本内容以及样式的载体,可以用于计算单行排版信息。 44 45**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 46 47**起始版本:** 18 48 49 50**参数:** 51 52| 参数项 | 描述 | 53| -- | -- | 54| [OH_Drawing_TypographyCreate](capi-drawing-oh-drawing-typographycreate.md)* handler | 指向[OH_Drawing_TypographyCreate](capi-drawing-oh-drawing-typographycreate.md)对象的指针,由[OH_Drawing_CreateTypographyHandler](capi-drawing-text-typography-h.md#oh_drawing_createtypographyhandler)获取。 | 55 56**返回:** 57 58| 类型 | 说明 | 59| -- | -- | 60| [OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)* | 返回一个指向排版行对象[OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)的指针。 | 61 62### OH_Drawing_DestroyLineTypography() 63 64``` 65void OH_Drawing_DestroyLineTypography(OH_Drawing_LineTypography* lineTypography) 66``` 67 68**描述** 69 70释放排版行对象[OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)占用的内存。 71 72**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 73 74**起始版本:** 18 75 76 77**参数:** 78 79| 参数项 | 描述 | 80| -- | -- | 81| [OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)* lineTypography | 指向排版行对象[OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)的指针,由[OH_Drawing_CreateLineTypography](capi-drawing-text-linetypography-h.md#oh_drawing_createlinetypography)获取。 | 82 83### OH_Drawing_LineTypographyGetLineBreak() 84 85``` 86size_t OH_Drawing_LineTypographyGetLineBreak(OH_Drawing_LineTypography* lineTypography,size_t startIndex, double width) 87``` 88 89**描述** 90 91计算在限定排版宽度的情况下,从指定位置处开始可以排版的字符个数。 92 93**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 94 95**起始版本:** 18 96 97 98**参数:** 99 100| 参数项 | 描述 | 101| -- | -- | 102| [OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)* lineTypography | 指向排版行对象[OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)的指针,由[OH_Drawing_CreateLineTypography](capi-drawing-text-linetypography-h.md#oh_drawing_createlinetypography)获取。 | 103| size_t startIndex | 开始计算排版的起始位置(包括起始位置)。取值范围需要为[0,文本字符总数)的整数。 | 104| double width | 换行宽度,大于0的浮点数,单位为物理像素px。 | 105 106**返回:** 107 108| 类型 | 说明 | 109| -- | -- | 110| size_t | 返回在限定排版宽度的情况下,从指定位置处开始可以排版的字符总数,取值为整数。 | 111 112### OH_Drawing_LineTypographyCreateLine() 113 114``` 115OH_Drawing_TextLine* OH_Drawing_LineTypographyCreateLine(OH_Drawing_LineTypography* lineTypography,size_t startIndex, size_t count) 116``` 117 118**描述** 119 120根据指定区间文本内容创建一个指向文本行对象[OH_Drawing_TextLine](capi-drawing-oh-drawing-textline.md)的指针。 121 122**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 123 124**起始版本:** 18 125 126 127**参数:** 128 129| 参数项 | 描述 | 130| -- | -- | 131| [OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)* lineTypography | 指向排版行对象[OH_Drawing_LineTypography](capi-drawing-oh-drawing-linetypography.md)的指针,由[OH_Drawing_CreateLineTypography](capi-drawing-text-linetypography-h.md#oh_drawing_createlinetypography)获取。 | 132| size_t startIndex | 表示计算排版的起始位置,整数,取值范围为[0, 文本字符总数)。 | 133| size_t count | 表示从指定排版起始位置开始进行排版的字符个数,取值为[0,文本字符总数)的整数,startIndex和count之和不能大于文本字符总数。<br>可以先使用[OH_Drawing_LineTypographyGetLineBreak](capi-drawing-text-linetypography-h.md#oh_drawing_linetypographygetlinebreak)获得合理的可用于进行排版的字符总数。如果该值设置为0,则返回nullptr。 | 134 135**返回:** 136 137| 类型 | 说明 | 138| -- | -- | 139| [OH_Drawing_TextLine](capi-drawing-oh-drawing-textline.md)* | 返回一个指向文本行对象[OH_Drawing_TextLine](capi-drawing-oh-drawing-textline.md)的指针。 | 140 141 142