• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# drawing_region.h
2
3## 概述
4
5定义了与区域相关的功能函数,包括区域的创建,边界设置和销毁等。
6
7**引用文件:** <native_drawing/drawing_region.h>
8
9**库:** libnative_drawing.so
10
11**起始版本:** 12
12
13**相关模块:** [Drawing](capi-drawing.md)
14
15## 汇总
16
17### 枚举
18
19| 名称 | typedef关键字 | 描述 |
20| -- | -- | -- |
21| [OH_Drawing_RegionOpMode](#oh_drawing_regionopmode) | OH_Drawing_RegionOpMode | 区域操作类型枚举。 |
22
23### 函数
24
25| 名称 | 描述 |
26| -- | -- |
27| [OH_Drawing_Region* OH_Drawing_RegionCreate(void)](#oh_drawing_regioncreate) | 用于创建一个区域对象,实现更精确的图形控制。 |
28| [OH_Drawing_Region* OH_Drawing_RegionCopy(const OH_Drawing_Region* region)](#oh_drawing_regioncopy) | 用于创建一个区域对象的拷贝。 |
29| [bool OH_Drawing_RegionContains(OH_Drawing_Region* region, int32_t x, int32_t y)](#oh_drawing_regioncontains) | 判断区域是否包含指定坐标点。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>region为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。 |
30| [bool OH_Drawing_RegionOp(OH_Drawing_Region* region, const OH_Drawing_Region* other, OH_Drawing_RegionOpMode op)](#oh_drawing_regionop) | 将两个区域按照指定的区域操作类型合并。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>region、dst任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER;<br>op不在枚举范围内时返回OH_DRAWING_ERROR_PARAMETER_OUT_OF_RANGE。 |
31| [bool OH_Drawing_RegionSetRect(OH_Drawing_Region* region, const OH_Drawing_Rect* rect)](#oh_drawing_regionsetrect) | 用于尝试给区域对象设置矩形边界。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>region、rect任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。 |
32| [bool OH_Drawing_RegionSetPath(OH_Drawing_Region* region, const OH_Drawing_Path* path, const OH_Drawing_Region* clip)](#oh_drawing_regionsetpath) | 给区域对象设置为指定区域内路径表示的范围。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>region、path、clip任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。 |
33| [void OH_Drawing_RegionDestroy(OH_Drawing_Region* region)](#oh_drawing_regiondestroy) | 用于销毁区域对象并回收该对象占有的内存。 |
34
35## 枚举类型说明
36
37### OH_Drawing_RegionOpMode
38
39```
40enum OH_Drawing_RegionOpMode
41```
42
43**描述**
44
45区域操作类型枚举。
46
47**起始版本:** 12
48
49| 枚举项 | 描述 |
50| -- | -- |
51| REGION_OP_MODE_DIFFERENCE | 差集操作。 |
52| REGION_OP_MODE_INTERSECT | 交集操作。 |
53| REGION_OP_MODE_UNION | 并集操作。 |
54| REGION_OP_MODE_XOR | 异或操作。 |
55| REGION_OP_MODE_REVERSE_DIFFERENCE | 反向差集操作。 |
56| REGION_OP_MODE_REPLACE | 替换操作。 |
57
58
59## 函数说明
60
61### OH_Drawing_RegionCreate()
62
63```
64OH_Drawing_Region* OH_Drawing_RegionCreate(void)
65```
66
67**描述**
68
69用于创建一个区域对象,实现更精确的图形控制。
70
71**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
72
73**起始版本:** 12
74
75**返回:**
76
77| 类型 | 说明 |
78| -- | -- |
79| [OH_Drawing_Region](capi-drawing-oh-drawing-region.md)* | 函数会返回一个指针,指针指向创建的区域对象[OH_Drawing_Region](capi-drawing-oh-drawing-region.md)。 |
80
81### OH_Drawing_RegionCopy()
82
83```
84OH_Drawing_Region* OH_Drawing_RegionCopy(const OH_Drawing_Region* region)
85```
86
87**描述**
88
89用于创建一个区域对象的拷贝。
90
91**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
92
93**起始版本:** 20
94
95
96**参数:**
97
98| 参数项 | 描述 |
99| -- | -- |
100| const [OH_Drawing_Region](capi-drawing-oh-drawing-region.md)* region | 指向用于拷贝的区域对象[OH_Drawing_Region](capi-drawing-oh-drawing-region.md)的指针。 |
101
102**返回:**
103
104| 类型 | 说明 |
105| -- | -- |
106| [OH_Drawing_Region](capi-drawing-oh-drawing-region.md)* | 函数会返回一个指针,指针指向创建的新区域对象。 |
107
108### OH_Drawing_RegionContains()
109
110```
111bool OH_Drawing_RegionContains(OH_Drawing_Region* region, int32_t x, int32_t y)
112```
113
114**描述**
115
116判断区域是否包含指定坐标点。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>region为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
117
118**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
119
120**起始版本:** 12
121
122
123**参数:**
124
125| 参数项 | 描述 |
126| -- | -- |
127| [OH_Drawing_Region](capi-drawing-oh-drawing-region.md)* region | 指向区域对象[OH_Drawing_Region](capi-drawing-oh-drawing-region.md)的指针。 |
128| int32_t x | 表示指定坐标点的x轴坐标。 |
129| int32_t y | 表示指定坐标点的y轴坐标。 |
130
131**返回:**
132
133| 类型 | 说明 |
134| -- | -- |
135| bool | 返回区域是否包含指定坐标点。true表示区域包含该坐标点,false表示区域不包含该坐标点。 |
136
137### OH_Drawing_RegionOp()
138
139```
140bool OH_Drawing_RegionOp(OH_Drawing_Region* region, const OH_Drawing_Region* other, OH_Drawing_RegionOpMode op)
141```
142
143**描述**
144
145将两个区域按照指定的区域操作类型合并。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>region、dst任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER;<br>op不在枚举范围内时返回OH_DRAWING_ERROR_PARAMETER_OUT_OF_RANGE。
146
147**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
148
149**起始版本:** 12
150
151
152**参数:**
153
154| 参数项 | 描述 |
155| -- | -- |
156| [OH_Drawing_Region](capi-drawing-oh-drawing-region.md)* region | 指向区域对象[OH_Drawing_Region](capi-drawing-oh-drawing-region.md)的指针,操作完成后的区域结果将会保存在此区域对象中。 |
157| const [OH_Drawing_Region](capi-drawing-oh-drawing-region.md)* other | 指向区域对象[OH_Drawing_Region](capi-drawing-oh-drawing-region.md)的指针。 |
158| [OH_Drawing_RegionOpMode](#oh_drawing_regionopmode) op | 区域操作枚举类型,支持可选的具体模式可见[OH_Drawing_RegionOpMode](capi-drawing-region-h.md#oh_drawing_regionopmode)枚举。 |
159
160**返回:**
161
162| 类型 | 说明 |
163| -- | -- |
164| bool | 返回操作后的区域是否为空。true表示区域不为空,false表示区域为空。 |
165
166### OH_Drawing_RegionSetRect()
167
168```
169bool OH_Drawing_RegionSetRect(OH_Drawing_Region* region, const OH_Drawing_Rect* rect)
170```
171
172**描述**
173
174用于尝试给区域对象设置矩形边界。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>region、rect任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
175
176**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
177
178**起始版本:** 12
179
180
181**参数:**
182
183| 参数项 | 描述 |
184| -- | -- |
185| [OH_Drawing_Region](capi-drawing-oh-drawing-region.md)* region | 指向区域对象[OH_Drawing_Region](capi-drawing-oh-drawing-region.md)的指针。 |
186| const [OH_Drawing_Rect](capi-drawing-oh-drawing-rect.md)* rect | 指向矩形对象的指针。 |
187
188**返回:**
189
190| 类型 | 说明 |
191| -- | -- |
192| bool | 返回区域对象设置矩形边界是否成功的结果。true表示设置矩形边界成功,false表示设置矩形边界失败。 |
193
194### OH_Drawing_RegionSetPath()
195
196```
197bool OH_Drawing_RegionSetPath(OH_Drawing_Region* region, const OH_Drawing_Path* path, const OH_Drawing_Region* clip)
198```
199
200**描述**
201
202给区域对象设置为指定区域内路径表示的范围。<br>本接口会产生错误码,可以通过[OH_Drawing_ErrorCodeGet](capi-drawing-error-code-h.md#oh_drawing_errorcodeget)查看错误码的取值。<br>region、path、clip任意一个为NULL时返回OH_DRAWING_ERROR_INVALID_PARAMETER。
203
204**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
205
206**起始版本:** 12
207
208
209**参数:**
210
211| 参数项 | 描述 |
212| -- | -- |
213| [OH_Drawing_Region](capi-drawing-oh-drawing-region.md)* region | 指向区域对象[OH_Drawing_Region](capi-drawing-oh-drawing-region.md)的指针。 |
214| const [OH_Drawing_Path](capi-drawing-oh-drawing-path.md)* path | 指向路径对象[OH_Drawing_Path](capi-drawing-oh-drawing-path.md)的指针。 |
215| const [OH_Drawing_Region](capi-drawing-oh-drawing-region.md)* clip | 指向区域对象[OH_Drawing_Region](capi-drawing-oh-drawing-region.md)的指针。 |
216
217**返回:**
218
219| 类型 | 说明 |
220| -- | -- |
221| bool | 返回操作后的区域是否为空。true表示区域不为空,false表示区域为空。 |
222
223### OH_Drawing_RegionDestroy()
224
225```
226void OH_Drawing_RegionDestroy(OH_Drawing_Region* region)
227```
228
229**描述**
230
231用于销毁区域对象并回收该对象占有的内存。
232
233**系统能力:** SystemCapability.Graphic.Graphic2D.NativeDrawing
234
235**起始版本:** 12
236
237
238**参数:**
239
240| 参数项 | 描述 |
241| -- | -- |
242| [OH_Drawing_Region](capi-drawing-oh-drawing-region.md)* region | 指向区域对象[OH_Drawing_Region](capi-drawing-oh-drawing-region.md)的指针。 |
243
244
245