mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
lay some gorun for blt but not implement
svn path=/trunk/; revision=18879
This commit is contained in:
parent
fadf041561
commit
b6bfd30b73
4 changed files with 61 additions and 33 deletions
|
@ -9,3 +9,31 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "rosdraw.h"
|
#include "rosdraw.h"
|
||||||
|
|
||||||
|
HRESULT Hal_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst,
|
||||||
|
LPDIRECTDRAWSURFACE7 src, LPRECT rsrc, DWORD dwFlags, LPDDBLTFX lpbltfx)
|
||||||
|
{
|
||||||
|
|
||||||
|
DDHAL_BLTDATA BltData;
|
||||||
|
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
|
||||||
|
|
||||||
|
if (!(This->DirectDrawGlobal.lpDDCBtmp->HALDDSurface.dwFlags & DDHAL_SURFCB32_BLT))
|
||||||
|
{
|
||||||
|
return DDERR_NODRIVERSUPPORT;
|
||||||
|
}
|
||||||
|
|
||||||
|
BltData.lpDD = &This->DirectDrawGlobal;
|
||||||
|
/* RtlCopyMemory( &BltData.bltFX, lpbltfx,sizeof(DDBLTFX)); */
|
||||||
|
BltData.dwFlags = dwFlags;
|
||||||
|
|
||||||
|
/* FIXME blt is not complete */
|
||||||
|
|
||||||
|
if (This->DirectDrawGlobal.lpDDCBtmp->HALDDSurface.Blt(&BltData) != DDHAL_DRIVER_HANDLED)
|
||||||
|
{
|
||||||
|
return DDERR_NODRIVERSUPPORT;
|
||||||
|
}
|
||||||
|
|
||||||
|
return BltData.ddRVal;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -126,9 +126,17 @@ Main_DDrawSurface_QueryInterface(LPDIRECTDRAWSURFACE7 iface, REFIID riid,
|
||||||
HRESULT WINAPI Main_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst,
|
HRESULT WINAPI Main_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst,
|
||||||
LPDIRECTDRAWSURFACE7 src, LPRECT rsrc, DWORD dwFlags, LPDDBLTFX lpbltfx)
|
LPDIRECTDRAWSURFACE7 src, LPRECT rsrc, DWORD dwFlags, LPDDBLTFX lpbltfx)
|
||||||
{
|
{
|
||||||
DX_STUB;
|
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
|
||||||
|
|
||||||
|
if (This->DirectDrawGlobal.lpDDCBtmp->HALDD.dwFlags & DDHAL_CB32_FLIPTOGDISURFACE)
|
||||||
|
{
|
||||||
|
return Hal_DDrawSurface_Blt( iface, rdst, src, rsrc, dwFlags, lpbltfx);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Hel_DDrawSurface_Blt( iface, rdst, src, rsrc, dwFlags, lpbltfx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
HRESULT WINAPI Main_DDrawSurface_Lock (LPDIRECTDRAWSURFACE7 iface, LPRECT prect,
|
HRESULT WINAPI Main_DDrawSurface_Lock (LPDIRECTDRAWSURFACE7 iface, LPRECT prect,
|
||||||
LPDDSURFACEDESC2 pDDSD, DWORD flags, HANDLE event)
|
LPDDSURFACEDESC2 pDDSD, DWORD flags, HANDLE event)
|
||||||
{
|
{
|
||||||
|
|
|
@ -84,40 +84,26 @@ extern IDirectDrawGammaControlVtbl DirectDrawGammaControl_Vtable;
|
||||||
|
|
||||||
/********* Prototypes **********/
|
/********* Prototypes **********/
|
||||||
|
|
||||||
HRESULT Hal_DirectDraw_Initialize (LPDIRECTDRAW7 iface);
|
HRESULT Hal_DirectDraw_Initialize (LPDIRECTDRAW7 );
|
||||||
HRESULT Hal_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface);
|
HRESULT Hal_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 );
|
||||||
VOID Hal_DirectDraw_Release (LPDIRECTDRAW7 iface);
|
VOID Hal_DirectDraw_Release (LPDIRECTDRAW7 );
|
||||||
|
HRESULT Hal_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7, LPDDSCAPS2, LPDWORD, LPDWORD );
|
||||||
HRESULT Hal_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface, LPDDSCAPS2 ddscaps,
|
HRESULT Hal_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7, DWORD, HANDLE );
|
||||||
LPDWORD total, LPDWORD free);
|
HRESULT Hal_DirectDraw_GetScanLine(LPDIRECTDRAW7 , LPDWORD );
|
||||||
|
HRESULT Hal_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 );
|
||||||
HRESULT Hal_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7 iface, DWORD dwFlags,
|
HRESULT Hal_DirectDraw_SetDisplayMode (LPDIRECTDRAW7, DWORD, DWORD, DWORD, DWORD, DWORD );
|
||||||
HANDLE h);
|
HRESULT Hal_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7, LPRECT, LPDIRECTDRAWSURFACE7, LPRECT, DWORD, LPDDBLTFX );
|
||||||
|
|
||||||
HRESULT Hal_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface, LPDWORD lpdwScanLine);
|
|
||||||
HRESULT Hal_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 iface);
|
|
||||||
HRESULT Hal_DirectDraw_SetDisplayMode (LPDIRECTDRAW7 iface, DWORD dwWidth, DWORD dwHeight,
|
|
||||||
DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags);
|
|
||||||
|
|
||||||
|
|
||||||
|
HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 );
|
||||||
|
HRESULT Hel_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 );
|
||||||
|
VOID Hel_DirectDraw_Release (LPDIRECTDRAW7 );
|
||||||
HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 iface);
|
HRESULT Hel_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 , LPDDSCAPS2 ddsaps, LPDWORD , LPDWORD );
|
||||||
HRESULT Hel_DirectDraw_SetCooperativeLevel (LPDIRECTDRAW7 iface);
|
HRESULT Hel_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7, DWORD, HANDLE );
|
||||||
VOID Hel_DirectDraw_Release (LPDIRECTDRAW7 iface);
|
HRESULT Hel_DirectDraw_GetScanLine(LPDIRECTDRAW7 , LPDWORD );
|
||||||
|
HRESULT Hel_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 );
|
||||||
HRESULT Hel_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface, LPDDSCAPS2 ddscaps,
|
HRESULT Hel_DirectDraw_SetDisplayMode (LPDIRECTDRAW7 , DWORD , DWORD ,DWORD , DWORD , DWORD );
|
||||||
LPDWORD total, LPDWORD free);
|
HRESULT Hel_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7, LPRECT, LPDIRECTDRAWSURFACE7, LPRECT, DWORD, LPDDBLTFX );
|
||||||
|
|
||||||
HRESULT Hel_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7 iface, DWORD dwFlags,
|
|
||||||
HANDLE h);
|
|
||||||
|
|
||||||
HRESULT Hel_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface, LPDWORD lpdwScanLine);
|
|
||||||
HRESULT Hel_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 iface);
|
|
||||||
HRESULT Hel_DirectDraw_SetDisplayMode (LPDIRECTDRAW7 iface, DWORD dwWidth, DWORD dwHeight,
|
|
||||||
DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags);
|
|
||||||
|
|
||||||
|
|
||||||
/*********** Macros ***********/
|
/*********** Macros ***********/
|
||||||
|
|
||||||
|
|
|
@ -9,3 +9,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "rosdraw.h"
|
#include "rosdraw.h"
|
||||||
|
|
||||||
|
HRESULT Hel_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst,
|
||||||
|
LPDIRECTDRAWSURFACE7 src, LPRECT rsrc, DWORD dwFlags, LPDDBLTFX lpbltfx)
|
||||||
|
{
|
||||||
|
DX_STUB;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue