mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 19:37:10 +00:00
[WIN32SS][NTDDRAW][NTGDI] Implement some DxEng* callbacks (#3638)
Implement the following DxEng* functions: - DxEngAltLockSurface - DxEngDeleteSurface - DxEngReferenceHdev - DxEngSelectBitmap - DxEngSetBitmapOwner - DxEngUnreferenceHdev Update their prototypes and call the appropriate win32k functions inside them, since they are already implemented. Also get rid of now unused IntGdi(Un)ReferencePdev, whose were called only by dxeng, and whose are not used anymore. In Windows, DxEng(Un)ReferenceHdev calls PDEVOBJ_vReferencePDEV and PDEVOBJ_vDeferencePDEV directly (those correspond to our PDEVOBJ_vReference and PDEVOBJ_vRelease accordingly). Required by MS DirectDraw stack (ddraw.dll & dxg.sys). CORE-17561
This commit is contained in:
parent
491dae1708
commit
31139c253f
4 changed files with 22 additions and 32 deletions
|
@ -107,11 +107,11 @@ DWORD NTAPI DxEngSpSpritesVisible(DWORD x1);
|
||||||
HDC NTAPI DxEngGetDesktopDC(ULONG DcType, BOOL EmptyDC, BOOL ValidatehWnd);
|
HDC NTAPI DxEngGetDesktopDC(ULONG DcType, BOOL EmptyDC, BOOL ValidatehWnd);
|
||||||
BOOLEAN NTAPI DxEngDeleteDC(HDC hdc, BOOL Force);
|
BOOLEAN NTAPI DxEngDeleteDC(HDC hdc, BOOL Force);
|
||||||
BOOLEAN NTAPI DxEngSetDCState(HDC hDC, DWORD SetType, DWORD Set);
|
BOOLEAN NTAPI DxEngSetDCState(HDC hDC, DWORD SetType, DWORD Set);
|
||||||
DWORD NTAPI DxEngSelectBitmap(DWORD x1, DWORD x2);
|
HBITMAP NTAPI DxEngSelectBitmap(HDC hdc, HBITMAP hbmp);
|
||||||
DWORD NTAPI DxEngSetBitmapOwner(DWORD x1, DWORD x2);
|
BOOLEAN NTAPI DxEngSetBitmapOwner(HBITMAP hbmp, ULONG ulOwner);
|
||||||
DWORD NTAPI DxEngDeleteSurface(DWORD x1);
|
BOOLEAN NTAPI DxEngDeleteSurface(HSURF hsurf);
|
||||||
DWORD NTAPI DxEngGetSurfaceData(DWORD x1, DWORD x2);
|
DWORD NTAPI DxEngGetSurfaceData(DWORD x1, DWORD x2);
|
||||||
DWORD NTAPI DxEngAltLockSurface(DWORD x1);
|
SURFOBJ * NTAPI DxEngAltLockSurface(HSURF hsurf);
|
||||||
DWORD NTAPI DxEngUploadPaletteEntryToSurface(DWORD x1, DWORD x2,DWORD x3, DWORD x4);
|
DWORD NTAPI DxEngUploadPaletteEntryToSurface(DWORD x1, DWORD x2,DWORD x3, DWORD x4);
|
||||||
DWORD NTAPI DxEngMarkSurfaceAsDirectDraw(DWORD x1, DWORD x2);
|
DWORD NTAPI DxEngMarkSurfaceAsDirectDraw(DWORD x1, DWORD x2);
|
||||||
DWORD NTAPI DxEngSelectPaletteToSurface(DWORD x1, DWORD x2);
|
DWORD NTAPI DxEngSelectPaletteToSurface(DWORD x1, DWORD x2);
|
||||||
|
|
|
@ -200,8 +200,6 @@ VOID NTAPI DC_vRestoreDC(IN PDC pdc, INT iSaveLevel);
|
||||||
VOID NTAPI DC_vFreeDcAttr(PDC pdc);
|
VOID NTAPI DC_vFreeDcAttr(PDC pdc);
|
||||||
VOID NTAPI DC_vInitDc(PDC pdc, DCTYPE dctype, PPDEVOBJ ppdev);
|
VOID NTAPI DC_vInitDc(PDC pdc, DCTYPE dctype, PPDEVOBJ ppdev);
|
||||||
|
|
||||||
VOID FASTCALL IntGdiReferencePdev(PPDEVOBJ pPDev);
|
|
||||||
VOID FASTCALL IntGdiUnreferencePdev(PPDEVOBJ pPDev, DWORD CleanUpType);
|
|
||||||
HDC FASTCALL IntGdiCreateDisplayDC(HDEV hDev, ULONG DcType, BOOL EmptyDC);
|
HDC FASTCALL IntGdiCreateDisplayDC(HDEV hDev, ULONG DcType, BOOL EmptyDC);
|
||||||
BOOL FASTCALL IntGdiCleanDC(HDC hDC);
|
BOOL FASTCALL IntGdiCleanDC(HDC hDC);
|
||||||
VOID FASTCALL IntvGetDeviceCaps(PPDEVOBJ, PDEVCAPS);
|
VOID FASTCALL IntvGetDeviceCaps(PPDEVOBJ, PDEVCAPS);
|
||||||
|
|
|
@ -13,18 +13,6 @@
|
||||||
|
|
||||||
PDC defaultDCstate = NULL;
|
PDC defaultDCstate = NULL;
|
||||||
|
|
||||||
VOID FASTCALL
|
|
||||||
IntGdiReferencePdev(PPDEVOBJ ppdev)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
VOID FASTCALL
|
|
||||||
IntGdiUnreferencePdev(PPDEVOBJ ppdev, DWORD CleanUpType)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL FASTCALL
|
BOOL FASTCALL
|
||||||
IntCreatePrimarySurface(VOID)
|
IntCreatePrimarySurface(VOID)
|
||||||
{
|
{
|
||||||
|
|
|
@ -587,7 +587,7 @@ BOOLEAN
|
||||||
APIENTRY
|
APIENTRY
|
||||||
DxEngReferenceHdev(HDEV hDev)
|
DxEngReferenceHdev(HDEV hDev)
|
||||||
{
|
{
|
||||||
IntGdiReferencePdev((PPDEVOBJ) hDev);
|
PDEVOBJ_vReference((PPDEVOBJ)hDev);
|
||||||
/* ALWAYS return true */
|
/* ALWAYS return true */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -689,7 +689,7 @@ BOOLEAN
|
||||||
APIENTRY
|
APIENTRY
|
||||||
DxEngUnreferenceHdev(HDEV hDev)
|
DxEngUnreferenceHdev(HDEV hDev)
|
||||||
{
|
{
|
||||||
IntGdiUnreferencePdev((PPDEVOBJ) hDev, 0);
|
PDEVOBJ_vRelease((PPDEVOBJ)hDev);
|
||||||
return TRUE; // Always true.
|
return TRUE; // Always true.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -762,28 +762,31 @@ DxEngSetDCState(HDC hDC, DWORD SetType, DWORD Set)
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* DxEngSelectBitmap */
|
/* DxEngSelectBitmap */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
DWORD APIENTRY DxEngSelectBitmap(DWORD x1, DWORD x2)
|
HBITMAP APIENTRY DxEngSelectBitmap(HDC hdc, HBITMAP hbmp)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
DPRINT1("ReactX Calling : DxEngSelectBitmap \n");
|
||||||
return FALSE;
|
|
||||||
|
return NtGdiSelectBitmap(hdc, hbmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* DxEngSetBitmapOwner */
|
/* DxEngSetBitmapOwner */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
DWORD APIENTRY DxEngSetBitmapOwner(DWORD x1, DWORD x2)
|
BOOLEAN APIENTRY DxEngSetBitmapOwner(HBITMAP hbmp, ULONG ulOwner)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
DPRINT1("ReactX Calling : DxEngSetBitmapOwner \n");
|
||||||
return FALSE;
|
|
||||||
|
return GreSetBitmapOwner(hbmp, ulOwner);
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* DxEngDeleteSurface */
|
/* DxEngDeleteSurface */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
DWORD APIENTRY DxEngDeleteSurface(DWORD x1)
|
BOOLEAN APIENTRY DxEngDeleteSurface(HSURF hsurf)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
DPRINT1("ReactX Calling : DxEngDeleteSurface \n");
|
||||||
return FALSE;
|
|
||||||
|
return EngDeleteSurface(hsurf);
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
@ -798,10 +801,11 @@ DWORD APIENTRY DxEngGetSurfaceData(DWORD x1, DWORD x2)
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* DxEngAltLockSurface */
|
/* DxEngAltLockSurface */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
DWORD APIENTRY DxEngAltLockSurface(DWORD x1)
|
SURFOBJ * APIENTRY DxEngAltLockSurface(HSURF hsurf)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
DPRINT1("ReactX Calling : DxEngAltLockSurface \n");
|
||||||
return FALSE;
|
|
||||||
|
return EngLockSurface(hsurf);
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue