gdiplus: Implement GdipCreateRegionRgnData. Take 2.
Alexandre Julliard
julliard at winehq.org
Mon Nov 18 10:31:33 CST 2013
Dmitry Timoshkov <dmitry at baikal.ru> writes:
> This version of the patch follows Windows behaviour by refusing to create
> an empty path in a region, and marks the test as broken when some Windows
> versions fail to properly clear an aligned DWORD.
> ---
> dlls/gdiplus/region.c | 219 ++++++++++++++++++++++++++++++++++++++++----
> dlls/gdiplus/tests/region.c | 65 +++++++++++++
> 2 files changed, 266 insertions(+), 18 deletions(-)
>
> diff --git a/dlls/gdiplus/region.c b/dlls/gdiplus/region.c
> index 832ce69..bc625f5 100644
> --- a/dlls/gdiplus/region.c
> +++ b/dlls/gdiplus/region.c
> @@ -76,6 +76,28 @@ WINE_DEFAULT_DEBUG_CHANNEL(gdiplus);
> #define FLAGS_NOFLAGS 0x0
> #define FLAGS_INTPATH 0x4000
>
> +struct _memory_buffer
> +{
> + const BYTE *buffer;
> + INT size, pos;
> +};
> +
> +struct _region_header
> +{
> + DWORD size;
> + DWORD checksum;
> + DWORD magic;
> + DWORD num_children;
> +};
> +
> +struct _path_header
> +{
> + DWORD size;
> + DWORD magic;
> + DWORD count;
> + DWORD flags;
> +};
There's no need to add leading underscores, it's obvious that these are
not Windows types.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list