6 * This file is part of the w32api package.
8 * THIS SOFTWARE IS NOT COPYRIGHTED
10 * This source code is offered for use in the public domain. You may
11 * use, modify or distribute it freely.
13 * This code is distributed in the hope that it will be useful but
14 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
15 * DISCLAIMED. This includes but is not limited to warranties of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19 #ifndef _GDIPLUSINIT_H
20 #define _GDIPLUSINIT_H
23 #pragma GCC system_header
26 enum DebugEventLevel
{
28 DebugEventLevelWarning
31 typedef VOID (WINAPI
*DebugEventProc
)(DebugEventLevel level
, CHAR
*message
);
33 struct GdiplusStartupInput
35 UINT32 GdiplusVersion
;
36 DebugEventProc DebugEventCallback
;
37 BOOL SuppressBackgroundThread
;
38 BOOL SuppressExternalCodecs
;
41 DebugEventProc debugEventCallback
= NULL
,
42 BOOL suppressBackgroundThread
= FALSE
,
43 BOOL suppressExternalCodecs
= FALSE
)
46 DebugEventCallback
= debugEventCallback
;
47 SuppressBackgroundThread
= suppressBackgroundThread
;
48 SuppressExternalCodecs
= suppressExternalCodecs
;
52 typedef Status (WINAPI
*NotificationHookProc
)(OUT ULONG_PTR
*token
);
53 typedef VOID (WINAPI
*NotificationUnhookProc
)(ULONG_PTR token
);
55 struct GdiplusStartupOutput
{
56 NotificationHookProc NotificationHook
;
57 NotificationUnhookProc NotificationUnhook
;
60 extern "C" WINAPI Status
GdiplusStartup(ULONG_PTR
*token
, const GdiplusStartupInput
*input
, GdiplusStartupOutput
*output
);
61 extern "C" WINAPI VOID
GdiplusShutdown(ULONG_PTR token
);
63 #endif /* _GDIPLUSINIT_H */