1# drawing_text_blob.h 2 3 4## Overview 5 6The **drawing_text_blob.h** file declares the functions related to the text blob in the drawing module. 7 8**File to include**: <native_drawing/drawing_text_blob.h> 9 10**Library**: libnative_drawing.so 11 12**Since**: 11 13 14**Related module**: [Drawing](_drawing.md) 15 16 17## Summary 18 19 20### Structs 21 22| Name| Description| 23| -------- | -------- | 24| struct [OH_Drawing_RunBuffer](_o_h___drawing___run_buffer.md) | Describes a run, which provides storage for glyphs and positions.| 25 26 27### Types 28 29| Name| Description| 30| -------- | -------- | 31| typedef struct [OH_Drawing_RunBuffer](_o_h___drawing___run_buffer.md) [OH_Drawing_RunBuffer](_drawing.md#oh_drawing_runbuffer) | Defines a struct that describes a run, which provides storage for glyphs and positions.| 32 33 34### Functions 35 36| Name| Description| 37| -------- | -------- | 38| [OH_Drawing_TextBlobBuilder](_drawing.md#oh_drawing_textblobbuilder) \* [OH_Drawing_TextBlobBuilderCreate](_drawing.md#oh_drawing_textblobbuildercreate) (void) | Creates an **OH_Drawing_TextBlobBuilder** object.| 39| [OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \* [OH_Drawing_TextBlobCreateFromText](_drawing.md#oh_drawing_textblobcreatefromtext) (const void \*text, size_t byteLength, const [OH_Drawing_Font](_drawing.md#oh_drawing_font) \*, [OH_Drawing_TextEncoding](_drawing.md#oh_drawing_textencoding)) | Creates an **OH_Drawing_TextBlob** object from the text.| 40| [OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \* [OH_Drawing_TextBlobCreateFromPosText](_drawing.md#oh_drawing_textblobcreatefrompostext) (const void \*text, size_t byteLength, [OH_Drawing_Point2D](_o_h___drawing___point2_d.md) \*, const [OH_Drawing_Font](_drawing.md#oh_drawing_font) \*, [OH_Drawing_TextEncoding](_drawing.md#oh_drawing_textencoding)) | Creates an **OH_Drawing_TextBlob** object from the text. The coordinates of each character in the **OH_Drawing_TextBlob** object are determined by the coordinate information in the **OH_Drawing_Point2D** array.| 41| [OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \* [OH_Drawing_TextBlobCreateFromString](_drawing.md#oh_drawing_textblobcreatefromstring) (const char \*str, const [OH_Drawing_Font](_drawing.md#oh_drawing_font) \*, [OH_Drawing_TextEncoding](_drawing.md#oh_drawing_textencoding)) | Creates an **OH_Drawing_TextBlob** object from a string.| 42| void [OH_Drawing_TextBlobGetBounds](_drawing.md#oh_drawing_textblobgetbounds) ([OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \*, [OH_Drawing_Rect](_drawing.md#oh_drawing_rect) \*) | Obtains the bounds of an **OH_Drawing_TextBlob** object.| 43| uint32_t [OH_Drawing_TextBlobUniqueID](_drawing.md#oh_drawing_textblobuniqueid) (const [OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \*) | Obtains the unique identifier of a text blob. The identifier is a non-zero value.| 44| const [OH_Drawing_RunBuffer](_o_h___drawing___run_buffer.md) \* [OH_Drawing_TextBlobBuilderAllocRunPos](_drawing.md#oh_drawing_textblobbuilderallocrunpos) ([OH_Drawing_TextBlobBuilder](_drawing.md#oh_drawing_textblobbuilder) \*, const [OH_Drawing_Font](_drawing.md#oh_drawing_font) \*, int32_t count, const [OH_Drawing_Rect](_drawing.md#oh_drawing_rect) \*) | Allocates a run to store glyphs and positions. The pointer returned does not need to be managed by the caller. It can no longer be used after [OH_Drawing_TextBlobBuilderMake](_drawing.md#oh_drawing_textblobbuildermake) is called.| 45| [OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \* [OH_Drawing_TextBlobBuilderMake](_drawing.md#oh_drawing_textblobbuildermake) ([OH_Drawing_TextBlobBuilder](_drawing.md#oh_drawing_textblobbuilder) \*) | Makes an **OH_Drawing_TextBlob** object from an **OH_Drawing_TextBlobBuilder**.| 46| void [OH_Drawing_TextBlobDestroy](_drawing.md#oh_drawing_textblobdestroy) ([OH_Drawing_TextBlob](_drawing.md#oh_drawing_textblob) \*) | Destroys an **OH_Drawing_TextBlob** object and reclaims the memory occupied by the object.| 47| void [OH_Drawing_TextBlobBuilderDestroy](_drawing.md#oh_drawing_textblobbuilderdestroy) ([OH_Drawing_TextBlobBuilder](_drawing.md#oh_drawing_textblobbuilder) \*) | Destroys an **OH_Drawing_TextBlobBuilder** object and reclaims the memory occupied by the object.| 48