Reactos
at master 214 lines 7.8 kB view raw
1/* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS kernel 4 * PURPOSE: Native DirectDraw implementation 5 * FILE: win32ss/reactx/ntddraw/mocomp.c 6 * PROGRAMER: Magnus Olsen (magnus@greatlord.com) 7 * REVISION HISTORY: 8 * 19/1-2006 Magnus Olsen 9 */ 10 11#include <win32k.h> 12 13// #define NDEBUG 14#include <debug.h> 15 16/************************************************************************/ 17/* NtGdiDdBeginMoCompFrame */ 18/************************************************************************/ 19DWORD 20APIENTRY 21NtGdiDdBeginMoCompFrame(HANDLE hMoComp, 22 PDD_BEGINMOCOMPFRAMEDATA puBeginFrameData) 23{ 24 PGD_DDBEGINMOCOMPFRAME pfnDdBeginMoCompFrame = (PGD_DDBEGINMOCOMPFRAME)gpDxFuncs[DXG_INDEX_DxDdBeginMoCompFrame].pfn; 25 26 if (pfnDdBeginMoCompFrame == NULL) 27 { 28 DPRINT1("Warning: no pfnDdBeginMoCompFrame\n"); 29 return DDHAL_DRIVER_NOTHANDLED; 30 } 31 32 DPRINT("Calling dxg.sys pfnDdBeginMoCompFrame\n"); 33 return pfnDdBeginMoCompFrame(hMoComp,puBeginFrameData); 34} 35 36/************************************************************************/ 37/* NtGdiDdCreateMoComp */ 38/************************************************************************/ 39HANDLE 40APIENTRY 41NtGdiDdCreateMoComp(HANDLE hDirectDraw, PDD_CREATEMOCOMPDATA puCreateMoCompData) 42{ 43 PGD_DXDDCREATEMOCOMP pfnDdCreateMoComp = (PGD_DXDDCREATEMOCOMP)gpDxFuncs[DXG_INDEX_DxDdCreateMoComp].pfn; 44 45 if (pfnDdCreateMoComp == NULL) 46 { 47 DPRINT1("Warning: no pfnDdCreateMoComp\n"); 48 return DDHAL_DRIVER_NOTHANDLED; 49 } 50 51 DPRINT("Calling dxg.sys pfnDdCreateMoComp\n"); 52 return pfnDdCreateMoComp(hDirectDraw, puCreateMoCompData); 53} 54 55/************************************************************************/ 56/* NtGdiDdDestroyMoComp */ 57/************************************************************************/ 58DWORD 59APIENTRY 60NtGdiDdDestroyMoComp(HANDLE hMoComp, 61 PDD_DESTROYMOCOMPDATA puBeginFrameData) 62{ 63 PGD_DXDDDESTROYMOCOMP pfnDdDestroyMoComp = 64 (PGD_DXDDDESTROYMOCOMP)gpDxFuncs[DXG_INDEX_DxDdDestroyMoComp].pfn; 65 66 if (pfnDdDestroyMoComp == NULL) 67 { 68 DPRINT1("Warning: no pfnDdDestroyMoComp\n"); 69 return DDHAL_DRIVER_NOTHANDLED; 70 } 71 72 DPRINT("Calling dxg.sys pfnDdDestroyMoComp\n"); 73 return pfnDdDestroyMoComp(hMoComp, puBeginFrameData); 74} 75 76/************************************************************************/ 77/* NtGdiDdEndMoCompFrame */ 78/************************************************************************/ 79DWORD 80APIENTRY 81NtGdiDdEndMoCompFrame(HANDLE hMoComp, 82 PDD_ENDMOCOMPFRAMEDATA puEndFrameData) 83{ 84 PGD_DXDDENDMOCOMPFRAME pfnDdEndMoCompFrame = (PGD_DXDDENDMOCOMPFRAME)gpDxFuncs[DXG_INDEX_DxDdEndMoCompFrame].pfn; 85 86 if (pfnDdEndMoCompFrame == NULL) 87 { 88 DPRINT1("Warning: no pfnDdEndMoCompFrame\n"); 89 return DDHAL_DRIVER_NOTHANDLED; 90 } 91 92 DPRINT("Calling dxg.sys pfnDdEndMoCompFrame\n"); 93 return pfnDdEndMoCompFrame(hMoComp, puEndFrameData); 94} 95 96/************************************************************************/ 97/* NtGdiDdGetInternalMoCompInfo */ 98/************************************************************************/ 99DWORD 100APIENTRY 101NtGdiDdGetInternalMoCompInfo(HANDLE hDirectDraw, 102 PDD_GETINTERNALMOCOMPDATA puGetInternalData) 103{ 104 PGD_DXDDGETINTERNALMOCOMPINFO pfnDdGetInternalMoCompInfo = (PGD_DXDDGETINTERNALMOCOMPINFO)gpDxFuncs[DXG_INDEX_DxDdGetInternalMoCompInfo].pfn; 105 106 if (pfnDdGetInternalMoCompInfo == NULL) 107 { 108 DPRINT1("Warning: no pfnDdGetInternalMoCompInfo\n"); 109 return DDHAL_DRIVER_NOTHANDLED; 110 } 111 112 DPRINT("Calling dxg.sys pfnDdGetInternalMoCompInfo\n"); 113 return pfnDdGetInternalMoCompInfo(hDirectDraw, puGetInternalData); 114} 115 116/************************************************************************/ 117/* NtGdiDdGetMoCompBuffInfo */ 118/************************************************************************/ 119DWORD 120APIENTRY 121NtGdiDdGetMoCompBuffInfo(HANDLE hDirectDraw, 122 PDD_GETMOCOMPCOMPBUFFDATA puGetBuffData) 123{ 124 PGD_DXDDGETMOCOMPBUFFINFO pfnDdGetMoCompBuffInfo = (PGD_DXDDGETMOCOMPBUFFINFO)gpDxFuncs[DXG_INDEX_DxDdGetMoCompBuffInfo].pfn; 125 126 if (pfnDdGetMoCompBuffInfo == NULL) 127 { 128 DPRINT1("Warning: no pfnDdGetMoCompBuffInfo\n"); 129 return DDHAL_DRIVER_NOTHANDLED; 130 } 131 132 DPRINT("Calling dxg.sys pfnDdGetMoCompBuffInfo\n"); 133 return pfnDdGetMoCompBuffInfo(hDirectDraw, puGetBuffData); 134} 135 136/************************************************************************/ 137/* NtGdiDdGetMoCompFormats */ 138/************************************************************************/ 139DWORD 140APIENTRY 141NtGdiDdGetMoCompFormats(HANDLE hDirectDraw, 142 PDD_GETMOCOMPFORMATSDATA puGetMoCompFormatsData) 143{ 144 PGD_DXDDGETMOCOMPFORMATS pfnDdGetMoCompFormats = (PGD_DXDDGETMOCOMPFORMATS)gpDxFuncs[DXG_INDEX_DxDdGetMoCompFormats].pfn; 145 146 if (pfnDdGetMoCompFormats == NULL) 147 { 148 DPRINT1("Warning: no pfnDdGetMoCompFormats\n"); 149 return DDHAL_DRIVER_NOTHANDLED; 150 } 151 152 DPRINT("Calling dxg.sys pfnDdGetMoCompFormats\n"); 153 return pfnDdGetMoCompFormats(hDirectDraw, puGetMoCompFormatsData); 154} 155 156/************************************************************************/ 157/* NtGdiDdGetMoCompGuids */ 158/************************************************************************/ 159DWORD 160APIENTRY 161NtGdiDdGetMoCompGuids(HANDLE hDirectDraw, 162 PDD_GETMOCOMPGUIDSDATA puGetMoCompGuidsData) 163{ 164 PGD_DXDDGETMOCOMPGUIDS pfnDdGetMoCompGuids = (PGD_DXDDGETMOCOMPGUIDS)gpDxFuncs[DXG_INDEX_DxDdGetMoCompGuids].pfn; 165 166 if (pfnDdGetMoCompGuids == NULL) 167 { 168 DPRINT1("Warning: no pfnDdGetMoCompGuids\n"); 169 return DDHAL_DRIVER_NOTHANDLED; 170 } 171 172 DPRINT("Calling dxg.sys pfnDdGetMoCompGuids\n"); 173 return pfnDdGetMoCompGuids(hDirectDraw, puGetMoCompGuidsData); 174} 175 176/************************************************************************/ 177/* NtGdiDdQueryMoCompStatus */ 178/************************************************************************/ 179DWORD 180APIENTRY 181NtGdiDdQueryMoCompStatus(HANDLE hMoComp, 182 PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData) 183{ 184 PGD_DXDDQUERYMOCOMPSTATUS pfnDdQueryMoCompStatus = (PGD_DXDDQUERYMOCOMPSTATUS)gpDxFuncs[DXG_INDEX_DxDdQueryMoCompStatus].pfn; 185 186 if (pfnDdQueryMoCompStatus == NULL) 187 { 188 DPRINT1("Warning: no pfnDdQueryMoCompStatus\n"); 189 return DDHAL_DRIVER_NOTHANDLED; 190 } 191 192 DPRINT("Calling dxg.sys pfnDdQueryMoCompStatus\n"); 193 return pfnDdQueryMoCompStatus(hMoComp, puQueryMoCompStatusData); 194} 195 196/************************************************************************/ 197/* NtGdiDdRenderMoComp */ 198/************************************************************************/ 199DWORD 200APIENTRY 201NtGdiDdRenderMoComp(HANDLE hMoComp, 202 PDD_RENDERMOCOMPDATA puRenderMoCompData) 203{ 204 PGD_DXDDRENDERMOCOMP pfnDdRenderMoComp = (PGD_DXDDRENDERMOCOMP)gpDxFuncs[DXG_INDEX_DxDdRenderMoComp].pfn; 205 206 if (pfnDdRenderMoComp == NULL) 207 { 208 DPRINT1("Warning: no pfnDdRenderMoComp\n"); 209 return DDHAL_DRIVER_NOTHANDLED; 210 } 211 212 DPRINT("Calling dxg.sys pfnDdRenderMoComp\n"); 213 return pfnDdRenderMoComp(hMoComp, puRenderMoCompData); 214}