dciman.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. #ifdef __cplusplus
  9. #define __inline inline
  10. extern "C" {
  11. #endif
  12. #include "dciddi.h"
  13. DECLARE_HANDLE(HWINWATCH);
  14. extern HDC WINAPI DCIOpenProvider(void);
  15. extern void WINAPI DCICloseProvider(HDC hdc);
  16. extern int WINAPI DCICreatePrimary(HDC hdc,LPDCISURFACEINFO *lplpSurface);
  17. extern int WINAPI DCICreateOffscreen(HDC hdc,DWORD dwCompression,DWORD dwRedMask,DWORD dwGreenMask,DWORD dwBlueMask,DWORD dwWidth,DWORD dwHeight,DWORD dwDCICaps,DWORD dwBitCount,LPDCIOFFSCREEN *lplpSurface);
  18. extern int WINAPI DCICreateOverlay(HDC hdc,LPVOID lpOffscreenSurf,LPDCIOVERLAY *lplpSurface);
  19. extern int WINAPI DCIEnum(HDC hdc,LPRECT lprDst,LPRECT lprSrc,LPVOID lpFnCallback,LPVOID lpContext);
  20. extern DCIRVAL WINAPI DCISetSrcDestClip(LPDCIOFFSCREEN pdci,LPRECT srcrc,LPRECT destrc,LPRGNDATA prd);
  21. extern HWINWATCH WINAPI WinWatchOpen(HWND hwnd);
  22. extern void WINAPI WinWatchClose(HWINWATCH hWW);
  23. extern UINT WINAPI WinWatchGetClipList(HWINWATCH hWW,LPRECT prc,UINT size,LPRGNDATA prd);
  24. extern WINBOOL WINAPI WinWatchDidStatusChange(HWINWATCH hWW);
  25. extern DWORD WINAPI GetWindowRegionData(HWND hwnd,DWORD size,LPRGNDATA prd);
  26. extern DWORD WINAPI GetDCRegionData(HDC hdc,DWORD size,LPRGNDATA prd);
  27. #define WINWATCHNOTIFY_START 0
  28. #define WINWATCHNOTIFY_STOP 1
  29. #define WINWATCHNOTIFY_DESTROY 2
  30. #define WINWATCHNOTIFY_CHANGING 3
  31. #define WINWATCHNOTIFY_CHANGED 4
  32. typedef void (CALLBACK *WINWATCHNOTIFYPROC)(HWINWATCH hww,HWND hwnd,DWORD code,LPARAM lParam);
  33. extern WINBOOL WINAPI WinWatchNotify(HWINWATCH hWW,WINWATCHNOTIFYPROC NotifyCallback,LPARAM NotifyParam);
  34. extern void WINAPI DCIEndAccess(LPDCISURFACEINFO pdci);
  35. extern DCIRVAL WINAPI DCIBeginAccess(LPDCISURFACEINFO pdci,int x,int y,int dx,int dy);
  36. extern void WINAPI DCIDestroy(LPDCISURFACEINFO pdci);
  37. extern DCIRVAL WINAPI DCIDraw(LPDCIOFFSCREEN pdci);
  38. extern DCIRVAL WINAPI DCISetClipList(LPDCIOFFSCREEN pdci,LPRGNDATA prd);
  39. extern DCIRVAL WINAPI DCISetDestination(LPDCIOFFSCREEN pdci,LPRECT dst,LPRECT src);
  40. #ifdef __cplusplus
  41. }
  42. #endif
  43. #endif