e4654c5fc863d73756e927fe7ea3023efd688f0a
[reactos.git] / reactos / lib / ddraw / hal / surface_hal.c
1 /* $Id$
2 *
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS
5 * FILE: lib/ddraw/hal/surface.c
6 * PURPOSE: DirectDraw HAL Implementation
7 * PROGRAMMER: Magnus Olsen, Maarten Bosma
8 *
9 */
10
11 #include "rosdraw.h"
12
13 HRESULT Hal_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst,
14 LPDIRECTDRAWSURFACE7 src, LPRECT rsrc, DWORD dwFlags, LPDDBLTFX lpbltfx)
15 {
16
17 DDHAL_BLTDATA BltData;
18 IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
19
20 if (!(This->DirectDrawGlobal.lpDDCBtmp->HALDDSurface.dwFlags & DDHAL_SURFCB32_BLT))
21 {
22 return DDERR_NODRIVERSUPPORT;
23 }
24
25 BltData.lpDD = &This->DirectDrawGlobal;
26 /* RtlCopyMemory( &BltData.bltFX, lpbltfx,sizeof(DDBLTFX)); */
27 BltData.dwFlags = dwFlags;
28
29 /* FIXME blt is not complete */
30
31 if (This->DirectDrawGlobal.lpDDCBtmp->HALDDSurface.Blt(&BltData) != DDHAL_DRIVER_HANDLED)
32 {
33 return DDERR_NODRIVERSUPPORT;
34 }
35
36 return BltData.ddRVal;
37
38 }
39