ULONG
DxEngDispUniq()
{
- /* FIXME DisplayUniqVisrgn from gdishare memory */
- UNIMPLEMENTED;
- return FALSE;
+ return GdiHandleTable->flDeviceUniq;
}
+ULONG gulVisRgnUniqueness; // Increase count everytime client region is updated.
+
/************************************************************************/
/* DxEngVisRgnUniq */
/************************************************************************/
ULONG
DxEngVisRgnUniq()
{
- /* FIXME DisplayUniqVisrgn from gdishare memory */
- UNIMPLEMENTED;
- return FALSE;
+ return gulVisRgnUniqueness;
}
/************************************************************************/
/* DxEngEnumerateHdev */
/************************************************************************/
-/* Enumate all drivers in win32k */
+/* Enumerate all drivers in win32k */
HDEV *
DxEngEnumerateHdev(HDEV *hdev)
{
- /* FIXME Enumate all drivers in win32k */
+ /* FIXME Enumerate all drivers in win32k */
UNIMPLEMENTED;
return FALSE;
}
-/************************************************************************/
-/* DxEngGetDeviceGammaRamp */
-/************************************************************************/
-/* same protypes NtGdiEngGetDeviceGammaRamp, diffent is we skipp the user mode checks and seh */
+/*++
+* @name DxEngGetDeviceGammaRamp
+* @implemented
+*
+* The function DxEngSetDeviceGammaRamp Set Gamma ramp from from dxg.sys
+
+* @param HDEV hPDev
+* The hdev
+*
+* @param PGAMMARAMP Ramp
+* to fill in our gamma ramp
+*
+* @return
+*Returns TRUE for success, FALSE for failure
+*
+* @remarks.
+* ReactOS does not loop it, only sets the gamma once.
+*
+*--*/
BOOL
-DxEngGetDeviceGammaRamp(HDC hDC, LPVOID lpRamp)
+DxEngGetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp)
{
- /* FIXME redirect it to NtGdiEngGetDeviceGammaRamp internal call */
- UNIMPLEMENTED;
- return FALSE;
+ return IntGetDeviceGammaRamp(hPDev, Ramp);
}
* @name DxEngLockDC
* @implemented
*
-* The function DxEngLockDC lock a hdc from dxg.sys
+* The function DxEngLockDC locks a hdc from dxg.sys
*
* @param HDC hDC
-* The handle we need want lock
+* The handle we want to lock
*
-* @return
-* This api return PDC or NULL depns if it sussess lock the hdc or not
+* @return
+* Returns PDC if lock succeeded or NULL depns if it failed
*
* @remarks.
* none
* @name DxEngUnlockDC
* @implemented
*
-* The function DxEngUnlockDC Unlock a pDC (hdc) from dxg.sys
+* The function DxEngUnlockDC unlocks a pDC (hdc) from dxg.sys
* @param PDC pDC
-* The handle we need unlock
+* The handle we want to unlock
*
-* @return
-* This api always return TRUE if it sussess or not
+* @return
+* This function returns TRUE no matter what
*
* @remarks.
* none
return FALSE;
}
-/************************************************************************/
-/* DxEngSetDeviceGammaRamp */
-/************************************************************************/
-DWORD DxEngSetDeviceGammaRamp(DWORD x1, DWORD x2, DWORD x3)
+
+/*++
+* @name DxEngSetDeviceGammaRamp
+* @implemented
+*
+* The function DxEngSetDeviceGammaRamp sets gamma ramp from dxg.sys
+
+* @param HDEV hPDev
+* The hdev
+*
+* @param PGAMMARAMP Ramp
+* Value to change gamma ramp to
+*
+* @param BOOL Test
+* Whether gamma should be tested. TRUE to test, FALSE to not test
+*
+* @return
+*Returns TRUE for success, FALSE for failure
+*
+* @remarks.
+* ReactOS does not loop and only sets the gamma once.
+*
+*--*/
+BOOL
+DxEngSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL Test)
{
- UNIMPLEMENTED;
- return FALSE;
+ return IntSetDeviceGammaRamp(hPDev, Ramp, Test);
}
/************************************************************************/
/************************************************************************/
/* DxEngGetHdevData */
/************************************************************************/
-DWORD DxEngGetHdevData(DWORD x1, DWORD x2)
+DWORD
+DxEngGetHdevData(PEDD_DIRECTDRAW_GLOBAL pEDDgpl,
+ DWORD Index)
{
UNIMPLEMENTED;
- return FALSE;
+ return 0;
}
/************************************************************************/
return FALSE;
}
-/************************************************************************/
-/* DxEngGetDCState */
-/************************************************************************/
-DWORD DxEngGetDCState(DWORD x1, DWORD x2)
-{
- UNIMPLEMENTED;
- return FALSE;
+
+
+/*++
+* @name DxEngGetDCState
+* @implemented
+*
+* The function DxEngGetDCState is capable of returning three
+* DC states depending on what value is passed in its second parameter:
+* 1. If the DC is full screen
+* 2. Get Complexity of visible region
+* 3. Get Driver hdev, which is pPDev
+*
+* @param HDC hdc
+* The DC handle
+*
+* @param DWORD type
+* value 1 = Is DC fullscreen
+* value 2 = Get Complexity of visible region.
+* value 3 = Get Driver hdev, which is a pPDev.
+*
+* @return
+* Return one of the type values
+*
+* @remarks.
+* We do not have type 2 implement yet
+*
+*--*/
+DWORD
+DxEngGetDCState(HDC hDC,
+ DWORD type)
+{
+ PDC pDC = DC_LockDc(hDC);
+ DWORD retVal = 0;
+
+ if (pDC)
+ {
+ switch (type)
+ {
+ case 1:
+ retVal = (DWORD) pDC->DC_Flags & DC_FLAG_FULLSCREEN;
+ break;
+ case 2:
+ UNIMPLEMENTED;
+ break;
+ case 3:
+ {
+ /* Return the HDEV of this DC. */
+ retVal = (DWORD) pDC->pPDev;
+ break;
+ }
+ default:
+ /* if a valid type is not found, zero is returned */
+ DPRINT1("Warning did not find type %d\n",type);
+ break;
+ }
+ DC_UnlockDc(pDC);
+ }
+
+ return retVal;
}
/************************************************************************/
return FALSE;
}
+/************************************************************************/
+/* DxEngIncDispUniq */
+/************************************************************************/
+DWORD DxEngIncDispUniq()
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+