gdiplus: Store color key information in ImageAttributes.
diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h
index be881c7..dccc834 100644
--- a/dlls/gdiplus/gdiplus_private.h
+++ b/dlls/gdiplus/gdiplus_private.h
@@ -223,8 +223,15 @@
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 55bff18..8f49c67 100644
--- a/dlls/gdiplus/imageattributes.c
+++ b/dlls/gdiplus/imageattributes.c
@@ -68,15 +68,16 @@
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,