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/dci…
==============================================================================
--- 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/dci…
==============================================================================
--- 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