1# drawing_record_cmd.h 2 3## 概述 4 5文件中定义了与录制指令对象相关的功能函数。 6 7**引用文件:** <native_drawing/drawing_record_cmd.h> 8 9**库:** libnative_drawing.so 10 11**起始版本:** 13 12 13**相关模块:** [Drawing](capi-drawing.md) 14 15## 汇总 16 17### 函数 18 19| 名称 | 描述 | 20| -- | -- | 21| [OH_Drawing_RecordCmdUtils* OH_Drawing_RecordCmdUtilsCreate(void)](#oh_drawing_recordcmdutilscreate) | 创建一个录制指令工具对象。 | 22| [OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsDestroy(OH_Drawing_RecordCmdUtils* recordCmdUtils)](#oh_drawing_recordcmdutilsdestroy) | 销毁一个录制指令工具对象,并回收该对象占有的内存。 | 23| [OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsBeginRecording(OH_Drawing_RecordCmdUtils* recordCmdUtils,int32_t width, int32_t height, OH_Drawing_Canvas** canvas)](#oh_drawing_recordcmdutilsbeginrecording) | 开始录制。此接口需要与[OH_Drawing_RecordCmdUtilsFinishRecording](capi-drawing-record-cmd-h.md#oh_drawing_recordcmdutilsfinishrecording)接口成对使用。<br>指令录制工具生成录制类型的画布对象,可调用drawing的绘制接口,记录接下来所有的绘制指令。 | 24| [OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsFinishRecording(OH_Drawing_RecordCmdUtils* recordCmdUtils,OH_Drawing_RecordCmd** recordCmd)](#oh_drawing_recordcmdutilsfinishrecording) | 结束录制。在调用此接口前,需要先调用[OH_Drawing_RecordCmdUtilsBeginRecording](capi-drawing-record-cmd-h.md#oh_drawing_recordcmdutilsbeginrecording)接口。<br>指令录制工具结束录制指令,将录制类型画布对象记录的绘制指令存入生成的录制指令对象。 | 25| [OH_Drawing_ErrorCode OH_Drawing_RecordCmdDestroy(OH_Drawing_RecordCmd* recordCmd)](#oh_drawing_recordcmddestroy) | 销毁录制指令对象,并回收该对象占有的内存。 | 26 27## 函数说明 28 29### OH_Drawing_RecordCmdUtilsCreate() 30 31``` 32OH_Drawing_RecordCmdUtils* OH_Drawing_RecordCmdUtilsCreate(void) 33``` 34 35**描述** 36 37创建一个录制指令工具对象。 38 39**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 40 41**起始版本:** 13 42 43**返回:** 44 45| 类型 | 说明 | 46| -- | -- | 47| [OH_Drawing_RecordCmdUtils](capi-drawing-oh-drawing-recordcmdutils.md)* | 返回用于录制指令的工具对象。 | 48 49### OH_Drawing_RecordCmdUtilsDestroy() 50 51``` 52OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsDestroy(OH_Drawing_RecordCmdUtils* recordCmdUtils) 53``` 54 55**描述** 56 57销毁一个录制指令工具对象,并回收该对象占有的内存。 58 59**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 60 61**起始版本:** 13 62 63 64**参数:** 65 66| 参数项 | 描述 | 67| -- | -- | 68| [OH_Drawing_RecordCmdUtils](capi-drawing-oh-drawing-recordcmdutils.md)* recordCmdUtils | 指向录制指令工具对象[OH_Drawing_RecordCmdUtils](capi-drawing-oh-drawing-recordcmdutils.md)的指针。 | 69 70**返回:** 71 72| 类型 | 说明 | 73| -- | -- | 74| [OH_Drawing_ErrorCode](capi-drawing-error-code-h.md#oh_drawing_errorcode) | 函数返回执行错误码。<br> 返回OH_DRAWING_SUCCESS,表示执行成功。<br> 返回OH_DRAWING_ERROR_INVALID_PARAMETER,表示参数recordCmdUtils为空。 | 75 76### OH_Drawing_RecordCmdUtilsBeginRecording() 77 78``` 79OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsBeginRecording(OH_Drawing_RecordCmdUtils* recordCmdUtils,int32_t width, int32_t height, OH_Drawing_Canvas** canvas) 80``` 81 82**描述** 83 84开始录制。此接口需要与[OH_Drawing_RecordCmdUtilsFinishRecording](capi-drawing-record-cmd-h.md#oh_drawing_recordcmdutilsfinishrecording)接口成对使用。<br>指令录制工具生成录制类型的画布对象,可调用drawing的绘制接口,记录接下来所有的绘制指令。 85 86**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 87 88**起始版本:** 13 89 90 91**参数:** 92 93| 参数项 | 描述 | 94| -- | -- | 95| [OH_Drawing_RecordCmdUtils](capi-drawing-oh-drawing-recordcmdutils.md)* recordCmdUtils | 指向录制工具对象[OH_Drawing_RecordCmdUtils](capi-drawing-oh-drawing-recordcmdutils.md)的指针。 | 96| int32_t width | 画布的宽度。 | 97| int32_t height | 画布的高度。 | 98| [OH_Drawing_Canvas](capi-drawing-oh-drawing-canvas.md)** canvas | 指向画布对象[OH_Drawing_Canvas](capi-drawing-oh-drawing-canvas.md)的二级指针,作为出参,开发者无需释放。<br>该画布对象不支持嵌套调用[OH_Drawing_CanvasDrawRecordCmd](capi-drawing-canvas-h.md#oh_drawing_canvasdrawrecordcmd)接口。 | 99 100**返回:** 101 102| 类型 | 说明 | 103| -- | -- | 104| [OH_Drawing_ErrorCode](capi-drawing-error-code-h.md#oh_drawing_errorcode) | 函数返回执行错误码。<br> 返回OH_DRAWING_SUCCESS, 表示执行成功。<br> 返回OH_DRAWING_ERROR_INVALID_PARAMETER, 表示参数recordCmdUtils或者canvas为空。<br> 当width和height小于等于0的时,也会返回OH_DRAWING_ERROR_INVALID_PARAMETER。<br> 返回OH_DRAWING_ERROR_ALLOCATION_FAILED,表示系统内存不足。 | 105 106### OH_Drawing_RecordCmdUtilsFinishRecording() 107 108``` 109OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsFinishRecording(OH_Drawing_RecordCmdUtils* recordCmdUtils,OH_Drawing_RecordCmd** recordCmd) 110``` 111 112**描述** 113 114结束录制。在调用此接口前,需要先调用[OH_Drawing_RecordCmdUtilsBeginRecording](capi-drawing-record-cmd-h.md#oh_drawing_recordcmdutilsbeginrecording)接口。<br>指令录制工具结束录制指令,将录制类型画布对象记录的绘制指令存入生成的录制指令对象。 115 116**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 117 118**起始版本:** 13 119 120 121**参数:** 122 123| 参数项 | 描述 | 124| -- | -- | 125| [OH_Drawing_RecordCmdUtils](capi-drawing-oh-drawing-recordcmdutils.md)* recordCmdUtils | 指向录制指令工具对象[OH_Drawing_RecordCmdUtils](capi-drawing-oh-drawing-recordcmdutils.md)的指针。 | 126| [OH_Drawing_RecordCmd](capi-drawing-oh-drawing-recordcmd.md)** recordCmd | 指向录制指令对象[OH_Drawing_RecordCmd](capi-drawing-oh-drawing-recordcmd.md)的二级指针,作为出参,开发者调用[OH_Drawing_CanvasDrawRecordCmd](capi-drawing-canvas-h.md#oh_drawing_canvasdrawrecordcmd)接口绘制该对象。需要调用[OH_Drawing_RecordCmdDestroy](capi-drawing-record-cmd-h.md#oh_drawing_recordcmddestroy)接口释放。 | 127 128**返回:** 129 130| 类型 | 说明 | 131| -- | -- | 132| [OH_Drawing_ErrorCode](capi-drawing-error-code-h.md#oh_drawing_errorcode) | 函数返回执行错误码。<br> 返回OH_DRAWING_SUCCESS,表示执行成功。<br> 返回OH_DRAWING_ERROR_INVALID_PARAMETER,表示参数recordCmdUtils或者recordCmd为空。<br> 返回OH_DRAWING_ERROR_ALLOCATION_FAILED,表示系统内存不足。 | 133 134### OH_Drawing_RecordCmdDestroy() 135 136``` 137OH_Drawing_ErrorCode OH_Drawing_RecordCmdDestroy(OH_Drawing_RecordCmd* recordCmd) 138``` 139 140**描述** 141 142销毁录制指令对象,并回收该对象占有的内存。 143 144**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing 145 146**起始版本:** 13 147 148 149**参数:** 150 151| 参数项 | 描述 | 152| -- | -- | 153| [OH_Drawing_RecordCmd](capi-drawing-oh-drawing-recordcmd.md)* recordCmd | 指向对象[OH_Drawing_RecordCmd](capi-drawing-oh-drawing-recordcmd.md)的指针。 | 154 155**返回:** 156 157| 类型 | 说明 | 158| -- | -- | 159| [OH_Drawing_ErrorCode](capi-drawing-error-code-h.md#oh_drawing_errorcode) | 函数返回执行错误码。<br> 返回OH_DRAWING_SUCCESS,表示执行成功。<br> 返回OH_DRAWING_ERROR_INVALID_PARAMETER,表示参数recordCmd为空。 | 160 161 162