blob: e4dbeb0f75f51af7d8fb7261b778e9da3948443f [file] [log] [blame]
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#ifndef _GDIPLUSINIT_H
#define _GDIPLUSINIT_H
enum DebugEventLevel {
DebugEventLevelFatal,DebugEventLevelWarning
};
typedef VOID (WINAPI *DebugEventProc)(DebugEventLevel level,CHAR *message);
typedef Status (WINAPI *NotificationHookProc)(ULONG_PTR *token);
typedef VOID (WINAPI *NotificationUnhookProc)(ULONG_PTR token);
struct GdiplusStartupInput {
UINT32 GdiplusVersion;
DebugEventProc DebugEventCallback;
WINBOOL SuppressBackgroundThread;
WINBOOL SuppressExternalCodecs;
GdiplusStartupInput(DebugEventProc debugEventCallback = NULL,WINBOOL suppressBackgroundThread = FALSE,WINBOOL suppressExternalCodecs = FALSE) {
GdiplusVersion = 1;
DebugEventCallback = debugEventCallback;
SuppressBackgroundThread = suppressBackgroundThread;
SuppressExternalCodecs = suppressExternalCodecs;
}
};
struct GdiplusStartupOutput {
NotificationHookProc NotificationHook;
NotificationUnhookProc NotificationUnhook;
};
extern "C" Status WINAPI GdiplusStartup(ULONG_PTR *token,const GdiplusStartupInput *input,GdiplusStartupOutput *output);
extern "C" VOID WINAPI GdiplusShutdown(ULONG_PTR token);
#endif