Evan Stade : gdiplus: Added beginnings of memory and startup
functions.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jun 11 08:46:29 CDT 2007
Module: wine
Branch: master
Commit: a781bbf096d9a3264fe52fa90891b5a19fca9e4d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a781bbf096d9a3264fe52fa90891b5a19fca9e4d
Author: Evan Stade <estade at gmail.com>
Date: Fri Jun 8 13:46:27 2007 -0700
gdiplus: Added beginnings of memory and startup functions.
---
dlls/gdiplus/gdiplus.c | 38 +++++++++++++++++++++++++++++++++++++-
dlls/gdiplus/gdiplus.spec | 8 ++++----
2 files changed, 41 insertions(+), 5 deletions(-)
diff --git a/dlls/gdiplus/gdiplus.c b/dlls/gdiplus/gdiplus.c
index 367fab5..2cb04a6 100644
--- a/dlls/gdiplus/gdiplus.c
+++ b/dlls/gdiplus/gdiplus.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007 Evan Stade
+ * Copyright (C) 2007 Google (Evan Stade)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -22,6 +22,7 @@
#include "winbase.h"
#include "winerror.h"
#include "wine/debug.h"
+#include "gdiplus.h"
WINE_DEFAULT_DEBUG_CHANNEL(gdiplus);
@@ -43,3 +44,38 @@ BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, LPVOID reserved)
}
return TRUE;
}
+
+Status WINAPI GdiplusStartup(ULONG_PTR *token, const struct GdiplusStartupInput *input,
+ struct GdiplusStartupOutput *output)
+{
+ if(!token)
+ return InvalidParameter;
+
+ if(input->GdiplusVersion != 1) {
+ return UnsupportedGdiplusVersion;
+ } else if ((input->DebugEventCallback) ||
+ (input->SuppressBackgroundThread) || (input->SuppressExternalCodecs)){
+ FIXME("Unimplemented for non-default GdiplusStartupInput");
+ return NotImplemented;
+ } else if(output) {
+ FIXME("Unimplemented for non-null GdiplusStartupOutput");
+ return NotImplemented;
+ }
+
+ return Ok;
+}
+
+void WINAPI GdiplusShutdown(ULONG_PTR token)
+{
+ /* FIXME: no object tracking */
+}
+
+void* WINGDIPAPI GdipAlloc(SIZE_T size)
+{
+ return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
+}
+
+void WINGDIPAPI GdipFree(void* ptr)
+{
+ HeapFree(GetProcessHeap(), 0, ptr);
+}
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 863be69..99b56b8 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -31,7 +31,7 @@
@ stub GdipAddPathRectanglesI
@ stub GdipAddPathString
@ stub GdipAddPathStringI
-@ stub GdipAlloc
+@ stdcall GdipAlloc(long)
@ stub GdipBeginContainer2
@ stub GdipBeginContainer
@ stub GdipBeginContainerI
@@ -222,7 +222,7 @@
@ stub GdipFillRegion
@ stub GdipFlattenPath
@ stub GdipFlush
-@ stub GdipFree
+@ stdcall GdipFree(ptr)
@ stub GdipGetAdjustableArrowCapFillState
@ stub GdipGetAdjustableArrowCapHeight
@ stub GdipGetAdjustableArrowCapMiddleInset
@@ -605,5 +605,5 @@
@ stub GdipWindingModeOutline
@ stub GdiplusNotificationHook
@ stub GdiplusNotificationUnhook
-@ stub GdiplusShutdown
-@ stub GdiplusStartup
+@ stdcall GdiplusShutdown(ptr)
+@ stdcall GdiplusStartup(ptr ptr ptr)
More information about the wine-cvs
mailing list