Author: greatlrd Date: Fri Nov 21 03:07:20 2008 New Revision: 37498
URL: http://svn.reactos.org/svn/reactos?rev=37498&view=rev Log: update the dciddi and dciman header. it does not missing any data now.
Modified: branches/reactx/reactos/include/psdk/dciddi.h branches/reactx/reactos/include/psdk/dciman.h
Modified: branches/reactx/reactos/include/psdk/dciddi.h URL: http://svn.reactos.org/svn/reactos/branches/reactx/reactos/include/psdk/dcid... ============================================================================== --- branches/reactx/reactos/include/psdk/dciddi.h [iso-8859-1] (original) +++ branches/reactx/reactos/include/psdk/dciddi.h [iso-8859-1] Fri Nov 21 03:07:20 2008 @@ -92,6 +92,37 @@ #define DCI_CAN_STRETCHXYN (DCI_CAN_STRETCHXN | DCI_CAN_STRETCHYN) #define DCI_CANOVERLAY 0x00010000
+#if (WINVER < 0x0400) + #ifndef RDH_RECTANGLES + + #define RDH_RECTANGLES 0 + + typedef struct tagRECTL + { + LONG left; + LONG top; + LONG right; + LONG bottom; + } RECTL, *PRECTL, *NPRECTL, *LPRECTL, const *LPCRECTL; + + typedef struct tagRGNDATAHEADER + { + DWORD dwSize; + DWORD iType; + DWORD nCount; + DWORD nRgnSize; + RECTL rcBound; + } RGNDATAHEADER *PRGNDATAHEADER, *NPRGNDATAHEADER, *LPRGNDATAHEADER, const RGNDATAHEADER * LPCRGNDATAHEADER; + + typedef struct tagRGNDATA + { + RGNDATAHEADER rdh; + char Buffer[1]; + } RGNDATA, *PRGNDATA, *NPRGNDATA, *LPRGNDATA, const RGNDATA *LPCRGNDATA; + + #endif +#endif + /* FOURCC codes */ #ifndef YVU9 #define YVU9 mmioFOURCC('Y','V','U','9')
Modified: branches/reactx/reactos/include/psdk/dciman.h URL: http://svn.reactos.org/svn/reactos/branches/reactx/reactos/include/psdk/dcim... ============================================================================== --- branches/reactx/reactos/include/psdk/dciman.h [iso-8859-1] (original) +++ branches/reactx/reactos/include/psdk/dciman.h [iso-8859-1] Fri Nov 21 03:07:20 2008 @@ -21,18 +21,154 @@ #ifndef _INC_DCIMAN #define _INC_DCIMAN
-#include <dciddi.h> +#ifdef __cplusplus + #define __inline inline + extern "C" { +#endif + +#include "dciddi.h" + +DECLARE_HANDLE(HWINWATCH); + +#define WINWATCHNOTIFY_START 0 +#define WINWATCHNOTIFY_STOP 1 +#define WINWATCHNOTIFY_DESTROY 2 +#define WINWATCHNOTIFY_CHANGING 3 +#define WINWATCHNOTIFY_CHANGED 4 + + +extern HWINWATCH WINAPI WinWatchOpen(HWND hwnd); +extern void WINAPI WinWatchClose(HWINWATCH hWW); + +extern UINT WINAPI WinWatchGetClipList(HWINWATCH hWW, + LPRECT prc, + UINT size, + LPRGNDATA prd); + +extern BOOL WINAPI WinWatchDidStatusChange(HWINWATCH hWW); + +typedef void (CALLBACK *WINWATCHNOTIFYPROC)(HWINWATCH hww, + HWND hwnd, + DWORD code, + LPARAM lParam); + +extern BOOL WINAPI WinWatchNotify(HWINWATCH hWW, + WINWATCHNOTIFYPROC NotifyCallback, + LPARAM NotifyParam ); + +extern HDC WINAPI DCIOpenProvider(void); +extern void WINAPI DCICloseProvider(HDC hdc); + +extern int WINAPI DCICreatePrimary(HDC hdc, + LPDCISURFACEINFO *lplpSurface); + +extern int WINAPI DCICreateOverlay(HDC hdc, + LPVOID lpOffscreenSurf, + LPDCIOVERLAY *lplpSurface); + +extern int WINAPI DCICreateOffscreen(HDC hdc, + DWORD dwCompression, + DWORD dwRedMask, + DWORD dwGreenMask, + DWORD dwBlueMask, + DWORD dwWidth, + DWORD dwHeight, + DWORD dwDCICaps, + DWORD dwBitCount, + LPDCIOFFSCREEN *lplpSurface); + +extern int WINAPI DCIEnum(HDC hdc, + LPRECT lprDst, + LPRECT lprSrc, + LPVOID lpFnCallback, + LPVOID lpContext); + +extern DCIRVAL WINAPI DCISetSrcDestClip(LPDCIOFFSCREEN pdci, + LPRECT srcrc, + LPRECT destrc, + LPRGNDATA prd); + +extern DWORD WINAPI GetDCRegionData(HDC hdc, DWORD size, LPRGNDATA prd); +extern DWORD WINAPI GetWindowRegionData(HWND hwnd, DWORD size, LPRGNDATA prd); + +#ifdef WIN32 + + extern DCIRVAL WINAPI DCIBeginAccess(LPDCISURFACEINFO pdci, int x, int y, int dx, int dy); + extern void WINAPI DCIEndAccess(LPDCISURFACEINFO pdci); + + extern DCIRVAL WINAPI DCIDraw(LPDCIOFFSCREEN pdci); + extern DCIRVAL WINAPI DCISetClipList(LPDCIOFFSCREEN pdci, LPRGNDATA prd); + extern DCIRVAL WINAPI DCISetDestination(LPDCIOFFSCREEN pdci, LPRECT dst, LPRECT src); + extern void WINAPI DCIDestroy(LPDCISURFACEINFO pdci); +#else + extern int WINAPI DCISendCommand(HDC hdc, VOID *pcmd, int nSize, VOID ** lplpOut); + + __inline DCIRVAL DCISetDestination(LPDCIOFFSCREEN pdci, LPRECT dst, LPRECT src) + { + DCIRVAL retValue = DCI_OK; + + if( pdci->SetDestination != NULL ) + { + retValue = pdci->SetDestination(pdci, dst, src); + } + + return retValue; + } + + __inline DCIRVAL DCIDraw(LPDCIOFFSCREEN pdci) + { + DCIRVAL retValue = DCI_OK; + if( pdci->Draw != NULL ) + { + retValue = pdci->Draw(pdci); + } + return retValue; + } + + __inline DCIRVAL DCIBeginAccess(LPDCISURFACEINFO pdci, int x, int y, int dx, int dy) + { + RECT rc; + DCIRVAL retValue = DCI_OK; + if( pdci->BeginAccess != NULL ) + { + rc.top=y; + rc.left=x; + rc.right = rc.left+dx; + rc.bottom = rc.top+dy; + retValue = pdci->BeginAccess(pdci, &rc); + } + return retValue; + } + + __inline DCIRVAL DCISetClipList(LPDCIOFFSCREEN pdci, LPRGNDATA prd) + { + DCIRVAL retValue = DCI_OK; + if( pdci->SetClipList != NULL ) + { + retValue = pdci->SetClipList(pdci, prd); + } + return retValue; + } + + __inline void DCIDestroy(LPDCISURFACEINFO pdci) + { + if( pdci->DestroySurface != NULL ) + { + pdci->DestroySurface(pdci); + } + } + + __inline void DCIEndAccess(LPDCISURFACEINFO pdci) + { + if( pdci->EndAccess != NULL ) + { + pdci->EndAccess(pdci); + } + } +#endif
#ifdef __cplusplus -extern "C" { + } #endif
-HDC WINAPI DCIOpenProvider(void); -void WINAPI DCICloseProvider(HDC); -int WINAPI DCICreatePrimary(HDC,LPDCISURFACEINFO*); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* _INC_DCIMAN */ +#endif // _INC_DCIMAN