Home | History | Annotate | Download | only in gdiplus
      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