implement NtGdiDdBlt and NtGdiDdAlphaBlt
NtGdiDdAlphaBlt are not supportet by microsoft
so we report unsupport directx function
Modified: trunk/reactos/subsys/win32k/ntddraw/ddraw.c
Modified: trunk/reactos/subsys/win32k/ntddraw/stubs.c
_____
Modified: trunk/reactos/subsys/win32k/ntddraw/ddraw.c
--- trunk/reactos/subsys/win32k/ntddraw/ddraw.c 2005-04-26 21:26:06 UTC
(rev 14826)
+++ trunk/reactos/subsys/win32k/ntddraw/ddraw.c 2005-04-26 22:02:32 UTC
(rev 14827)
@@ -187,6 +187,7 @@
pDirectDraw->DdLockD3DBuffer =
puD3dBufferCallbacks->LockD3DBuffer;
pDirectDraw->DdUnlockD3DBuffer =
puD3dBufferCallbacks->UnlockD3DBuffer;
}
+
GDIOBJ_UnlockObj(hDirectDrawLocal);
@@ -286,14 +287,14 @@
DWORD pdwNumFourCC;
DWORD *pdwFourCC = NULL;
DWORD ddRVal;
-
-
+
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal,
GDI_OBJECT_TYPE_DIRECTDRAW);
- ddRVal = pDirectDraw->DrvGetDirectDrawInfo(
+
+ ddRVal = pDirectDraw->DrvGetDirectDrawInfo(
pDirectDraw->Global.dhpdev,(PDD_HALINFO)
puGetDriverInfoData,
&pdwNumHeaps, pvmList, &pdwNumFourCC, pdwFourCC);
-
+
GDIOBJ_UnlockObj(hDirectDrawLocal);
return ddRVal;
@@ -328,6 +329,8 @@
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal,
GDI_OBJECT_TYPE_DIRECTDRAW);
+ puCanCreateSurfaceData->lpDD = pDirectDraw->Local.lpGbl;
+
ddRVal =
pDirectDraw->DdCanCreateSurface(puCanCreateSurfaceData);
GDIOBJ_UnlockObj(hDirectDrawLocal);
@@ -337,5 +340,34 @@
+DWORD STDCALL NtGdiDdBlt(
+ HANDLE hSurfaceDest,
+ HANDLE hSurfaceSrc,
+ PDD_BLTDATA puBltData
+)
+{
+ DWORD ddRVal;
+ PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurfaceDest,
GDI_OBJECT_TYPE_DIRECTDRAW);
+
+ puBltData->lpDDDestSurface = hSurfaceDest;
+ puBltData->lpDDSrcSurface = hSurfaceSrc;
+ puBltData->lpDD = pDirectDraw->Local.lpGbl;
+
+ ddRVal = pDirectDraw->DdBlt(puBltData);
+
+ GDIOBJ_UnlockObj(hSurfaceDest);
+
+ return ddRVal;
+}
+
+DWORD STDCALL NtGdiDdAlphaBlt(VOID)
+{
+ // MSDN on all windows 95 to windows xp this call are unsuported
+ // see Graphics Low Level Client Support
+
+ return DDERR_UNSUPPORTED;
+}
+
+
/* EOF */
_____
Modified: trunk/reactos/subsys/win32k/ntddraw/stubs.c
--- trunk/reactos/subsys/win32k/ntddraw/stubs.c 2005-04-26 21:26:06 UTC
(rev 14826)
+++ trunk/reactos/subsys/win32k/ntddraw/stubs.c 2005-04-26 22:02:32 UTC
(rev 14827)
@@ -21,8 +21,7 @@
PDD_GETAVAILDRIVERMEMORYDATA puGetAvailDriverMemoryData
)
{
- UNIMPLEMENTED
-
+ UNIMPLEMENTED
return 0;
}
@@ -91,12 +90,7 @@
return 0;
}
-DWORD STDCALL NtGdiDdAlphaBlt(VOID)
-{
- UNIMPLEMENTED
- return 0;
-}
BOOL STDCALL NtGdiDdAttachSurface(
HANDLE hSurfaceFrom,
@@ -118,17 +112,7 @@
return 0;
}
-DWORD STDCALL NtGdiDdBlt(
- HANDLE hSurfaceDest,
- HANDLE hSurfaceSrc,
- PDD_BLTDATA puBltData
-)
-{
- UNIMPLEMENTED
- return 0;
-}
-
DWORD STDCALL NtGdiDdCanCreateD3DBuffer(
HANDLE hDirectDraw,
PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
@@ -435,27 +419,7 @@
return 0;
}
-/*
-BOOL STDCALL NtGdiDdQueryDirectDrawObject(
- HANDLE hDirectDrawLocal,
- DD_HALINFO *pHalInfo,
- DWORD *pCallBackFlags,
- PD3DNTHAL_CALLBACKS puD3dCallbacks,
- PD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData,
- PDD_D3DBUFCALLBACKS puD3dBufferCallbacks,
- LPDDSURFACEDESC puD3dTextureFormats,
- DWORD *puNumHeaps,
- VIDEOMEMORY *puvmList,
- DWORD *puNumFourCC,
- DWORD *puFourCC
-)
-{
- UNIMPLEMENTED
- return 0;
-}
-*/
-
DWORD STDCALL NtGdiDdQueryMoCompStatus(
HANDLE hMoComp,
PDD_QUERYMOCOMPSTATUSDATA puQueryMoCompStatusData