mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 01:15:09 +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 DxEngUnlockHdev(HDEV hdev);
|
||||
DWORD_PTR STDCALL DxEngGetDCState(HDC hDC, DWORD type);
|
||||
DWORD STDCALL DxEngReferenceHdev(HDEV hdev);
|
||||
BOOLEAN STDCALL DxEngReferenceHdev(HDEV hdev);
|
||||
BOOLEAN STDCALL DxEngLockShareSem();
|
||||
BOOLEAN STDCALL DxEngUnlockShareSem();
|
||||
DWORD STDCALL DxEngScreenAccessCheck();
|
||||
|
@ -99,14 +99,14 @@ BOOLEAN STDCALL DxEngIncDispUniq();
|
|||
|
||||
HDC STDCALL DxEngCreateMemoryDC(HDEV hDev);
|
||||
|
||||
DWORD STDCALL DxEngIsHdevLockedByCurrentThread(DWORD x1);
|
||||
DWORD STDCALL DxEngUnreferenceHdev(DWORD x1);
|
||||
BOOLEAN STDCALL DxEngIsHdevLockedByCurrentThread(HDEV hDev);
|
||||
BOOLEAN STDCALL DxEngUnreferenceHdev(HDEV hDev);
|
||||
DWORD STDCALL DxEngSpTearDownSprites(DWORD x1, DWORD x2, DWORD x3);
|
||||
DWORD STDCALL DxEngSpUnTearDownSprites(DWORD x1, DWORD x2, DWORD x3);
|
||||
DWORD STDCALL DxEngSpSpritesVisible(DWORD x1);
|
||||
HDC STDCALL DxEngGetDesktopDC(ULONG DcType, BOOL EmptyDC, BOOL ValidatehWnd);
|
||||
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 DxEngSetBitmapOwner(DWORD x1, DWORD x2);
|
||||
DWORD STDCALL DxEngDeleteSurface(DWORD x1);
|
||||
|
|
|
@ -261,5 +261,7 @@ UINT FASTCALL IntGdiSetTextAlign(HDC hDC, UINT Mode);
|
|||
UINT STDCALL IntGdiGetTextAlign(HDC hDC);
|
||||
COLORREF STDCALL IntGdiGetTextColor(HDC hDC);
|
||||
INT STDCALL IntGdiSetStretchBltMode(HDC hDC, INT stretchBltMode);
|
||||
VOID FASTCALL IntGdiReferencePdev(PGDIDEVICE pPDev);
|
||||
VOID FASTCALL IntGdiUnreferencePdev(PGDIDEVICE pPDev, DWORD CleanUpType);
|
||||
|
||||
#endif /* not __WIN32K_DC_H */
|
||||
|
|
|
@ -592,12 +592,11 @@ DxEngUnlockHdev(HDEV hDev)
|
|||
/************************************************************************/
|
||||
/* DxEngReferenceHdev */
|
||||
/************************************************************************/
|
||||
DWORD
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
DxEngReferenceHdev(HDEV hDev)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
IntGdiReferencePdev((PGDIDEVICE) hDev);;
|
||||
/* ALWAYS return true */
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -680,24 +679,24 @@ DWORD STDCALL DxEngScreenAccessCheck()
|
|||
/************************************************************************/
|
||||
/* DxEngIsHdevLockedByCurrentThread */
|
||||
/************************************************************************/
|
||||
DWORD
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
DxEngIsHdevLockedByCurrentThread(DWORD x1)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
DxEngIsHdevLockedByCurrentThread(HDEV hDev)
|
||||
{ // base on EngIsSemaphoreOwnedByCurrentThread w/o the Ex call.
|
||||
PERESOURCE pSem = ((PGDIDEVICE)hDev)->hsemDevLock;
|
||||
return pSem->OwnerEntry.OwnerThread == (ERESOURCE_THREAD)PsGetCurrentThread();
|
||||
}
|
||||
|
||||
|
||||
/************************************************************************/
|
||||
/* DxEngUnreferenceHdev */
|
||||
/************************************************************************/
|
||||
DWORD
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
DxEngUnreferenceHdev(DWORD x1)
|
||||
DxEngUnreferenceHdev(HDEV hDev)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
IntGdiUnreferencePdev((PGDIDEVICE) hDev, 0);
|
||||
return TRUE; // Always true.
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
|
@ -757,10 +756,27 @@ BOOL STDCALL DxEngSetDCOwner(HGDIOBJ hObject, DWORD OwnerMask)
|
|||
/************************************************************************/
|
||||
/* DxEngSetDCState */
|
||||
/************************************************************************/
|
||||
DWORD STDCALL DxEngSetDCState(DWORD x1, DWORD x2, DWORD x3)
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
DxEngSetDCState(HDC hDC, DWORD SetType, DWORD Set)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
BOOLEAN Ret = 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;
|
||||
}
|
||||
|
||||
VOID FASTCALL
|
||||
IntGdiReferencePdev(PGDIDEVICE pPDev)
|
||||
{
|
||||
pPDev->cPdevRefs++;
|
||||
}
|
||||
|
||||
VOID FASTCALL
|
||||
IntGdiUnreferencePdev(PGDIDEVICE pPDev, DWORD CleanUpType)
|
||||
{
|
||||
pPDev->cPdevRefs--;
|
||||
}
|
||||
|
||||
|
||||
#define SIZEOF_DEVMODEW_300 188
|
||||
#define SIZEOF_DEVMODEW_400 212
|
||||
#define SIZEOF_DEVMODEW_500 220
|
||||
|
|
Loading…
Reference in a new issue