Hans Leidekker : gdiplus: Implement GdipNewPrivateFontCollection and GdipDeletePrivateFontCollection .
Alexandre Julliard
julliard at winehq.org
Mon Nov 24 09:16:49 CST 2008
Module: wine
Branch: master
Commit: ea323d1349bbe5ae59d18af620dd7f24242b3547
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ea323d1349bbe5ae59d18af620dd7f24242b3547
Author: Hans Leidekker <hans at codeweavers.com>
Date: Mon Nov 24 10:21:55 2008 +0100
gdiplus: Implement GdipNewPrivateFontCollection and GdipDeletePrivateFontCollection.
---
dlls/gdiplus/font.c | 18 ++++++++++++++----
dlls/gdiplus/gdiplus_private.h | 3 ++-
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/dlls/gdiplus/font.c b/dlls/gdiplus/font.c
index 9348f5b..71df288 100644
--- a/dlls/gdiplus/font.c
+++ b/dlls/gdiplus/font.c
@@ -789,12 +789,17 @@ GpStatus WINGDIPAPI GdipGetGenericFontFamilySansSerif(GpFontFamily **nativeFamil
*/
GpStatus WINGDIPAPI GdipNewPrivateFontCollection(GpFontCollection** fontCollection)
{
- FIXME("stub %p\n", fontCollection);
+ TRACE("%p\n", fontCollection);
if (!fontCollection)
return InvalidParameter;
- return NotImplemented;
+ *fontCollection = GdipAlloc(sizeof(GpFontCollection));
+ if (!*fontCollection) return OutOfMemory;
+
+ (*fontCollection)->FontFamilies = NULL;
+ (*fontCollection)->count = 0;
+ return Ok;
}
/*****************************************************************************
@@ -802,12 +807,17 @@ GpStatus WINGDIPAPI GdipNewPrivateFontCollection(GpFontCollection** fontCollecti
*/
GpStatus WINGDIPAPI GdipDeletePrivateFontCollection(GpFontCollection **fontCollection)
{
- FIXME("stub %p\n", fontCollection);
+ INT i;
+
+ TRACE("%p\n", fontCollection);
if (!fontCollection)
return InvalidParameter;
- return NotImplemented;
+ for (i = 0; i < (*fontCollection)->count; i++) GdipFree((*fontCollection)->FontFamilies[i]);
+ GdipFree(*fontCollection);
+
+ return Ok;
}
/*****************************************************************************
diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h
index 57d63c2..2dde79b 100644
--- a/dlls/gdiplus/gdiplus_private.h
+++ b/dlls/gdiplus/gdiplus_private.h
@@ -225,7 +225,8 @@ struct GpStringFormat{
};
struct GpFontCollection{
- GpFontFamily* FontFamilies;
+ GpFontFamily **FontFamilies;
+ INT count;
};
struct GpFontFamily{
More information about the wine-cvs
mailing list