mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
implement Main_DirectDraw_GetDisplayMode (not to 100% see the comment)
implement Main_DirectDraw_GetMonitorFrequency but we do not get the freq at return we need exaime the hal instate. svn path=/trunk/; revision=18725
This commit is contained in:
parent
0adb2c35cf
commit
fd37360789
2 changed files with 56 additions and 3 deletions
|
@ -245,8 +245,52 @@ HRESULT WINAPI Main_DirectDraw_GetCaps(LPDIRECTDRAW7 iface, LPDDCAPS pDriverCaps
|
|||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDraw_GetDisplayMode(LPDIRECTDRAW7 iface, LPDDSURFACEDESC2 pDDSD)
|
||||
{
|
||||
DX_STUB;
|
||||
{
|
||||
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
|
||||
|
||||
if (pDDSD == NULL)
|
||||
{
|
||||
return DD_FALSE;
|
||||
}
|
||||
|
||||
pDDSD->dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_PITCH | DDSD_PIXELFORMAT | DDSD_REFRESHRATE | DDSD_WIDTH;
|
||||
pDDSD->dwHeight = This->DirectDrawGlobal.vmiData.dwDisplayHeight;
|
||||
pDDSD->dwWidth = This->DirectDrawGlobal.vmiData.dwDisplayWidth;
|
||||
|
||||
/* FIXME Do not use DUMMYUNIONNAME1 some how union lPitch does not see by the compiler
|
||||
but rest of the union are visable. more header problem ???
|
||||
*/
|
||||
pDDSD->DUMMYUNIONNAME1.lPitch = This->DirectDrawGlobal.vmiData.lDisplayPitch;
|
||||
|
||||
|
||||
/* have not check where I should get hold of this info yet
|
||||
DWORD dwBackBufferCount;
|
||||
*/
|
||||
|
||||
pDDSD->dwRefreshRate = This->DirectDrawGlobal.dwMonitorFrequency;
|
||||
|
||||
/* have not check where I should get hold of this info yet
|
||||
DWORD dwAlphaBitDepth;
|
||||
DWORD dwReserved;
|
||||
LPVOID lpSurface;
|
||||
union
|
||||
{
|
||||
DDCOLORKEY ddckCKDestOverlay;
|
||||
DWORD dwEmptyFaceColor;
|
||||
}
|
||||
DDCOLORKEY ddckCKDestBlt;
|
||||
DDCOLORKEY ddckCKSrcOverlay;
|
||||
DDCOLORKEY ddckCKSrcBlt;
|
||||
*/
|
||||
|
||||
RtlCopyMemory(&pDDSD->ddpfPixelFormat,&This->DirectDrawGlobal.vmiData.ddpfDisplay,sizeof(DDPIXELFORMAT));
|
||||
RtlCopyMemory(&pDDSD->ddsCaps,&This->DirectDrawGlobal.ddCaps,sizeof(DDCORECAPS));
|
||||
|
||||
/* have not check where I should get hold of this info yet
|
||||
DWORD dwTextureStage;
|
||||
*/
|
||||
|
||||
return DD_OK;
|
||||
}
|
||||
|
||||
|
||||
|
@ -263,7 +307,15 @@ HRESULT WINAPI Main_DirectDraw_GetGDISurface(LPDIRECTDRAW7 iface,
|
|||
|
||||
HRESULT WINAPI Main_DirectDraw_GetMonitorFrequency(LPDIRECTDRAW7 iface,LPDWORD freq)
|
||||
{
|
||||
DX_STUB;
|
||||
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
|
||||
|
||||
if (freq == NULL)
|
||||
{
|
||||
return DD_FALSE;
|
||||
}
|
||||
|
||||
*freq = This->DirectDrawGlobal.dwMonitorFrequency;
|
||||
return DD_OK;
|
||||
}
|
||||
|
||||
HRESULT WINAPI Main_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface, LPDWORD lpdwScanLine)
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
/********* Includes *********/
|
||||
|
||||
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <ddraw.h>
|
||||
|
|
Loading…
Reference in a new issue