1e41f4b71Sopenharmony_ci# drawing_region.h
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ci## Overview
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ciThe **drawing_region.h** file declares the functions related to the region in the drawing module, including creating a region, setting the boundary, and destroying a region.
7e41f4b71Sopenharmony_ci
8e41f4b71Sopenharmony_ci**File to include**: <native_drawing/drawing_region.h>
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci**Library**: libnative_drawing.so
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci**Since**: 12
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci**Related module**: [Drawing](_drawing.md)
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci## Summary
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci### Types
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci| Name | Description | 
23e41f4b71Sopenharmony_ci| -------- | -------- |
24e41f4b71Sopenharmony_ci| typedef enum [OH_Drawing_RegionOpMode](_drawing.md#oh_drawing_regionopmode)  [OH_Drawing_RegionOpMode](_drawing.md#oh_drawing_regionopmode) | Defines an enum for the operation modes available for a region. | 
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci### Enums
28e41f4b71Sopenharmony_ci
29e41f4b71Sopenharmony_ci| Name | Description | 
30e41f4b71Sopenharmony_ci| -------- | -------- |
31e41f4b71Sopenharmony_ci| [OH_Drawing_RegionOpMode](_drawing.md#oh_drawing_regionopmode) {<br>REGION_OP_MODE_DIFFERENCE, REGION_OP_MODE_INTERSECT, REGION_OP_MODE_UNION, REGION_OP_MODE_XOR,<br>REGION_OP_MODE_REVERSE_DIFFERENCE, REGION_OP_MODE_REPLACE<br>} | Enumerates the operation modes available for a region. | 
32e41f4b71Sopenharmony_ci
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci### Functions
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci| Name | Description | 
37e41f4b71Sopenharmony_ci| -------- | -------- |
38e41f4b71Sopenharmony_ci| [OH_Drawing_Region](_drawing.md#oh_drawing_region) \* [OH_Drawing_RegionCreate](_drawing.md#oh_drawing_regioncreate) (void) | Creates an **OH_Drawing_Region** object for more accurate graphical control. | 
39e41f4b71Sopenharmony_ci| bool [OH_Drawing_RegionContains](_drawing.md#oh_drawing_regioncontains) ([OH_Drawing_Region](_drawing.md#oh_drawing_region) \*region, int32_t x, int32_t y) | Checks whether a region contains the specified point. |
40e41f4b71Sopenharmony_ci| bool [OH_Drawing_RegionOp](_drawing.md#oh_drawing_regionop) ([OH_Drawing_Region](_drawing.md#oh_drawing_region) \*region, const [OH_Drawing_Region](_drawing.md#oh_drawing_region) \*other, [OH_Drawing_RegionOpMode](_drawing.md#oh_drawing_regionopmode) op) | Combines two regions based on the specified operation mode. | 
41e41f4b71Sopenharmony_ci| bool [OH_Drawing_RegionSetRect](_drawing.md#oh_drawing_regionsetrect) ([OH_Drawing_Region](_drawing.md#oh_drawing_region) \*region, const [OH_Drawing_Rect](_drawing.md#oh_drawing_rect) \*rect) | Sets the boundary for an **OH_Drawing_Region** object. | 
42e41f4b71Sopenharmony_ci| bool [OH_Drawing_RegionSetPath](_drawing.md#oh_drawing_regionsetpath) ([OH_Drawing_Region](_drawing.md#oh_drawing_region) \*region, const [OH_Drawing_Path](_drawing.md#oh_drawing_path) \*path, const [OH_Drawing_Region](_drawing.md#oh_drawing_region) \*clip) | Sets a region to the area described by the path. | 
43e41f4b71Sopenharmony_ci| void [OH_Drawing_RegionDestroy](_drawing.md#oh_drawing_regiondestroy) ([OH_Drawing_Region](_drawing.md#oh_drawing_region) \*) | Destroys an **OH_Drawing_Region** object and reclaims the memory occupied by the object. | 
44