DDHAL_WAITFORVERTICALBLANKDATA WaitVectorData;
- if (!(This->DirectDrawGlobal.lpDDCBtmp->HALDDMiscellaneous.dwFlags & DDHAL_CB32_WAITFORVERTICALBLANK))
+ if (!(This->DirectDrawGlobal.lpDDCBtmp->HALDD.dwFlags & DDHAL_CB32_WAITFORVERTICALBLANK))
{
return DDERR_NODRIVERSUPPORT;
}
DDHAL_GETSCANLINEDATA GetScan;
- if (!(This->DirectDrawGlobal.lpDDCBtmp->HALDDMiscellaneous.dwFlags & DDHAL_CB32_GETSCANLINE))
+ if (!(This->DirectDrawGlobal.lpDDCBtmp->HALDD.dwFlags & DDHAL_CB32_GETSCANLINE))
{
return DDERR_NODRIVERSUPPORT;
}
*lpdwScanLine = GetScan.ddRVal;
return GetScan.ddRVal;
}
+
+HRESULT Hal_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 iface)
+{
+ IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
+
+ DDHAL_FLIPTOGDISURFACEDATA FlipGdi;
+
+ if (!(This->DirectDrawGlobal.lpDDCBtmp->HALDD.dwFlags & DDHAL_CB32_FLIPTOGDISURFACE))
+ {
+ return DDERR_NODRIVERSUPPORT;
+ }
+
+ FlipGdi.lpDD = &This->DirectDrawGlobal;
+ FlipGdi.ddRVal = DDERR_NOTPALETTIZED;
+
+ if (This->DirectDrawGlobal.lpDDCBtmp->HALDD.FlipToGDISurface(&FlipGdi) != DDHAL_DRIVER_HANDLED)
+ {
+ return DDERR_NODRIVERSUPPORT;
+ }
+
+ /* FIXME where should FlipGdi.dwToGDI be fill in */
+ return FlipGdi.ddRVal;
+}
HRESULT WINAPI Main_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 iface)
{
- DX_STUB;
+ DWORD ret;
+
+ if((ret = Hal_DirectDraw_FlipToGDISurface( iface)) == DD_OK)
+ return ret;
+
+ if((ret = Hel_DirectDraw_FlipToGDISurface( iface)) == DD_OK)
+ return ret;
+
+ return DDERR_NOTINITIALIZED;
}
HRESULT WINAPI Main_DirectDraw_GetCaps(LPDIRECTDRAW7 iface, LPDDCAPS pDriverCaps,
HANDLE h);
HRESULT Hal_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface, LPDWORD lpdwScanLine);
+HRESULT Hal_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 iface);
+
+
HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 iface);
HANDLE h);
HRESULT Hel_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface, LPDWORD lpdwScanLine);
-
+HRESULT Hel_DirectDraw_FlipToGDISurface(LPDIRECTDRAW7 iface);
/*********** Macros ***********/