Module: wine Branch: master Commit: 9615dd8fdba958150dd7d3ea05eb8ae97c55bed4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9615dd8fdba958150dd7d3ea05...
Author: Vincent Povirk vincent@codeweavers.com Date: Fri Dec 11 17:00:19 2009 -0600
gdiplus: Implement GdipGetImagePalette.
---
dlls/gdiplus/image.c | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c index 74c3f11..982956c 100644 --- a/dlls/gdiplus/image.c +++ b/dlls/gdiplus/image.c @@ -2242,15 +2242,22 @@ GpStatus WINGDIPAPI GdipSaveImageToStream(GpImage *image, IStream* stream, */ GpStatus WINGDIPAPI GdipGetImagePalette(GpImage *image, ColorPalette *palette, INT size) { - static int calls = 0; + TRACE("(%p,%p,%i)\n", image, palette, size);
- if(!image) + if (!image || !palette) return InvalidParameter;
- if(!(calls++)) - FIXME("not implemented\n"); + if (size < (sizeof(UINT)*2+sizeof(ARGB)*image->palette_count)) + { + TRACE("<-- InsufficientBuffer\n"); + return InsufficientBuffer; + }
- return NotImplemented; + palette->Flags = image->palette_flags; + palette->Count = image->palette_count; + memcpy(palette->Entries, image->palette_entries, sizeof(ARGB)*image->palette_count); + + return Ok; }
/*****************************************************************************