1 /* 2 * gdiplusinit.h 3 * 4 * GDI+ Initialization 5 * 6 * This file is part of the w32api package. 7 * 8 * Contributors: 9 * Created by Markus Koenig <markus (at) stber-koenig.de> 10 * 11 * THIS SOFTWARE IS NOT COPYRIGHTED 12 * 13 * This source code is offered for use in the public domain. You may 14 * use, modify or distribute it freely. 15 * 16 * This code is distributed in the hope that it will be useful but 17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 18 * DISCLAIMED. This includes but is not limited to warranties of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 20 * 21 */ 22 23 #ifndef __GDIPLUS_INIT_H 24 #define __GDIPLUS_INIT_H 25 #if __GNUC__ >=3 26 #pragma GCC system_header 27 #endif 28 29 typedef struct GdiplusStartupInput { 30 UINT32 GdiplusVersion; 31 DebugEventProc DebugEventCallback; 32 BOOL SuppressBackgroundThread; 33 BOOL SuppressExternalCodecs; 34 35 #ifdef __cplusplus 36 GdiplusStartupInput(DebugEventProc debugEventCallback = NULL, 37 BOOL suppressBackgroundThread = FALSE, 38 BOOL suppressExternalCodecs = FALSE): 39 GdiplusVersion(1), 40 DebugEventCallback(debugEventCallback), 41 SuppressBackgroundThread(suppressBackgroundThread), 42 SuppressExternalCodecs(suppressExternalCodecs) {} 43 #endif /* __cplusplus */ 44 } GdiplusStartupInput; 45 46 typedef GpStatus WINGDIPAPI (*NotificationHookProc)(ULONG_PTR *token); 47 typedef VOID WINGDIPAPI (*NotificationUnhookProc)(ULONG_PTR token); 48 49 typedef struct GdiplusStartupOutput { 50 NotificationHookProc NotificationHook; 51 NotificationUnhookProc NotificationUnhook; 52 53 #ifdef __cplusplus 54 GdiplusStartupOutput(): 55 NotificationHook(NULL), 56 NotificationUnhook(NULL) {} 57 #endif /* __cplusplus */ 58 } GdiplusStartupOutput; 59 60 #ifdef __cplusplus 61 extern "C" { 62 #endif 63 64 GpStatus WINGDIPAPI GdiplusStartup(ULONG_PTR*,GDIPCONST GdiplusStartupInput*,GdiplusStartupOutput*); 65 VOID WINGDIPAPI GdiplusShutdown(ULONG_PTR); 66 GpStatus WINGDIPAPI GdiplusNotificationHook(ULONG_PTR*); 67 VOID WINGDIPAPI GdiplusNotificationUnhook(ULONG_PTR); 68 69 #ifdef __cplusplus 70 } /* extern "C" */ 71 #endif 72 73 74 #endif /* __GDIPLUS_INIT_H */ 75