Region Functions
Windows GDI+ exposes a flat API that consists of about 600 functions, which are implemented in Gdiplus.dll and declared in Gdiplusflat.h. The functions in the GDI+ flat API are wrapped by a collection of about 40 C++ classes. It is recommended that you do not directly call the functions in the flat API. Whenever you make calls to GDI+, you should do so by calling the methods and functions provided by the C++ wrappers. Microsoft Product Support Services will not provide support for code that calls the flat API directly. For more information on using these wrapper methods, see GDI+ Flat API.
The following flat API functions are wrapped by the Region C++ class.
Region Functions and Corresponding Wrapper Methods
| Flat function | Wrapper method | Remarks |
|---|---|---|
|
GpStatus WINGDIPAPI GdipCreateRegion(GpRegion **region) | Creates a region that is infinite. This is the default constructor. | |
|
GpStatus WINGDIPAPI GdipCreateRegionRect(GDIPCONST GpRectF *rect, GpRegion **region) | Creates a region that is defined by a rectangle. | |
|
GpStatus WINGDIPAPI GdipCreateRegionRectI(GDIPCONST GpRect *rect, GpRegion **region) | Creates a region that is defined by a rectangle. | |
|
GpStatus WINGDIPAPI GdipCreateRegionPath(GpPath *path, GpRegion **region) | Creates a region that is defined by a GraphicsPath object and has a fill mode that is contained in the GraphicsPath object. | |
|
GpStatus WINGDIPAPI GdipCreateRegionRgnData(GDIPCONST BYTE *regionData, INT size, GpRegion **region) | Creates a region that is defined by data obtained from another region. | |
|
GpStatus WINGDIPAPI GdipCreateRegionHrgn(HRGN hRgn, GpRegion **region) | Creates a region that is identical to the region that is specified by a handle to a GDI region. | |
|
GpStatus WINGDIPAPI GdipCloneRegion(GpRegion *region, GpRegion **cloneRegion) | Makes a copy of this Region object and returns the address of the new Region object. | |
|
GpStatus WINGDIPAPI GdipDeleteRegion(GpRegion *region) |
Region::~Region() | Releases resources used by the Region object. |
|
GpStatus WINGDIPAPI GdipSetInfinite(GpRegion *region) | Updates this region to an infinite region. | |
|
GpStatus WINGDIPAPI GdipSetEmpty(GpRegion *region) | Updates this region to an empty region. In other words, the region occupies no space on the display device. | |
|
GpStatus WINGDIPAPI GdipCombineRegionRect(GpRegion *region, GDIPCONST GpRectF *rect, CombineMode combineMode) |
Updates this region to the portion of itself that intersects the specified rectangle's interior. The combineMode parameter in the flat function is a member of the CombineMode enumeration that specifies how the region and rectangle are combined. | |
|
GpStatus WINGDIPAPI GdipCombineRegionRectI(GpRegion *region, GDIPCONST GpRect *rect, CombineMode combineMode) |
Updates this region to the portion of itself that intersects the specified rectangle's interior. The combineMode parameter in the flat function is a member of the CombineMode enumeration that specifies how the region and rectangle are combined. | |
|
GpStatus WINGDIPAPI GdipCombineRegionPath(GpRegion *region, GpPath *path, CombineMode combineMode) |
Updates this region to the portion of itself that intersects the specified path's interior. The combineMode parameter in the flat function is a member of the CombineMode enumeration that specifies how the region and path are combined. | |
|
GpStatus WINGDIPAPI GdipCombineRegionRegion(GpRegion *region, GpRegion *region2, CombineMode combineMode) |
Updates this region to the portion of itself that intersects another region. The combineMode parameter in the flat function is a member of the CombineMode enumeration that specifies how the regions are combined. | |
|
GpStatus WINGDIPAPI GdipTranslateRegion(GpRegion *region, REAL dx, REAL dy) | Offsets this region by specified amounts in the horizontal and vertical directions. | |
|
GpStatus WINGDIPAPI GdipTranslateRegionI(GpRegion *region, INT dx, INT dy) | Offsets this region by specified amounts in the horizontal and vertical directions. | |
|
GpStatus WINGDIPAPI GdipTransformRegion(GpRegion *region, GpMatrix *matrix) | Transforms this region by multiplying each of its data points by a specified matrix. | |
|
GpStatus WINGDIPAPI GdipGetRegionBounds(GpRegion *region, GpGraphics *graphics, GpRectF *rect) |
Status Region::GetBounds(OUT RectF* rect, IN const Graphics* g) const | Gets a rectangle that encloses this region. |
|
GpStatus WINGDIPAPI GdipGetRegionBoundsI(GpRegion *region, GpGraphics *graphics, GpRect *rect) |
Status Region::GetBounds(OUT Rect* rect, IN const Graphics* g) const | Gets a rectangle that encloses this region. |
|
GpStatus WINGDIPAPI GdipGetRegionHRgn(GpRegion *region, GpGraphics *graphics, HRGN *hRgn) | Creates a GDI region from this region. | |
|
GpStatus WINGDIPAPI GdipIsEmptyRegion(GpRegion *region, GpGraphics *graphics, BOOL *result) | Determines whether this region is empty. | |
|
GpStatus WINGDIPAPI GdipIsInfiniteRegion(GpRegion *region, GpGraphics *graphics, BOOL *result) | Determines whether this region is infinite. | |
|
GpStatus WINGDIPAPI GdipIsEqualRegion(GpRegion *region, GpRegion *region2, GpGraphics *graphics, BOOL *result) |
BOOL Region::Equals(IN const Region* region, IN const Graphics* g) const | Determines whether this region is equal to a specified region. |
|
GpStatus WINGDIPAPI GdipGetRegionDataSize(GpRegion *region, UINT * bufferSize) | Gets the number of bytes of data that describes this region. | |
|
GpStatus WINGDIPAPI GdipGetRegionData(GpRegion *region, BYTE * buffer, UINT bufferSize, UINT * sizeFilled) |
Status Region::GetData(OUT BYTE* buffer, IN UINT bufferSize, OUT UINT* sizeFilled) const | Gets data that describes this region. |
|
GpStatus WINGDIPAPI GdipIsVisibleRegionPoint(GpRegion *region, REAL x, REAL y, GpGraphics *graphics, BOOL *result) |
BOOL Region::IsVisible(IN const PointF& point, IN const Graphics* g) const |
Determines whether a point is inside this region. The x and y parameters in the flat function specify the x and y coordinates of a point that corresponds to the point parameter in the wrapper method. |
|
GpStatus WINGDIPAPI GdipIsVisibleRegionPointI(GpRegion *region, INT x, INT y, GpGraphics *graphics, BOOL *result) |
BOOL Region::IsVisible(IN const Point& point, IN const Graphics* g) const |
Determines whether a point is inside this region. The x and y parameters in the flat function specify the x and y coordinates of a point that corresponds to the point parameter in the wrapper method. |
|
GpStatus WINGDIPAPI GdipIsVisibleRegionRect(GpRegion *region, REAL x, REAL y, REAL width, REAL height, GpGraphics *graphics, BOOL *result) |
BOOL Region::IsVisible(IN const RectF& rect, IN const Graphics* g) const |
Determines whether a rectangle intersects this region. The x, y, width, and height parameters in the flat function specify a rectangle that corresponds to the rect parameter in the wrapper method. |
|
GpStatus WINGDIPAPI GdipIsVisibleRegionRectI(GpRegion *region, INT x, INT y, INT width, INT height, GpGraphics *graphics, BOOL *result) |
BOOL Region::IsVisible(IN const Rect& rect, IN const Graphics* g) const |
Determines whether a rectangle intersects this region. The x, y, width, and height parameters in the flat function specify a rectangle that corresponds to the rect parameter in the wrapper method. |
|
GpStatus WINGDIPAPI GdipGetRegionScansCount(GpRegion *region, UINT* count, GpMatrix* matrix) |
UINT Region::GetRegionScansCount(IN const Matrix* matrix) const | Gets the number of rectangles that approximate this region. The region is transformed by a specified matrix before the rectangles are calculated. |
|
GpStatus WINGDIPAPI GdipGetRegionScans(GpRegion *region, GpRectF* rects, INT* count, GpMatrix* matrix) |
Status Region::GetRegionScans( IN const Matrix* matrix, OUT RectF* rects, IN OUT INT* count) const | Gets an array of rectangles that approximate this region. The region is transformed by a specified matrix before the rectangles are calculated. |
|
GpStatus WINGDIPAPI GdipGetRegionScansI(GpRegion *region, GpRect* rects, INT* count, GpMatrix* matrix) |
Status Region::GetRegionScans( IN const Matrix* matrix, OUT Rect* rects, IN OUT INT* count) const | Gets an array of rectangles that approximate this region. The region is transformed by a specified matrix before the rectangles are calculated. |
Send comments about this topic to Microsoft
Build date: 3/6/2012