1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef _INC_DCIMAN 7 #define _INC_DCIMAN 8 9 #ifdef __cplusplus 10 #define __inline inline 11 extern "C" { 12 #endif 13 14 #include "dciddi.h" 15 16 DECLARE_HANDLE(HWINWATCH); 17 18 extern HDC WINAPI DCIOpenProvider(void); 19 extern void WINAPI DCICloseProvider(HDC hdc); 20 21 extern int WINAPI DCICreatePrimary(HDC hdc,LPDCISURFACEINFO *lplpSurface); 22 extern int WINAPI DCICreateOffscreen(HDC hdc,DWORD dwCompression,DWORD dwRedMask,DWORD dwGreenMask,DWORD dwBlueMask,DWORD dwWidth,DWORD dwHeight,DWORD dwDCICaps,DWORD dwBitCount,LPDCIOFFSCREEN *lplpSurface); 23 extern int WINAPI DCICreateOverlay(HDC hdc,LPVOID lpOffscreenSurf,LPDCIOVERLAY *lplpSurface); 24 extern int WINAPI DCIEnum(HDC hdc,LPRECT lprDst,LPRECT lprSrc,LPVOID lpFnCallback,LPVOID lpContext); 25 extern DCIRVAL WINAPI DCISetSrcDestClip(LPDCIOFFSCREEN pdci,LPRECT srcrc,LPRECT destrc,LPRGNDATA prd); 26 27 extern HWINWATCH WINAPI WinWatchOpen(HWND hwnd); 28 extern void WINAPI WinWatchClose(HWINWATCH hWW); 29 extern UINT WINAPI WinWatchGetClipList(HWINWATCH hWW,LPRECT prc,UINT size,LPRGNDATA prd); 30 extern WINBOOL WINAPI WinWatchDidStatusChange(HWINWATCH hWW); 31 extern DWORD WINAPI GetWindowRegionData(HWND hwnd,DWORD size,LPRGNDATA prd); 32 extern DWORD WINAPI GetDCRegionData(HDC hdc,DWORD size,LPRGNDATA prd); 33 34 #define WINWATCHNOTIFY_START 0 35 #define WINWATCHNOTIFY_STOP 1 36 #define WINWATCHNOTIFY_DESTROY 2 37 #define WINWATCHNOTIFY_CHANGING 3 38 #define WINWATCHNOTIFY_CHANGED 4 39 typedef void (CALLBACK *WINWATCHNOTIFYPROC)(HWINWATCH hww,HWND hwnd,DWORD code,LPARAM lParam); 40 41 extern WINBOOL WINAPI WinWatchNotify(HWINWATCH hWW,WINWATCHNOTIFYPROC NotifyCallback,LPARAM NotifyParam); 42 43 extern void WINAPI DCIEndAccess(LPDCISURFACEINFO pdci); 44 extern DCIRVAL WINAPI DCIBeginAccess(LPDCISURFACEINFO pdci,int x,int y,int dx,int dy); 45 extern void WINAPI DCIDestroy(LPDCISURFACEINFO pdci); 46 extern DCIRVAL WINAPI DCIDraw(LPDCIOFFSCREEN pdci); 47 extern DCIRVAL WINAPI DCISetClipList(LPDCIOFFSCREEN pdci,LPRGNDATA prd); 48 extern DCIRVAL WINAPI DCISetDestination(LPDCIOFFSCREEN pdci,LPRECT dst,LPRECT src); 49 50 #ifdef __cplusplus 51 } 52 #endif 53 #endif 54