1# drawing_region.h 2 3 4## Overview 5 6The **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. 7 8**File to include**: <native_drawing/drawing_region.h> 9 10**Library**: libnative_drawing.so 11 12**Since**: 12 13 14**Related module**: [Drawing](_drawing.md) 15 16 17## Summary 18 19 20### Types 21 22| Name | Description | 23| -------- | -------- | 24| 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. | 25 26 27### Enums 28 29| Name | Description | 30| -------- | -------- | 31| [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. | 32 33 34### Functions 35 36| Name | Description | 37| -------- | -------- | 38| [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. | 39| 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. | 40| 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. | 41| 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. | 42| 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. | 43| 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