mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
Impement DxEngSetDCState, DxEngIsHdevLockedByCurrentThread and DxEngUn & ReferenceHdev.
svn path=/trunk/; revision=33284
This commit is contained in:
parent
4c802c0a86
commit
9b3cb4f2aa
4 changed files with 50 additions and 19 deletions
|
@ -81,7 +81,7 @@ BOOLEAN STDCALL DxEngSetHdevData(HDEV, DXEGSHDEVDATA, DWORD_PTR);
|
||||||
BOOLEAN STDCALL DxEngLockHdev(HDEV hdev);
|
BOOLEAN STDCALL DxEngLockHdev(HDEV hdev);
|
||||||
BOOLEAN STDCALL DxEngUnlockHdev(HDEV hdev);
|
BOOLEAN STDCALL DxEngUnlockHdev(HDEV hdev);
|
||||||
DWORD_PTR STDCALL DxEngGetDCState(HDC hDC, DWORD type);
|
DWORD_PTR STDCALL DxEngGetDCState(HDC hDC, DWORD type);
|
||||||
DWORD STDCALL DxEngReferenceHdev(HDEV hdev);
|
BOOLEAN STDCALL DxEngReferenceHdev(HDEV hdev);
|
||||||
BOOLEAN STDCALL DxEngLockShareSem();
|
BOOLEAN STDCALL DxEngLockShareSem();
|
||||||
BOOLEAN STDCALL DxEngUnlockShareSem();
|
BOOLEAN STDCALL DxEngUnlockShareSem();
|
||||||
DWORD STDCALL DxEngScreenAccessCheck();
|
DWORD STDCALL DxEngScreenAccessCheck();
|
||||||
|
@ -99,14 +99,14 @@ BOOLEAN STDCALL DxEngIncDispUniq();
|
||||||
|
|
||||||
HDC STDCALL DxEngCreateMemoryDC(HDEV hDev);
|
HDC STDCALL DxEngCreateMemoryDC(HDEV hDev);
|
||||||
|
|
||||||
DWORD STDCALL DxEngIsHdevLockedByCurrentThread(DWORD x1);
|
BOOLEAN STDCALL DxEngIsHdevLockedByCurrentThread(HDEV hDev);
|
||||||
DWORD STDCALL DxEngUnreferenceHdev(DWORD x1);
|
BOOLEAN STDCALL DxEngUnreferenceHdev(HDEV hDev);
|
||||||
DWORD STDCALL DxEngSpTearDownSprites(DWORD x1, DWORD x2, DWORD x3);
|
DWORD STDCALL DxEngSpTearDownSprites(DWORD x1, DWORD x2, DWORD x3);
|
||||||
DWORD STDCALL DxEngSpUnTearDownSprites(DWORD x1, DWORD x2, DWORD x3);
|
DWORD STDCALL DxEngSpUnTearDownSprites(DWORD x1, DWORD x2, DWORD x3);
|
||||||
DWORD STDCALL DxEngSpSpritesVisible(DWORD x1);
|
DWORD STDCALL DxEngSpSpritesVisible(DWORD x1);
|
||||||
HDC STDCALL DxEngGetDesktopDC(ULONG DcType, BOOL EmptyDC, BOOL ValidatehWnd);
|
HDC STDCALL DxEngGetDesktopDC(ULONG DcType, BOOL EmptyDC, BOOL ValidatehWnd);
|
||||||
BOOLEAN STDCALL DxEngDeleteDC(HDC hdc, BOOL Force);
|
BOOLEAN STDCALL DxEngDeleteDC(HDC hdc, BOOL Force);
|
||||||
DWORD STDCALL DxEngSetDCState(DWORD x1, DWORD x2, DWORD x3);
|
BOOLEAN STDCALL DxEngSetDCState(HDC hDC, DWORD SetType, DWORD Set);
|
||||||
DWORD STDCALL DxEngSelectBitmap(DWORD x1, DWORD x2);
|
DWORD STDCALL DxEngSelectBitmap(DWORD x1, DWORD x2);
|
||||||
DWORD STDCALL DxEngSetBitmapOwner(DWORD x1, DWORD x2);
|
DWORD STDCALL DxEngSetBitmapOwner(DWORD x1, DWORD x2);
|
||||||
DWORD STDCALL DxEngDeleteSurface(DWORD x1);
|
DWORD STDCALL DxEngDeleteSurface(DWORD x1);
|
||||||
|
|
|
@ -261,5 +261,7 @@ UINT FASTCALL IntGdiSetTextAlign(HDC hDC, UINT Mode);
|
||||||
UINT STDCALL IntGdiGetTextAlign(HDC hDC);
|
UINT STDCALL IntGdiGetTextAlign(HDC hDC);
|
||||||
COLORREF STDCALL IntGdiGetTextColor(HDC hDC);
|
COLORREF STDCALL IntGdiGetTextColor(HDC hDC);
|
||||||
INT STDCALL IntGdiSetStretchBltMode(HDC hDC, INT stretchBltMode);
|
INT STDCALL IntGdiSetStretchBltMode(HDC hDC, INT stretchBltMode);
|
||||||
|
VOID FASTCALL IntGdiReferencePdev(PGDIDEVICE pPDev);
|
||||||
|
VOID FASTCALL IntGdiUnreferencePdev(PGDIDEVICE pPDev, DWORD CleanUpType);
|
||||||
|
|
||||||
#endif /* not __WIN32K_DC_H */
|
#endif /* not __WIN32K_DC_H */
|
||||||
|
|
|
@ -592,12 +592,11 @@ DxEngUnlockHdev(HDEV hDev)
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* DxEngReferenceHdev */
|
/* DxEngReferenceHdev */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
DWORD
|
BOOLEAN
|
||||||
STDCALL
|
STDCALL
|
||||||
DxEngReferenceHdev(HDEV hDev)
|
DxEngReferenceHdev(HDEV hDev)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
IntGdiReferencePdev((PGDIDEVICE) hDev);;
|
||||||
|
|
||||||
/* ALWAYS return true */
|
/* ALWAYS return true */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -680,24 +679,24 @@ DWORD STDCALL DxEngScreenAccessCheck()
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* DxEngIsHdevLockedByCurrentThread */
|
/* DxEngIsHdevLockedByCurrentThread */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
DWORD
|
BOOLEAN
|
||||||
STDCALL
|
STDCALL
|
||||||
DxEngIsHdevLockedByCurrentThread(DWORD x1)
|
DxEngIsHdevLockedByCurrentThread(HDEV hDev)
|
||||||
{
|
{ // base on EngIsSemaphoreOwnedByCurrentThread w/o the Ex call.
|
||||||
UNIMPLEMENTED;
|
PERESOURCE pSem = ((PGDIDEVICE)hDev)->hsemDevLock;
|
||||||
return FALSE;
|
return pSem->OwnerEntry.OwnerThread == (ERESOURCE_THREAD)PsGetCurrentThread();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* DxEngUnreferenceHdev */
|
/* DxEngUnreferenceHdev */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
DWORD
|
BOOLEAN
|
||||||
STDCALL
|
STDCALL
|
||||||
DxEngUnreferenceHdev(DWORD x1)
|
DxEngUnreferenceHdev(HDEV hDev)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
IntGdiUnreferencePdev((PGDIDEVICE) hDev, 0);
|
||||||
return FALSE;
|
return TRUE; // Always true.
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
@ -757,10 +756,27 @@ BOOL STDCALL DxEngSetDCOwner(HGDIOBJ hObject, DWORD OwnerMask)
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
/* DxEngSetDCState */
|
/* DxEngSetDCState */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
DWORD STDCALL DxEngSetDCState(DWORD x1, DWORD x2, DWORD x3)
|
BOOLEAN
|
||||||
|
STDCALL
|
||||||
|
DxEngSetDCState(HDC hDC, DWORD SetType, DWORD Set)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED;
|
BOOLEAN Ret = FALSE;
|
||||||
return FALSE;
|
PDC pDC = DC_LockDc(hDC);
|
||||||
|
|
||||||
|
if (pDC)
|
||||||
|
{
|
||||||
|
if (SetType == 1)
|
||||||
|
{
|
||||||
|
if ( Set )
|
||||||
|
pDC->DC_Flags |= DC_FLAG_FULLSCREEN;
|
||||||
|
else
|
||||||
|
pDC->DC_Flags &= ~DC_FLAG_FULLSCREEN;
|
||||||
|
Ret = TRUE;
|
||||||
|
}
|
||||||
|
DC_UnlockDc(pDC);
|
||||||
|
return Ret; // Everything else returns FALSE.
|
||||||
|
}
|
||||||
|
return Ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
|
|
|
@ -2699,6 +2699,19 @@ IntEnumHDev(VOID)
|
||||||
return &PrimarySurface;
|
return &PrimarySurface;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VOID FASTCALL
|
||||||
|
IntGdiReferencePdev(PGDIDEVICE pPDev)
|
||||||
|
{
|
||||||
|
pPDev->cPdevRefs++;
|
||||||
|
}
|
||||||
|
|
||||||
|
VOID FASTCALL
|
||||||
|
IntGdiUnreferencePdev(PGDIDEVICE pPDev, DWORD CleanUpType)
|
||||||
|
{
|
||||||
|
pPDev->cPdevRefs--;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#define SIZEOF_DEVMODEW_300 188
|
#define SIZEOF_DEVMODEW_300 188
|
||||||
#define SIZEOF_DEVMODEW_400 212
|
#define SIZEOF_DEVMODEW_400 212
|
||||||
#define SIZEOF_DEVMODEW_500 220
|
#define SIZEOF_DEVMODEW_500 220
|
||||||
|
|
Loading…
Reference in a new issue