Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
3.9 KiB

  1. /**************************************************************************
  2. *
  3. * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4. * KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5. * IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6. * PURPOSE.
  7. *
  8. * Copyright (c) 1994 - 1995 Microsoft Corporation. All Rights Reserved.
  9. *
  10. **************************************************************************/
  11. /****************************************************************************
  12. DCIMAN.H
  13. DCIMAN 1.0 client interface definitions
  14. ***************************************************************************/
  15. #ifndef _INC_DCIMAN
  16. #define _INC_DCIMAN
  17. #ifdef __cplusplus
  18. #define __inline inline
  19. extern "C" {
  20. #endif
  21. /****************************************************************************
  22. ***************************************************************************/
  23. #include "dciddi.h" // interface to the DCI provider
  24. /****************************************************************************
  25. ***************************************************************************/
  26. DECLARE_HANDLE(HWINWATCH); // context handle for WinWatch instance
  27. /****************************************************************************
  28. ***************************************************************************/
  29. extern HDC WINAPI DCIOpenProvider(void);
  30. extern void WINAPI DCICloseProvider(HDC hdc);
  31. extern int WINAPI DCICreatePrimary(HDC hdc, LPDCISURFACEINFO FAR *lplpSurface);
  32. extern int WINAPI DCICreateOffscreen(HDC hdc, DWORD dwCompression, DWORD dwRedMask,
  33. DWORD dwGreenMask, DWORD dwBlueMask, DWORD dwWidth, DWORD dwHeight,
  34. DWORD dwDCICaps, DWORD dwBitCount, LPDCIOFFSCREEN FAR *lplpSurface);
  35. extern int WINAPI DCICreateOverlay(HDC hdc, LPVOID lpOffscreenSurf,
  36. LPDCIOVERLAY FAR *lplpSurface);
  37. extern int WINAPI DCIEnum(HDC hdc, LPRECT lprDst, LPRECT lprSrc, LPVOID lpFnCallback,
  38. LPVOID lpContext);
  39. extern DCIRVAL WINAPI DCISetSrcDestClip(LPDCIOFFSCREEN pdci, LPRECT srcrc,
  40. LPRECT destrc, LPRGNDATA prd );
  41. extern HWINWATCH WINAPI WinWatchOpen(HWND hwnd);
  42. extern void WINAPI WinWatchClose(HWINWATCH hWW);
  43. // API changed to copy region data instead of return pointer to it
  44. extern UINT WINAPI WinWatchGetClipList(HWINWATCH hWW, LPRECT prc,
  45. UINT size, LPRGNDATA prd);
  46. extern BOOL WINAPI WinWatchDidStatusChange(HWINWATCH hWW);
  47. extern DWORD WINAPI GetWindowRegionData(HWND hwnd, DWORD size, LPRGNDATA prd);
  48. extern DWORD WINAPI GetDCRegionData(HDC hdc, DWORD size, LPRGNDATA prd);
  49. #define WINWATCHNOTIFY_START 0
  50. #define WINWATCHNOTIFY_STOP 1
  51. #define WINWATCHNOTIFY_DESTROY 2
  52. #define WINWATCHNOTIFY_CHANGING 3
  53. #define WINWATCHNOTIFY_CHANGED 4
  54. typedef void (CALLBACK *WINWATCHNOTIFYPROC)(HWINWATCH hww, HWND hwnd, DWORD code, LPARAM lParam);
  55. extern BOOL WINAPI WinWatchNotify(HWINWATCH hWW, WINWATCHNOTIFYPROC NotifyCallback,
  56. LPARAM NotifyParam );
  57. /****************************************************************************
  58. ***************************************************************************/
  59. extern void WINAPI DCIEndAccess(LPDCISURFACEINFO pdci);
  60. extern DCIRVAL WINAPI DCIBeginAccess(LPDCISURFACEINFO pdci, int x, int y, int dx, int dy);
  61. extern void WINAPI DCIDestroy(LPDCISURFACEINFO pdci);
  62. extern DCIRVAL WINAPI DCIDraw(LPDCIOFFSCREEN pdci);
  63. extern DCIRVAL WINAPI DCISetClipList(LPDCIOFFSCREEN pdci, LPRGNDATA prd);
  64. extern DCIRVAL WINAPI DCISetDestination(LPDCIOFFSCREEN pdci, LPRECT dst, LPRECT src);
  65. extern int WINAPI DCISendCommand(HDC hdc, VOID FAR *pcmd, int nSize, VOID FAR * FAR * lplpOut);
  66. extern int WINAPI DCICreatePrimary32(HDC hdc, LPDCISURFACEINFO pdci);
  67. /****************************************************************************
  68. ***************************************************************************/
  69. #ifdef __cplusplus
  70. }
  71. #endif
  72. #endif // _INC_DCIMAN