• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# drawing_surface.h
2
3## 概述
4
5文件中定义与surface相关的功能函数,包括surface的创建、销毁和使用等。
6
7**引用文件:** <native_drawing/drawing_surface.h>
8
9**库:** libnative_drawing.so
10
11**起始版本:** 12
12
13**相关模块:** [Drawing](capi-drawing.md)
14
15## 汇总
16
17### 函数
18
19| 名称 | 描述 |
20| -- | -- |
21| [OH_Drawing_Surface* OH_Drawing_SurfaceCreateFromGpuContext(OH_Drawing_GpuContext* gpuContext, bool flag, OH_Drawing_Image_Info imageInfo)](#oh_drawing_surfacecreatefromgpucontext) | 使用图形处理器上下文创建一个surface对象,用于管理画布绘制的内容。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>gpuContext为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。 |
22| [OH_Drawing_Surface* OH_Drawing_SurfaceCreateOnScreen(OH_Drawing_GpuContext* gpuContext, OH_Drawing_Image_Info imageInfo, void* window)](#oh_drawing_surfacecreateonscreen) | 使用图形处理器上下文创建一个与屏幕窗口绑定的surface对象,用于管理画布绘制的内容。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>gpuContext或window为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。 |
23| [OH_Drawing_Canvas* OH_Drawing_SurfaceGetCanvas(OH_Drawing_Surface* surface)](#oh_drawing_surfacegetcanvas) | 通过surface对象获取画布对象。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>surface为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。 |
24| [OH_Drawing_ErrorCode OH_Drawing_SurfaceFlush(OH_Drawing_Surface* surface)](#oh_drawing_surfaceflush) | 将surface对象上的画布绘制内容提交给GPU处理,完成绘制内容上屏显示。 |
25| [void OH_Drawing_SurfaceDestroy(OH_Drawing_Surface* surface)](#oh_drawing_surfacedestroy) | 销毁surface对象并回收该对象占用的内存。 |
26
27## 函数说明
28
29### OH_Drawing_SurfaceCreateFromGpuContext()
30
31```
32OH_Drawing_Surface* OH_Drawing_SurfaceCreateFromGpuContext(OH_Drawing_GpuContext* gpuContext, bool flag, OH_Drawing_Image_Info imageInfo)
33```
34
35**描述**
36
37使用图形处理器上下文创建一个surface对象,用于管理画布绘制的内容。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>gpuContext为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
38
39**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
40
41**起始版本:** 12
42
43
44**参数:**
45
46| 参数项 | 描述 |
47| -- | -- |
48| [OH_Drawing_GpuContext](capi-drawing-oh-drawing-gpucontext.md)* gpuContext | 指向图形处理器上下文对象的指针[OH_Drawing_GpuContext](capi-drawing-oh-drawing-gpucontext.md)。 |
49| bool flag | 用于控制内存分配是否计入缓存预算。true则计入高速缓存预算,false则不计入高速缓存预算。 |
50| [OH_Drawing_Image_Info](capi-drawing-oh-drawing-image-info.md) imageInfo | 图片信息[OH_Drawing_Image_Info](capi-drawing-oh-drawing-image-info.md)结构体。 |
51
52**返回:**
53
54| 类型 | 说明 |
55| -- | -- |
56| [OH_Drawing_Surface](capi-drawing-oh-drawing-surface.md)* | 返回一个指针,指针指向创建的surface对象[OH_Drawing_Surface](capi-drawing-oh-drawing-surface.md)。 |
57
58### OH_Drawing_SurfaceCreateOnScreen()
59
60```
61OH_Drawing_Surface* OH_Drawing_SurfaceCreateOnScreen(OH_Drawing_GpuContext* gpuContext, OH_Drawing_Image_Info imageInfo, void* window)
62```
63
64**描述**
65
66使用图形处理器上下文创建一个与屏幕窗口绑定的surface对象,用于管理画布绘制的内容。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>gpuContext或window为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
67
68**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
69
70**起始版本:** 16
71
72
73**参数:**
74
75| 参数项 | 描述 |
76| -- | -- |
77| [OH_Drawing_GpuContext](capi-drawing-oh-drawing-gpucontext.md)* gpuContext | 指向图形处理器上下文对象的指针[OH_Drawing_GpuContext](capi-drawing-oh-drawing-gpucontext.md)。<br>该图形处理器上下文对象必须由[OH_Drawing_GpuContextCreate](capi-drawing-gpu-context-h.md#oh_drawing_gpucontextcreate)创建,否则surface对象会创建失败。 |
78| [OH_Drawing_Image_Info](capi-drawing-oh-drawing-image-info.md) imageInfo | 图片信息[OH_Drawing_Image_Info](capi-drawing-oh-drawing-image-info.md)结构体。 |
79| void* window | 指向屏幕窗口对象的指针。 |
80
81**返回:**
82
83| 类型 | 说明 |
84| -- | -- |
85| [OH_Drawing_Surface](capi-drawing-oh-drawing-surface.md)* | 返回一个指针,指针指向创建的surface对象[OH_Drawing_Surface](capi-drawing-oh-drawing-surface.md)。 |
86
87### OH_Drawing_SurfaceGetCanvas()
88
89```
90OH_Drawing_Canvas* OH_Drawing_SurfaceGetCanvas(OH_Drawing_Surface* surface)
91```
92
93**描述**
94
95通过surface对象获取画布对象。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>surface为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
96
97**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
98
99**起始版本:** 12
100
101
102**参数:**
103
104| 参数项 | 描述 |
105| -- | -- |
106| [OH_Drawing_Surface](capi-drawing-oh-drawing-surface.md)* surface | 指向创建的surface对象的指针。 |
107
108**返回:**
109
110| 类型 | 说明 |
111| -- | -- |
112| [OH_Drawing_Canvas](capi-drawing-oh-drawing-canvas.md)* | 返回一个指针,指针指向创建的画布对象[OH_Drawing_Canvas](capi-drawing-oh-drawing-canvas.md)。返回的指针不需要由调用者管理。 |
113
114### OH_Drawing_SurfaceFlush()
115
116```
117OH_Drawing_ErrorCode OH_Drawing_SurfaceFlush(OH_Drawing_Surface* surface)
118```
119
120**描述**
121
122将surface对象上的画布绘制内容提交给GPU处理,完成绘制内容上屏显示。
123
124**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
125
126**起始版本:** 16
127
128
129**参数:**
130
131| 参数项 | 描述 |
132| -- | -- |
133| [OH_Drawing_Surface](capi-drawing-oh-drawing-surface.md)* surface | 指向创建的surface对象的指针[OH_Drawing_Surface](capi-drawing-oh-drawing-surface.md)。该surface对象必须由[OH_Drawing_SurfaceCreateOnScreen](capi-drawing-surface-h.md#oh_drawing_surfacecreateonscreen)创建,否则该接口调用将没有任何效果。 |
134
135**返回:**
136
137| 类型 | 说明 |
138| -- | -- |
139| [OH_Drawing_ErrorCode](capi-drawing-error-code-h.md#oh_drawing_errorcode) | 函数返回执行错误码。<br> 返回OH_DRAWING_SUCCESS,表示执行成功。<br> 返回OH_DRAWING_ERROR_INVALID_PARAMETER,表示参数surface为空。 |
140
141### OH_Drawing_SurfaceDestroy()
142
143```
144void OH_Drawing_SurfaceDestroy(OH_Drawing_Surface* surface)
145```
146
147**描述**
148
149销毁surface对象并回收该对象占用的内存。
150
151**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
152
153**起始版本:** 12
154
155
156**参数:**
157
158| 参数项 | 描述 |
159| -- | -- |
160| [OH_Drawing_Surface](capi-drawing-oh-drawing-surface.md)* surface | 指向创建的surface对象的指针。 |
161
162
163