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