[ros-diffs] [greatlrd] 37498: update the dciddi and dciman header. it does not missing any data now.

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Fri Nov 21 10:07:20 CET 2008


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/dciddi.h?rev=37498&r1=37497&r2=37498&view=diff
==============================================================================
--- 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/dciman.h?rev=37498&r1=37497&r2=37498&view=diff
==============================================================================
--- 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



More information about the Ros-diffs mailing list