diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h index be881c71dc8..dccc8349dc0 100644 --- a/dlls/gdiplus/gdiplus_private.h +++ b/dlls/gdiplus/gdiplus_private.h @@ -223,8 +223,15 @@ struct GpCachedBitmap{ GpImage *image; }; +struct color_key{ + BOOL enabled; + ARGB low; + ARGB high; +}; + struct GpImageAttributes{ WrapMode wrap; + struct color_key colorkeys[ColorAdjustTypeCount]; }; struct GpFont{ diff --git a/dlls/gdiplus/imageattributes.c b/dlls/gdiplus/imageattributes.c index 55bff18c629..8f49c67bd44 100644 --- a/dlls/gdiplus/imageattributes.c +++ b/dlls/gdiplus/imageattributes.c @@ -68,15 +68,16 @@ GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes *imageattr) GpStatus WINGDIPAPI GdipSetImageAttributesColorKeys(GpImageAttributes *imageattr, ColorAdjustType type, BOOL enableFlag, ARGB colorLow, ARGB colorHigh) { - static int calls; + TRACE("(%p,%u,%i,%08x,%08x)\n", imageattr, type, enableFlag, colorLow, colorHigh); - if(!imageattr) + if(!imageattr || type >= ColorAdjustTypeCount) return InvalidParameter; - if(!(calls++)) - FIXME("not implemented\n"); + imageattr->colorkeys[type].enabled = enableFlag; + imageattr->colorkeys[type].low = colorLow; + imageattr->colorkeys[type].high = colorHigh; - return NotImplemented; + return Ok; } GpStatus WINGDIPAPI GdipSetImageAttributesColorMatrix(GpImageAttributes *imageattr,