1 /* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS kernel 4 * PURPOSE: Native driver for dxg implementation 5 * FILE: win32ss/reactx/dxg/eng.c 6 * PROGRAMER: Magnus olsen (magnus@greatlord.com) 7 * REVISION HISTORY: 8 * 30/12-2007 Magnus Olsen 9 */ 10 11 #include <dxg_int.h> 12 13 PDD_SURFACE_LOCAL 14 NTAPI 15 DxDdLockDirectDrawSurface(HANDLE hDdSurface) 16 { 17 PEDD_SURFACE pEDDSurface = NULL; 18 PDD_SURFACE_LOCAL pSurfacelcl = NULL; 19 20 pEDDSurface = DdHmgLock(hDdSurface, ObjType_DDSURFACE_TYPE, FALSE); 21 if (pEDDSurface != NULL) 22 { 23 pSurfacelcl = &pEDDSurface->ddsSurfaceLocal; 24 } 25 26 return pSurfacelcl; 27 } 28 29 BOOL 30 NTAPI 31 DxDdUnlockDirectDrawSurface(PDD_SURFACE_LOCAL pSurface) 32 { 33 BOOL retVal = FALSE; 34 //PEDD_SURFACE pEDDSurface = NULL; 35 36 if (pSurface) 37 { 38 // pEDDSurface = (PEDD_SURFACE)( ((PBYTE)pSurface) - sizeof(DD_BASEOBJECT)); 39 // InterlockedDecrement(&pEDDSurface->pobj.cExclusiveLock); 40 retVal = TRUE; 41 } 42 43 return retVal; 44 } 45 46 BOOL 47 NTAPI 48 DxDdEnableDirectDraw(PVOID arg1, BOOL arg2/*What for?*/) 49 { 50 // taken from CORE-4490 51 //PDEV_WIN32K pdev = (PDEV_WIN32K) arg1 ; 52 //return pdev->DriverFunctions.EnableDirectDraw(pdev->dhpdev, 53 // &pdev->EDDgpl.ddCallbacks, 54 // &pdev->EDDgpl.ddSurfaceCallbacks, 55 // &pdev->EDDgpl.ddPaletteCallbacks) ; 56 57 return TRUE; 58 } 59 60