diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index f0d1bde032d..834d0e228b5 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -532,7 +532,7 @@ @ stub GdipSetImageAttributesThreshold @ stub GdipSetImageAttributesToIdentity @ stdcall GdipSetImageAttributesWrapMode(ptr long long long) -@ stub GdipSetImagePalette +@ stdcall GdipSetImagePalette(ptr ptr) @ stub GdipSetInfinite @ stdcall GdipSetInterpolationMode(ptr long) @ stub GdipSetLineBlend diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c index 85cfc07a354..ec52d5d0009 100644 --- a/dlls/gdiplus/image.c +++ b/dlls/gdiplus/image.c @@ -668,3 +668,17 @@ GpStatus WINGDIPAPI GdipSaveImageToStream(GpImage *image, IStream* stream, return Ok; } + +GpStatus WINGDIPAPI GdipSetImagePalette(GpImage *image, + GDIPCONST ColorPalette *palette) +{ + static int calls; + + if(!image || !palette) + return InvalidParameter; + + if(!(calls++)) + FIXME("not implemented\n"); + + return NotImplemented; +} diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h index 1ae9ced8c4c..57b14ab036c 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -208,6 +208,7 @@ GpStatus WINGDIPAPI GdipLoadImageFromStreamICM(IStream*,GpImage**); GpStatus WINGDIPAPI GdipRemovePropertyItem(GpImage*,PROPID); GpStatus WINGDIPAPI GdipSaveImageToStream(GpImage*,IStream*, GDIPCONST CLSID*,GDIPCONST EncoderParameters*); +GpStatus WINGDIPAPI GdipSetImagePalette(GpImage*,GDIPCONST ColorPalette*); GpStatus WINGDIPAPI GdipCreateImageAttributes(GpImageAttributes**); GpStatus WINGDIPAPI GdipDisposeImageAttributes(GpImageAttributes*); diff --git a/include/gdipluspixelformats.h b/include/gdipluspixelformats.h index dd67410e9d0..d7382f141ff 100644 --- a/include/gdipluspixelformats.h +++ b/include/gdipluspixelformats.h @@ -48,4 +48,25 @@ typedef INT PixelFormat; #define PixelFormat64bppPARGB (14 | (64 << 8) | PixelFormatAlpha | PixelFormatPAlpha | PixelFormatExtended) #define PixelFormatMax 15 +#ifdef __cplusplus + +struct ColorPalette +{ +public: + UINT Flags; + UINT Count; + ARGB Entries[1]; +}; + +#else /* end of c++ typedefs */ + +typedef struct ColorPalette +{ + UINT Flags; + UINT Count; + ARGB Entries[1]; +} ColorPalette; + +#endif /* end of c typedefs */ + #endif