mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 19:12:57 +00:00
Remove more stub from ntdraw and implement it, (untested) it is alot of stub that have been implemet. fill DD_CALLBACKS right in NtGdiDdCreateDirectDrawObject, and fix party the internal struct.
implemet follow but not tested - NtGdiDdCreateSurface, NtGdiDdDestroySurface some part it need fill the info right before it call on DdCreateSurface - NtGdiDdFlip done - NtGdiDdGetScanLine done - NtGdiDdSetColorKey done - NtGdiDdUnlock done - NtGdiDdUpdateOverlay done - NtGdiDdSetExclusiveMode done (need setup the callback) - NtGdiDdLock done svn path=/trunk/; revision=18313
This commit is contained in:
parent
a2e6df2fb3
commit
f84e3fa9f1
3 changed files with 381 additions and 238 deletions
|
@ -8,6 +8,7 @@
|
||||||
#define GDI_OBJECT_TYPE_DD_CLIPPER 0x00640000
|
#define GDI_OBJECT_TYPE_DD_CLIPPER 0x00640000
|
||||||
#define GDI_OBJECT_TYPE_DD_MOTIONCOMP 0x00650000
|
#define GDI_OBJECT_TYPE_DD_MOTIONCOMP 0x00650000
|
||||||
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
DD_SURFACE_LOCAL Local;
|
DD_SURFACE_LOCAL Local;
|
||||||
|
@ -22,38 +23,62 @@ typedef struct
|
||||||
{
|
{
|
||||||
DD_DIRECTDRAW_LOCAL Local;
|
DD_DIRECTDRAW_LOCAL Local;
|
||||||
DD_DIRECTDRAW_GLOBAL Global;
|
DD_DIRECTDRAW_GLOBAL Global;
|
||||||
// Drv callbacks
|
// Drv callbacks
|
||||||
PGD_GETDIRECTDRAWINFO DrvGetDirectDrawInfo;
|
PGD_GETDIRECTDRAWINFO DrvGetDirectDrawInfo;
|
||||||
PGD_DISABLEDIRECTDRAW DrvDisableDirectDraw;
|
PGD_DISABLEDIRECTDRAW DrvDisableDirectDraw;
|
||||||
|
PDD_GETDRIVERINFO DdGetDriverInfo;
|
||||||
|
|
||||||
// DD callbacks
|
// DD callbacks
|
||||||
PDD_CREATESURFACE DdCreateSurface;
|
DD_CALLBACKS DD;
|
||||||
PDD_SETCOLORKEY DdDrvSetColorKey; // ?????
|
|
||||||
PDD_WAITFORVERTICALBLANK DdWaitForVerticalBlank;
|
|
||||||
PDD_CANCREATESURFACE DdCanCreateSurface;
|
|
||||||
PDD_CREATEPALETTE DdCreatePalette;
|
|
||||||
PDD_GETSCANLINE DdGetScanLine;
|
|
||||||
PDD_MAPMEMORY DdMapMemory;
|
|
||||||
// Surface callbacks
|
// Surface callbacks
|
||||||
PDD_SURFCB_DESTROYSURFACE DdDestroySurface;
|
DD_SURFACECALLBACKS Surf;
|
||||||
PDD_SURFCB_FLIP DdFlip;
|
|
||||||
PDD_SURFCB_SETCLIPLIST DdSetClipList;
|
|
||||||
PDD_SURFCB_LOCK DdLock;
|
|
||||||
PDD_SURFCB_UNLOCK DdUnlock;
|
|
||||||
PDD_SURFCB_BLT DdBlt;
|
|
||||||
PDD_SURFCB_SETCOLORKEY DdSetColorKey;
|
|
||||||
PDD_SURFCB_ADDATTACHEDSURFACE DdAddAttachedSurface;
|
|
||||||
PDD_SURFCB_GETBLTSTATUS DdGetBltStatus;
|
|
||||||
PDD_SURFCB_GETFLIPSTATUS DdGetFlipStatus;
|
|
||||||
PDD_SURFCB_UPDATEOVERLAY DdUpdateOverlay;
|
|
||||||
PDD_SURFCB_SETOVERLAYPOSITION DdSetOverlayPosition;
|
|
||||||
PDD_SURFCB_SETPALETTE DdSetPalette;
|
|
||||||
// Miscellaneous Callback Function
|
|
||||||
PDD_GETAVAILDRIVERMEMORY DdGetAvailDriverMemory;
|
|
||||||
// NT callbacks
|
|
||||||
DD_FREEDRIVERMEMORYDATA DdFreeDriverMemory;
|
|
||||||
// Palette callbacks
|
// Palette callbacks
|
||||||
PDD_PALCB_DESTROYPALETTE DdDestroyPalette;
|
DD_PALETTECALLBACKS Pal;
|
||||||
PDD_PALCB_SETENTRIES DdSetEntries;
|
|
||||||
|
// Color Control Callback
|
||||||
|
PDD_COLORCB_COLORCONTROL DdControlColor;
|
||||||
|
// Miscellaneous Callback
|
||||||
|
PDD_GETAVAILDRIVERMEMORY DdGetAvailDriverMemory;
|
||||||
|
// Kernel Callback
|
||||||
|
PDD_KERNELCB_SYNCSURFACE DdSyncSurfaceData;
|
||||||
|
PDD_KERNELCB_SYNCVIDEOPORT DdSyncVideoPortData;
|
||||||
|
// NT-based Callback
|
||||||
|
PDD_FLIPTOGDISURFACE DdFlipToGDISurface;
|
||||||
|
PDD_FREEDRIVERMEMORY DdFreeDriverMemory;
|
||||||
|
PDD_SETEXCLUSIVEMODE DdSetExclusiveMode;
|
||||||
|
// Motion Compensation
|
||||||
|
PDD_MOCOMPCB_BEGINFRAME DdMoCompBeginFrame;
|
||||||
|
PDD_MOCOMPCB_CREATE DdMoCompCreate;
|
||||||
|
PDD_MOCOMPCB_DESTROY DdMoCompDestroy;
|
||||||
|
PDD_MOCOMPCB_ENDFRAME DdMoCompEndFrame;
|
||||||
|
PDD_MOCOMPCB_GETCOMPBUFFINFO DdMoCompGetBuffInfo;
|
||||||
|
PDD_MOCOMPCB_GETFORMATS DdMoCompGetFormats;
|
||||||
|
PDD_MOCOMPCB_GETGUIDS DdMoCompGetGuids;
|
||||||
|
PDD_MOCOMPCB_GETINTERNALINFO DdMoCompGetInternalInfo;
|
||||||
|
PDD_MOCOMPCB_QUERYSTATUS DdMoCompQueryStatus;
|
||||||
|
PDD_MOCOMPCB_RENDER DdMoCompRender;
|
||||||
|
// Video Port Callback
|
||||||
|
PDD_VPORTCB_CANCREATEVIDEOPORT DdVideoPortCanCreate;
|
||||||
|
PDD_VPORTCB_COLORCONTROL DdVideoPortColorControl;
|
||||||
|
PDD_VPORTCB_CREATEVIDEOPORT DdVideoPortCreate;
|
||||||
|
PDD_VPORTCB_DESTROYVPORT DdVideoPortDestroy;
|
||||||
|
PDD_VPORTCB_FLIP DdVideoPortFlip;
|
||||||
|
PDD_VPORTCB_GETBANDWIDTH DdVideoPortGetBandwidth;
|
||||||
|
PDD_VPORTCB_GETVPORTCONNECT DdVideoPortGetConnectInfo;
|
||||||
|
PDD_VPORTCB_GETFIELD DdVideoPortGetField;
|
||||||
|
PDD_VPORTCB_GETFLIPSTATUS DdVideoPortGetFlipStatus;
|
||||||
|
PDD_VPORTCB_GETINPUTFORMATS DdVideoPortGetInputFormats;
|
||||||
|
PDD_VPORTCB_GETLINE DdVideoPortGetLine;
|
||||||
|
PDD_VPORTCB_GETOUTPUTFORMATS DdVideoPortGetOutputFormats;
|
||||||
|
PDD_VPORTCB_GETSIGNALSTATUS DdVideoPortGetSignalStatus;
|
||||||
|
PDD_VPORTCB_UPDATE DdVideoPortUpdate;
|
||||||
|
PDD_VPORTCB_WAITFORSYNC DdVideoPortWaitForSync;
|
||||||
|
// Notify Callback
|
||||||
|
//LPDD_NOTIFYCALLBACK NotifyCallback
|
||||||
|
|
||||||
|
|
||||||
// D3D Device context callbacks
|
// D3D Device context callbacks
|
||||||
PD3DNTHAL_CONTEXTCREATECB D3dContextCreate;
|
PD3DNTHAL_CONTEXTCREATECB D3dContextCreate;
|
||||||
PD3DNTHAL_CONTEXTDESTROYCB D3dContextDestroy;
|
PD3DNTHAL_CONTEXTDESTROYCB D3dContextDestroy;
|
||||||
|
@ -63,6 +88,9 @@ typedef struct
|
||||||
PDD_SURFCB_DESTROYSURFACE DdDestroyD3DBuffer;
|
PDD_SURFCB_DESTROYSURFACE DdDestroyD3DBuffer;
|
||||||
PDD_SURFCB_LOCK DdLockD3DBuffer;
|
PDD_SURFCB_LOCK DdLockD3DBuffer;
|
||||||
PDD_SURFCB_UNLOCK DdUnlockD3DBuffer;
|
PDD_SURFCB_UNLOCK DdUnlockD3DBuffer;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} DD_DIRECTDRAW, *PDD_DIRECTDRAW;
|
} DD_DIRECTDRAW, *PDD_DIRECTDRAW;
|
||||||
|
|
||||||
BOOL INTERNAL_CALL DD_Cleanup(PVOID pDD);
|
BOOL INTERNAL_CALL DD_Cleanup(PVOID pDD);
|
||||||
|
|
|
@ -83,53 +83,67 @@ HANDLE STDCALL NtGdiDdCreateDirectDrawObject(
|
||||||
|
|
||||||
pDirectDraw->DrvGetDirectDrawInfo = pDC->DriverFunctions.GetDirectDrawInfo;
|
pDirectDraw->DrvGetDirectDrawInfo = pDC->DriverFunctions.GetDirectDrawInfo;
|
||||||
pDirectDraw->DrvDisableDirectDraw = pDC->DriverFunctions.DisableDirectDraw;
|
pDirectDraw->DrvDisableDirectDraw = pDC->DriverFunctions.DisableDirectDraw;
|
||||||
|
|
||||||
|
/* DD_CALLBACKS setup */
|
||||||
|
pDirectDraw->DD.dwFlags = callbacks.dwFlags;
|
||||||
|
|
||||||
|
/* DestroyDriver Unsuse in win2k or higher */
|
||||||
|
if (callbacks.dwFlags & DDHAL_CB32_DESTROYDRIVER)
|
||||||
|
pDirectDraw->DD.DestroyDriver = callbacks.DestroyDriver;
|
||||||
if (callbacks.dwFlags & DDHAL_CB32_CREATESURFACE)
|
if (callbacks.dwFlags & DDHAL_CB32_CREATESURFACE)
|
||||||
pDirectDraw->DdCreateSurface = callbacks.CreateSurface;
|
pDirectDraw->DD.CreateSurface = callbacks.CreateSurface;
|
||||||
if (callbacks.dwFlags & DDHAL_CB32_SETCOLORKEY)
|
if (callbacks.dwFlags & DDHAL_CB32_SETCOLORKEY)
|
||||||
pDirectDraw->DdDrvSetColorKey = callbacks.SetColorKey;
|
pDirectDraw->DD.SetColorKey = callbacks.SetColorKey;
|
||||||
|
if (callbacks.dwFlags & DDHAL_CB32_SETMODE)
|
||||||
|
pDirectDraw->DD.SetMode = callbacks.SetMode;
|
||||||
if (callbacks.dwFlags & DDHAL_CB32_WAITFORVERTICALBLANK)
|
if (callbacks.dwFlags & DDHAL_CB32_WAITFORVERTICALBLANK)
|
||||||
pDirectDraw->DdWaitForVerticalBlank = callbacks.WaitForVerticalBlank;
|
pDirectDraw->DD.WaitForVerticalBlank = callbacks.WaitForVerticalBlank;
|
||||||
if (callbacks.dwFlags & DDHAL_CB32_CANCREATESURFACE)
|
if (callbacks.dwFlags & DDHAL_CB32_CANCREATESURFACE)
|
||||||
pDirectDraw->DdCanCreateSurface = callbacks.CanCreateSurface;
|
pDirectDraw->DD.CanCreateSurface = callbacks.CanCreateSurface;
|
||||||
if (callbacks.dwFlags & DDHAL_CB32_CREATEPALETTE)
|
if (callbacks.dwFlags & DDHAL_CB32_CREATEPALETTE)
|
||||||
pDirectDraw->DdCreatePalette = callbacks.CreatePalette;
|
pDirectDraw->DD.CreatePalette = callbacks.CreatePalette;
|
||||||
if (callbacks.dwFlags & DDHAL_CB32_GETSCANLINE)
|
if (callbacks.dwFlags & DDHAL_CB32_GETSCANLINE)
|
||||||
pDirectDraw->DdGetScanLine = callbacks.GetScanLine;
|
pDirectDraw->DD.GetScanLine = callbacks.GetScanLine;
|
||||||
if (callbacks.dwFlags & DDHAL_CB32_MAPMEMORY)
|
if (callbacks.dwFlags & DDHAL_CB32_MAPMEMORY)
|
||||||
pDirectDraw->DdMapMemory = callbacks.MapMemory;
|
pDirectDraw->DD.MapMemory = callbacks.MapMemory;
|
||||||
|
|
||||||
|
/* Surface Callbacks */
|
||||||
|
pDirectDraw->Surf.dwFlags = surface_callbacks.dwFlags;
|
||||||
|
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_DESTROYSURFACE)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_DESTROYSURFACE)
|
||||||
pDirectDraw->DdDestroySurface = surface_callbacks.DestroySurface;
|
pDirectDraw->Surf.DestroySurface = surface_callbacks.DestroySurface;
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_FLIP)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_FLIP)
|
||||||
pDirectDraw->DdFlip = surface_callbacks.Flip;
|
pDirectDraw->Surf.Flip = surface_callbacks.Flip;
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_SETCLIPLIST)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_SETCLIPLIST)
|
||||||
pDirectDraw->DdSetClipList = surface_callbacks.SetClipList;
|
pDirectDraw->Surf.SetClipList = surface_callbacks.SetClipList;
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_LOCK)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_LOCK)
|
||||||
pDirectDraw->DdLock = surface_callbacks.Lock;
|
pDirectDraw->Surf.Lock = surface_callbacks.Lock;
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_UNLOCK)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_UNLOCK)
|
||||||
pDirectDraw->DdUnlock = surface_callbacks.Unlock;
|
pDirectDraw->Surf.Unlock = surface_callbacks.Unlock;
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_BLT)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_BLT)
|
||||||
pDirectDraw->DdBlt = surface_callbacks.Blt;
|
pDirectDraw->Surf.Blt = surface_callbacks.Blt;
|
||||||
|
/* DD Callbacks SetColorKey is same as Surface callback SetColorKey */
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_SETCOLORKEY)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_SETCOLORKEY)
|
||||||
pDirectDraw->DdSetColorKey = surface_callbacks.SetColorKey;
|
pDirectDraw->Surf.SetColorKey = surface_callbacks.SetColorKey;
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_ADDATTACHEDSURFACE)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_ADDATTACHEDSURFACE)
|
||||||
pDirectDraw->DdAddAttachedSurface = surface_callbacks.AddAttachedSurface;
|
pDirectDraw->Surf.AddAttachedSurface = surface_callbacks.AddAttachedSurface;
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_GETBLTSTATUS)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_GETBLTSTATUS)
|
||||||
pDirectDraw->DdGetBltStatus = surface_callbacks.GetBltStatus;
|
pDirectDraw->Surf.GetBltStatus = surface_callbacks.GetBltStatus;
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_GETFLIPSTATUS)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_GETFLIPSTATUS)
|
||||||
pDirectDraw->DdGetFlipStatus = surface_callbacks.GetFlipStatus;
|
pDirectDraw->Surf.GetFlipStatus = surface_callbacks.GetFlipStatus;
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_UPDATEOVERLAY)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_UPDATEOVERLAY)
|
||||||
pDirectDraw->DdUpdateOverlay = surface_callbacks.UpdateOverlay;
|
pDirectDraw->Surf.UpdateOverlay = surface_callbacks.UpdateOverlay;
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_SETOVERLAYPOSITION)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_SETOVERLAYPOSITION)
|
||||||
pDirectDraw->DdSetOverlayPosition = surface_callbacks.SetOverlayPosition;
|
pDirectDraw->Surf.SetOverlayPosition = surface_callbacks.SetOverlayPosition;
|
||||||
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_SETPALETTE)
|
if (surface_callbacks.dwFlags & DDHAL_SURFCB32_SETPALETTE)
|
||||||
pDirectDraw->DdSetPalette = surface_callbacks.SetPalette;
|
pDirectDraw->Surf.SetPalette = surface_callbacks.SetPalette;
|
||||||
|
|
||||||
|
/* Palette Callbacks */
|
||||||
|
pDirectDraw->Pal.dwFlags = palette_callbacks.dwFlags;
|
||||||
if (palette_callbacks.dwFlags & DDHAL_PALCB32_DESTROYPALETTE)
|
if (palette_callbacks.dwFlags & DDHAL_PALCB32_DESTROYPALETTE)
|
||||||
pDirectDraw->DdDestroyPalette = palette_callbacks.DestroyPalette;
|
pDirectDraw->Pal.DestroyPalette = palette_callbacks.DestroyPalette;
|
||||||
if (palette_callbacks.dwFlags & DDHAL_PALCB32_SETENTRIES)
|
if (palette_callbacks.dwFlags & DDHAL_PALCB32_SETENTRIES)
|
||||||
pDirectDraw->DdSetEntries = palette_callbacks.SetEntries;
|
pDirectDraw->Pal.SetEntries = palette_callbacks.SetEntries;
|
||||||
|
|
||||||
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
DC_UnlockDc(pDC);
|
DC_UnlockDc(pDC);
|
||||||
|
@ -204,6 +218,264 @@ BOOL STDCALL NtGdiDdQueryDirectDrawObject(
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************/
|
||||||
|
/* DD CALLBACKS */
|
||||||
|
/* FIXME NtGdiDdCreateSurface we do not call to ddCreateSurface */
|
||||||
|
/************************************************************************/
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdCreateSurface(
|
||||||
|
HANDLE hDirectDrawLocal,
|
||||||
|
HANDLE *hSurface,
|
||||||
|
DDSURFACEDESC *puSurfaceDescription,
|
||||||
|
DD_SURFACE_GLOBAL *puSurfaceGlobalData,
|
||||||
|
DD_SURFACE_LOCAL *puSurfaceLocalData,
|
||||||
|
DD_SURFACE_MORE *puSurfaceMoreData,
|
||||||
|
PDD_CREATESURFACEDATA puCreateSurfaceData,
|
||||||
|
HANDLE *puhSurface
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
/* DD_CREATESURFACEDATA surf; */
|
||||||
|
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
if (pDirectDraw == NULL)
|
||||||
|
return DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
|
||||||
|
if (!(pDirectDraw->DD.dwFlags & DDHAL_CB32_CANCREATESURFACE))
|
||||||
|
ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
/*
|
||||||
|
ddRVal = pDirectDraw->DD.CreateSurface(&surf);
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdWaitForVerticalBlank(
|
||||||
|
HANDLE hDirectDrawLocal,
|
||||||
|
PDD_WAITFORVERTICALBLANKDATA puWaitForVerticalBlankData
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal;
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
if (pDirectDraw == NULL)
|
||||||
|
return DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
|
||||||
|
if (!(pDirectDraw->DD.dwFlags & DDHAL_CB32_WAITFORVERTICALBLANK))
|
||||||
|
ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
else
|
||||||
|
ddRVal = pDirectDraw->DD.WaitForVerticalBlank(puWaitForVerticalBlankData);
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdCanCreateSurface(
|
||||||
|
HANDLE hDirectDrawLocal,
|
||||||
|
PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal;
|
||||||
|
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
if (pDirectDraw == NULL)
|
||||||
|
return DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
|
||||||
|
if (!(pDirectDraw->DD.dwFlags & DDHAL_CB32_CANCREATESURFACE))
|
||||||
|
ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
else
|
||||||
|
ddRVal = pDirectDraw->DD.CanCreateSurface(puCanCreateSurfaceData);
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdGetScanLine(
|
||||||
|
HANDLE hDirectDrawLocal,
|
||||||
|
PDD_GETSCANLINEDATA puGetScanLineData
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal;
|
||||||
|
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
if (pDirectDraw == NULL)
|
||||||
|
return DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
|
||||||
|
if (!(pDirectDraw->DD.dwFlags & DDHAL_CB32_GETSCANLINE))
|
||||||
|
ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
else
|
||||||
|
ddRVal = pDirectDraw->DD.GetScanLine(puGetScanLineData);
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************/
|
||||||
|
/* Surface CALLBACKS */
|
||||||
|
/* FIXME */
|
||||||
|
/* NtGdiDdDestroySurface */
|
||||||
|
/************************************************************************/
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdDestroySurface(
|
||||||
|
HANDLE hSurface,
|
||||||
|
BOOL bRealDestroy
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal;
|
||||||
|
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurface, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
if (pDirectDraw == NULL)
|
||||||
|
return DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
|
||||||
|
if (!(pDirectDraw->Surf.dwFlags & DDHAL_SURFCB32_DESTROYSURFACE))
|
||||||
|
ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* DD_DESTROYSURFACEDATA DestroySurf; */
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
/* ddRVal = pDirectDraw->Surf.DestroySurface(DestroySurf); */
|
||||||
|
}
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdFlip(
|
||||||
|
HANDLE hSurfaceCurrent,
|
||||||
|
HANDLE hSurfaceTarget,
|
||||||
|
HANDLE hSurfaceCurrentLeft,
|
||||||
|
HANDLE hSurfaceTargetLeft,
|
||||||
|
PDD_FLIPDATA puFlipData
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal;
|
||||||
|
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurfaceTarget, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
if (pDirectDraw == NULL)
|
||||||
|
return DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
|
||||||
|
if (!(pDirectDraw->Surf.dwFlags & DDHAL_SURFCB32_FLIP))
|
||||||
|
ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
else
|
||||||
|
ddRVal = pDirectDraw->Surf.Flip(puFlipData);
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdLock(
|
||||||
|
HANDLE hSurface,
|
||||||
|
PDD_LOCKDATA puLockData,
|
||||||
|
HDC hdcClip
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal;
|
||||||
|
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurface, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
if (pDirectDraw == NULL)
|
||||||
|
return DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
|
||||||
|
if (!(pDirectDraw->Surf.dwFlags & DDHAL_SURFCB32_LOCK))
|
||||||
|
ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
else
|
||||||
|
ddRVal = pDirectDraw->Surf.Lock(puLockData);
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdSetColorKey(
|
||||||
|
HANDLE hSurface,
|
||||||
|
PDD_SETCOLORKEYDATA puSetColorKeyData
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal;
|
||||||
|
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurface, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
if (pDirectDraw == NULL)
|
||||||
|
return DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
|
||||||
|
if (!(pDirectDraw->Surf.dwFlags & DDHAL_SURFCB32_SETCOLORKEY))
|
||||||
|
ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
else
|
||||||
|
ddRVal = pDirectDraw->Surf.SetColorKey(puSetColorKeyData);
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdBlt(
|
||||||
|
HANDLE hSurfaceDest,
|
||||||
|
HANDLE hSurfaceSrc,
|
||||||
|
PDD_BLTDATA puBltData
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal;
|
||||||
|
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurfaceDest, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
if (pDirectDraw == NULL)
|
||||||
|
return DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
|
||||||
|
if (!(pDirectDraw->Surf.dwFlags & DDHAL_SURFCB32_BLT))
|
||||||
|
ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
else
|
||||||
|
ddRVal = pDirectDraw->Surf.Blt(puBltData);
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdUpdateOverlay(
|
||||||
|
HANDLE hSurfaceDestination,
|
||||||
|
HANDLE hSurfaceSource,
|
||||||
|
PDD_UPDATEOVERLAYDATA puUpdateOverlayData
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal;
|
||||||
|
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurfaceDestination, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
if (pDirectDraw == NULL)
|
||||||
|
return DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
|
||||||
|
if (!(pDirectDraw->Surf.dwFlags & DDHAL_SURFCB32_UPDATEOVERLAY))
|
||||||
|
ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
else
|
||||||
|
ddRVal = pDirectDraw->Surf.UpdateOverlay(puUpdateOverlayData);
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdUnlock(
|
||||||
|
HANDLE hSurface,
|
||||||
|
PDD_UNLOCKDATA puUnlockData
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal;
|
||||||
|
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hSurface, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
if (pDirectDraw == NULL)
|
||||||
|
return DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
|
||||||
|
if (!(pDirectDraw->Surf.dwFlags & DDHAL_SURFCB32_UPDATEOVERLAY))
|
||||||
|
ddRVal = DDHAL_DRIVER_NOTHANDLED;
|
||||||
|
else
|
||||||
|
ddRVal = pDirectDraw->Surf.Unlock(puUnlockData);
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* SURFACE OBJECT */
|
/* SURFACE OBJECT */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
@ -260,6 +532,13 @@ BOOL STDCALL NtGdiDdDeleteSurfaceObject(
|
||||||
return GDIOBJ_FreeObj(hSurface, GDI_OBJECT_TYPE_DD_SURFACE);
|
return GDIOBJ_FreeObj(hSurface, GDI_OBJECT_TYPE_DD_SURFACE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************/
|
||||||
|
/* DIRECT DRAW SURFACR END */
|
||||||
|
/************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
BOOL STDCALL NtGdiDdAttachSurface(
|
BOOL STDCALL NtGdiDdAttachSurface(
|
||||||
HANDLE hSurfaceFrom,
|
HANDLE hSurfaceFrom,
|
||||||
|
@ -294,18 +573,12 @@ DWORD STDCALL NtGdiDdGetDriverInfo(
|
||||||
PDD_GETDRIVERINFODATA puGetDriverInfoData)
|
PDD_GETDRIVERINFODATA puGetDriverInfoData)
|
||||||
|
|
||||||
{
|
{
|
||||||
DWORD pdwNumHeaps;
|
|
||||||
VIDEOMEMORY *pvmList = NULL;
|
|
||||||
DWORD pdwNumFourCC;
|
|
||||||
DWORD *pdwFourCC = NULL;
|
|
||||||
DWORD ddRVal;
|
DWORD ddRVal;
|
||||||
|
|
||||||
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
|
||||||
ddRVal = pDirectDraw->DrvGetDirectDrawInfo(
|
ddRVal = pDirectDraw->DdGetDriverInfo(puGetDriverInfoData);
|
||||||
pDirectDraw->Global.dhpdev,(PDD_HALINFO) puGetDriverInfoData,
|
|
||||||
&pdwNumHeaps, pvmList, &pdwNumFourCC, pdwFourCC);
|
|
||||||
|
|
||||||
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
|
||||||
return ddRVal;
|
return ddRVal;
|
||||||
|
@ -313,67 +586,14 @@ DWORD STDCALL NtGdiDdGetDriverInfo(
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdWaitForVerticalBlank(
|
|
||||||
HANDLE hDirectDrawLocal,
|
|
||||||
PDD_WAITFORVERTICALBLANKDATA puWaitForVerticalBlankData
|
|
||||||
)
|
|
||||||
{
|
|
||||||
DWORD ddRVal;
|
|
||||||
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
|
|
||||||
|
|
||||||
ddRVal = pDirectDraw->DdWaitForVerticalBlank(puWaitForVerticalBlankData);
|
|
||||||
|
|
||||||
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
|
||||||
|
|
||||||
return ddRVal;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdCanCreateSurface(
|
|
||||||
HANDLE hDirectDrawLocal,
|
|
||||||
PDD_CANCREATESURFACEDATA puCanCreateSurfaceData
|
|
||||||
)
|
|
||||||
{
|
|
||||||
DWORD ddRVal;
|
|
||||||
|
|
||||||
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDrawLocal, GDI_OBJECT_TYPE_DIRECTDRAW);
|
|
||||||
|
|
||||||
ddRVal = pDirectDraw->DdCanCreateSurface(puCanCreateSurfaceData);
|
|
||||||
|
|
||||||
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
|
||||||
|
|
||||||
return ddRVal;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
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_UnlockObjByPtr(pDirectDraw);
|
|
||||||
|
|
||||||
return ddRVal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FIXME
|
|
||||||
this call is not implement yet
|
|
||||||
where to get the pointer DdGetAvailDriverMemory(puGetAvailDriverMemoryData
|
|
||||||
for the call in NtGdiDdCreateDirectDrawObject `??
|
|
||||||
or some where else ??
|
|
||||||
*/
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdGetAvailDriverMemory(
|
DWORD STDCALL NtGdiDdGetAvailDriverMemory(
|
||||||
HANDLE hDirectDrawLocal,
|
HANDLE hDirectDrawLocal,
|
||||||
|
@ -394,4 +614,23 @@ DWORD STDCALL NtGdiDdGetAvailDriverMemory(
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DWORD STDCALL NtGdiDdSetExclusiveMode(
|
||||||
|
HANDLE hDirectDraw,
|
||||||
|
PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData
|
||||||
|
)
|
||||||
|
{
|
||||||
|
DWORD ddRVal;
|
||||||
|
|
||||||
|
PDD_DIRECTDRAW pDirectDraw = GDIOBJ_LockObj(hDirectDraw, GDI_OBJECT_TYPE_DIRECTDRAW);
|
||||||
|
|
||||||
|
ddRVal = pDirectDraw->DdSetExclusiveMode(puSetExclusiveModeData);
|
||||||
|
|
||||||
|
GDIOBJ_UnlockObjByPtr(pDirectDraw);
|
||||||
|
|
||||||
|
return ddRVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* EOF */
|
/* EOF */
|
||||||
|
|
|
@ -141,16 +141,7 @@ DWORD STDCALL NtGdiDdCreateD3DBuffer(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
HANDLE STDCALL NtGdiDdCreateDirectDrawObject(
|
|
||||||
HDC hdc
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
HANDLE STDCALL NtGdiDdCreateMoComp(
|
HANDLE STDCALL NtGdiDdCreateMoComp(
|
||||||
HANDLE hDirectDraw,
|
HANDLE hDirectDraw,
|
||||||
|
@ -162,21 +153,7 @@ HANDLE STDCALL NtGdiDdCreateMoComp(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdCreateSurface(
|
|
||||||
HANDLE hDirectDraw,
|
|
||||||
HANDLE *hSurface,
|
|
||||||
DDSURFACEDESC *puSurfaceDescription,
|
|
||||||
DD_SURFACE_GLOBAL *puSurfaceGlobalData,
|
|
||||||
DD_SURFACE_LOCAL *puSurfaceLocalData,
|
|
||||||
DD_SURFACE_MORE *puSurfaceMoreData,
|
|
||||||
PDD_CREATESURFACEDATA puCreateSurfaceData,
|
|
||||||
HANDLE *puhSurface
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdCreateSurfaceEx(
|
DWORD STDCALL NtGdiDdCreateSurfaceEx(
|
||||||
HANDLE hDirectDraw,
|
HANDLE hDirectDraw,
|
||||||
|
@ -189,39 +166,7 @@ DWORD STDCALL NtGdiDdCreateSurfaceEx(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
HANDLE STDCALL NtGdiDdCreateSurfaceObject(
|
|
||||||
HANDLE hDirectDrawLocal,
|
|
||||||
HANDLE hSurface,
|
|
||||||
PDD_SURFACE_LOCAL puSurfaceLocal,
|
|
||||||
PDD_SURFACE_MORE puSurfaceMore,
|
|
||||||
PDD_SURFACE_GLOBAL puSurfaceGlobal,
|
|
||||||
BOOL bComplete
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL STDCALL NtGdiDdDeleteDirectDrawObject(
|
|
||||||
HANDLE hDirectDrawLocal
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL STDCALL NtGdiDdDeleteSurfaceObject(
|
|
||||||
HANDLE hSurface
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdDestroyD3DBuffer(
|
DWORD STDCALL NtGdiDdDestroyD3DBuffer(
|
||||||
HANDLE hSurface
|
HANDLE hSurface
|
||||||
|
@ -242,15 +187,7 @@ DWORD STDCALL NtGdiDdDestroyMoComp(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdDestroySurface(
|
|
||||||
HANDLE hSurface,
|
|
||||||
BOOL bRealDestroy
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdEndMoCompFrame(
|
DWORD STDCALL NtGdiDdEndMoCompFrame(
|
||||||
HANDLE hMoComp,
|
HANDLE hMoComp,
|
||||||
|
@ -262,18 +199,7 @@ DWORD STDCALL NtGdiDdEndMoCompFrame(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdFlip(
|
|
||||||
HANDLE hSurfaceCurrent,
|
|
||||||
HANDLE hSurfaceTarget,
|
|
||||||
HANDLE hSurfaceCurrentLeft,
|
|
||||||
HANDLE hSurfaceTargetLeft,
|
|
||||||
PDD_FLIPDATA puFlipData
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdFlipToGDISurface(
|
DWORD STDCALL NtGdiDdFlipToGDISurface(
|
||||||
HANDLE hDirectDraw,
|
HANDLE hDirectDraw,
|
||||||
|
@ -378,26 +304,9 @@ DWORD STDCALL NtGdiDdGetMoCompGuids(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdGetScanLine(
|
|
||||||
HANDLE hDirectDraw,
|
|
||||||
PDD_GETSCANLINEDATA puGetScanLineData
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdLock(
|
|
||||||
HANDLE hSurface,
|
|
||||||
PDD_LOCKDATA puLockData,
|
|
||||||
HDC hdcClip
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdLockD3D(
|
DWORD STDCALL NtGdiDdLockD3D(
|
||||||
HANDLE hSurface,
|
HANDLE hSurface,
|
||||||
|
@ -459,25 +368,9 @@ BOOL STDCALL NtGdiDdResetVisrgn(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdSetColorKey(
|
|
||||||
HANDLE hSurface,
|
|
||||||
PDD_SETCOLORKEYDATA puSetColorKeyData
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdSetExclusiveMode(
|
|
||||||
HANDLE hDirectDraw,
|
|
||||||
PDD_SETEXCLUSIVEMODEDATA puSetExclusiveModeData
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL STDCALL NtGdiDdSetGammaRamp(
|
BOOL STDCALL NtGdiDdSetGammaRamp(
|
||||||
HANDLE hDirectDraw,
|
HANDLE hDirectDraw,
|
||||||
|
@ -509,15 +402,7 @@ VOID STDCALL NtGdiDdUnattachSurface(
|
||||||
UNIMPLEMENTED
|
UNIMPLEMENTED
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdUnlock(
|
|
||||||
HANDLE hSurface,
|
|
||||||
PDD_UNLOCKDATA puUnlockData
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdUnlockD3D(
|
DWORD STDCALL NtGdiDdUnlockD3D(
|
||||||
HANDLE hSurface,
|
HANDLE hSurface,
|
||||||
|
@ -529,16 +414,7 @@ DWORD STDCALL NtGdiDdUnlockD3D(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdUpdateOverlay(
|
|
||||||
HANDLE hSurfaceDestination,
|
|
||||||
HANDLE hSurfaceSource,
|
|
||||||
PDD_UPDATEOVERLAYDATA puUpdateOverlayData
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
DWORD STDCALL NtGdiDdAlphaBlt(VOID)
|
DWORD STDCALL NtGdiDdAlphaBlt(VOID)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue