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