Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / win32ss / reactx / ntddraw / mocomp.c
diff --git a/win32ss/reactx/ntddraw/mocomp.c b/win32ss/reactx/ntddraw/mocomp.c
new file mode 100644 (file)
index 0000000..ead4cfe
--- /dev/null
@@ -0,0 +1,218 @@
+/*
+ * COPYRIGHT:        See COPYING in the top level directory
+ * PROJECT:          ReactOS kernel
+ * PURPOSE:          Native DirectDraw implementation
+ * FILE:             win32ss/reactx/ntddraw/mocomp.c
+ * PROGRAMER:        Magnus Olsen (magnus@greatlord.com)
+ * REVISION HISTORY:
+ *       19/1-2006   Magnus Olsen
+ */
+
+
+#include <win32k.h>
+#include <debug.h>
+
+/************************************************************************/
+/* NtGdiDdBeginMoCompFrame                                              */
+/************************************************************************/
+DWORD
+APIENTRY
+NtGdiDdBeginMoCompFrame(HANDLE hMoComp,
+                        PDD_BEGINMOCOMPFRAMEDATA puBeginFrameData)
+{
+    PGD_DDBEGINMOCOMPFRAME pfnDdBeginMoCompFrame = (PGD_DDBEGINMOCOMPFRAME)gpDxFuncs[DXG_INDEX_DxDdBeginMoCompFrame].pfn;
+
+    if (pfnDdBeginMoCompFrame == NULL)
+    {
+        DPRINT1("Warning: no pfnDdBeginMoCompFrame");
+        return DDHAL_DRIVER_NOTHANDLED;
+    }
+
+    DPRINT1("Calling dxg.sys DdBeginMoCompFrame");
+    return pfnDdBeginMoCompFrame(hMoComp,puBeginFrameData);
+}
+
+/************************************************************************/
+/* NtGdiDdCreateMoComp                                                  */
+/************************************************************************/
+HANDLE
+APIENTRY
+NtGdiDdCreateMoComp(HANDLE hDirectDraw, PDD_CREATEMOCOMPDATA puCreateMoCompData)
+{
+    PGD_DXDDCREATEMOCOMP pfnDdCreateMoComp = (PGD_DXDDCREATEMOCOMP)gpDxFuncs[DXG_INDEX_DxDdCreateMoComp].pfn;
+
+    if (pfnDdCreateMoComp == NULL)
+    {
+        DPRINT1("Warning: no pfnDdCreateMoComp");
+        return DDHAL_DRIVER_NOTHANDLED;
+    }
+
+    DPRINT1("Calling dxg.sys DdCreateMoComp");
+    return pfnDdCreateMoComp(hDirectDraw, puCreateMoCompData);
+}
+
+/************************************************************************/
+/* NtGdiDdDestroyMoComp                                                 */
+/************************************************************************/
+DWORD 
+APIENTRY
+NtGdiDdDestroyMoComp(HANDLE hMoComp,
+                     PDD_DESTROYMOCOMPDATA puBeginFrameData)
+{
+    PGD_DXDDDESTROYMOCOMP pfnDxDdDestroyMoComp = (PGD_DXDDDESTROYMOCOMP)gpDxFuncs[DXG_INDEX_DxDdDestroyMoComp].pfn;
+
+    if (pfnDxDdDestroyMoComp == NULL)
+    {
+        DPRINT1("Warning: no pfnDxDdDestroyMoComp");
+        return DDHAL_DRIVER_NOTHANDLED;
+    }
+
+    DPRINT1("Calling dxg.sys DxDdDestroyMoComp");
+    return pfnDxDdDestroyMoComp(hMoComp, puBeginFrameData);
+}
+
+/************************************************************************/
+/* NtGdiDdEndMoCompFrame                                                */
+/************************************************************************/
+DWORD
+APIENTRY
+NtGdiDdEndMoCompFrame(HANDLE hMoComp,
+                      PDD_ENDMOCOMPFRAMEDATA puEndFrameData)
+{
+    PGD_DXDDENDMOCOMPFRAME pfnDdEndMoCompFrame = (PGD_DXDDENDMOCOMPFRAME)gpDxFuncs[DXG_INDEX_DxDdEndMoCompFrame].pfn;
+
+    if (pfnDdEndMoCompFrame == NULL)
+    {
+        DPRINT1("Warning: no pfnDdEndMoCompFrame");
+        return DDHAL_DRIVER_NOTHANDLED;
+    }
+
+    DPRINT1("Calling dxg.sys pfnDdEndMoCompFrame");
+    return pfnDdEndMoCompFrame(hMoComp, puEndFrameData);
+}
+
+/************************************************************************/
+/* NtGdiDdGetInternalMoCompInfo                                         */
+/************************************************************************/
+DWORD
+APIENTRY
+NtGdiDdGetInternalMoCompInfo(HANDLE hDirectDraw,
+                             PDD_GETINTERNALMOCOMPDATA puGetInternalData)
+{
+    PGD_DXDDGETINTERNALMOCOMPINFO pfnDdGetInternalMoCompInfo = (PGD_DXDDGETINTERNALMOCOMPINFO)gpDxFuncs[DXG_INDEX_DxDdGetInternalMoCompInfo].pfn;
+
+    if (pfnDdGetInternalMoCompInfo == NULL)
+    {
+        DPRINT1("Warning: no pfnDdGetInternalMoCompInfo");
+        return DDHAL_DRIVER_NOTHANDLED;
+    }
+
+    DPRINT1("Calling dxg.sys pfnDdGetInternalMoCompInfo");
+    return pfnDdGetInternalMoCompInfo(hDirectDraw, puGetInternalData);
+}
+
+
+/************************************************************************/
+/* NtGdiDdGetMoCompBuffInfo                                             */
+/************************************************************************/
+DWORD
+APIENTRY
+NtGdiDdGetMoCompBuffInfo(HANDLE hDirectDraw,
+                         PDD_GETMOCOMPCOMPBUFFDATA puGetBuffData)
+{
+    PGD_DXDDGETMOCOMPBUFFINFO pfnDdGetMoCompBuffInfo = (PGD_DXDDGETMOCOMPBUFFINFO)gpDxFuncs[DXG_INDEX_DxDdGetMoCompBuffInfo].pfn;
+
+    if (pfnDdGetMoCompBuffInfo == NULL)
+    {
+        DPRINT1("Warning: no pfnDdGetMoCompBuffInfo");
+        return DDHAL_DRIVER_NOTHANDLED;
+    }
+
+    DPRINT1("Calling dxg.sys pfnDdGetMoCompBuffInfo");
+    return pfnDdGetMoCompBuffInfo(hDirectDraw, puGetBuffData);
+}
+
+/************************************************************************/
+/* NtGdiDdGetMoCompFormats                                              */
+/************************************************************************/
+DWORD
+APIENTRY
+NtGdiDdGetMoCompFormats(HANDLE hDirectDraw,
+                        PDD_GETMOCOMPFORMATSDATA puGetMoCompFormatsData)
+{
+    PGD_DXDDGETMOCOMPFORMATS pfnDdGetMoCompFormats = (PGD_DXDDGETMOCOMPFORMATS)gpDxFuncs[DXG_INDEX_DxDdGetMoCompFormats].pfn;
+
+    if (pfnDdGetMoCompFormats == NULL)
+    {
+        DPRINT1("Warning: no pfnDdGetMoCompFormats");
+        return DDHAL_DRIVER_NOTHANDLED;
+    }
+
+    DPRINT1("Calling dxg.sys pfnDdGetMoCompFormats");
+    return pfnDdGetMoCompFormats(hDirectDraw, puGetMoCompFormatsData);
+}
+
+
+/************************************************************************/
+/* NtGdiDdGetMoCompGuids                                                */
+/************************************************************************/
+DWORD
+APIENTRY
+NtGdiDdGetMoCompGuids(HANDLE hDirectDraw,
+                      PDD_GETMOCOMPGUIDSDATA puGetMoCompGuidsData)
+{
+    PGD_DXDDGETMOCOMPGUIDS pfnDdGetMoCompGuids = (PGD_DXDDGETMOCOMPGUIDS)gpDxFuncs[DXG_INDEX_DxDdGetMoCompGuids].pfn;
+
+    if (pfnDdGetMoCompGuids == NULL)
+    {
+        DPRINT1("Warning: no pfnDdGetMoCompGuids");
+        return DDHAL_DRIVER_NOTHANDLED;
+    }
+
+    DPRINT1("Calling dxg.sys pfnDdGetMoCompGuids");
+    return pfnDdGetMoCompGuids(hDirectDraw, puGetMoCompGuidsData);
+}
+
+
+
+/************************************************************************/
+/* NtGdiDdQueryMoCompStatus                                             */
+/************************************************************************/
+DWORD
+APIENTRY
+NtGdiDdQueryMoCompStatus(HANDLE hMoComp,
+                         PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData)
+{
+    PGD_DXDDQUERYMOCOMPSTATUS pfnDdQueryMoCompStatus = (PGD_DXDDQUERYMOCOMPSTATUS)gpDxFuncs[DXG_INDEX_DxDdQueryMoCompStatus].pfn;
+
+    if (pfnDdQueryMoCompStatus == NULL)
+    {
+        DPRINT1("Warning: no pfnDdQueryMoCompStatus");
+        return DDHAL_DRIVER_NOTHANDLED;
+    }
+
+    DPRINT1("Calling dxg.sys pfnDdQueryMoCompStatus");
+    return pfnDdQueryMoCompStatus(hMoComp, puQueryMoCompStatusData);
+}
+
+
+/************************************************************************/
+/* NtGdiDdRenderMoComp                                                  */
+/************************************************************************/
+DWORD
+APIENTRY
+NtGdiDdRenderMoComp(HANDLE hMoComp,
+                    PDD_RENDERMOCOMPDATA puRenderMoCompData)
+{
+    PGD_DXDDRENDERMOCOMP pfnDdRenderMoComp = (PGD_DXDDRENDERMOCOMP)gpDxFuncs[DXG_INDEX_DxDdRenderMoComp].pfn;
+
+    if (pfnDdRenderMoComp == NULL)
+    {
+        DPRINT1("Warning: no pfnDdRenderMoComp");
+        return DDHAL_DRIVER_NOTHANDLED;
+    }
+
+    DPRINT1("Calling dxg.sys pfnDdRenderMoComp");
+    return pfnDdRenderMoComp(hMoComp, puRenderMoCompData);
+}
+