.\" -*- nroff -*- .\" Generated file - DO NOT EDIT! .TH GdipGetRegionData 3w "Oct 2012" "Wine API" "Wine API" .SH NAME \fBGdipGetRegionData\fR (GDIPLUS.@) .SH SYNOPSIS GpStatus WINGDIPAPI GdipGetRegionData ( GpRegion* \fIregion\fR, BYTE* \fIbuffer\fR, UINT \fIsize\fR, UINT* \fIneeded\fR ) .SH DESCRIPTION .PP Returns the header, followed by combining ops and \fIregion\fR elements. .SH PARAMS \fIregion\fR \fB[In]\fR \fIregion\fR to retrieve from. .PP \fIbuffer\fR \fB[Out]\fR \fIbuffer\fR to hold the resulting data. .PP \fIsize\fR \fB[In]\fR \fIsize\fR of the \fIbuffer\fR. .PP \fIneeded\fR \fB[Out]\fR (optional) how much data was written. .PP .SH RETURNS .PP \fBSUCCESS:\fR Ok .PP \fBFAILURE:\fR InvalidParameter. .SH NOTES .PP The header contains the \fIsize\fR, a checksum, a version string, and the number of children. The \fIsize\fR does not count itself or the checksum. Version is always something like 0xdbc01001 or 0xdbc01002. .PP An element is a \fBRECT\fR, or PATH; Combining ops are stored as their CombineMode value. Special regions (infinite, empty) emit just their op-code; GpRectFs emit their code followed by their points; GpPaths emit their code followed by a second header for the path followed by the actual path data. Followed by the flags for each point. The pathheader contains the \fIsize\fR of the data to follow, a version number again, followed by a count of how many points, and any special flags which may apply. 0x4000 means its a path of shorts instead of \fBFLOAT\fR. .PP Combining Ops are stored in reverse order from when they were constructed; the output is a tree where the left side combining area is always taken first. .SH IMPLEMENTATION .PP Declared in \fB"gdiplusflat.h"\fR. .PP Implemented in \fB"dlls/gdiplus/region.c"\fR. .PP Debug channel \fB"gdiplus"\fR.