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.
Modified: trunk/reactos/lib/ddraw/main/ddraw.c
Modified: trunk/reactos/lib/ddraw/rosdraw.h
_____
Modified: trunk/reactos/lib/ddraw/main/ddraw.c
--- trunk/reactos/lib/ddraw/main/ddraw.c 2005-10-23 21:10:58 UTC
(rev 18724)
+++ trunk/reactos/lib/ddraw/main/ddraw.c 2005-10-23 21:17:12 UTC
(rev 18725)
@@ -245,8 +245,52 @@
}
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.dd
pfDisplay,sizeof(DDPIXELFORMAT));
+
RtlCopyMemory(&pDDSD->ddsCaps,&This->DirectDrawGlobal.ddCaps,sizeof(DDCO
RECAPS));
+
+ /* 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_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)
_____
Modified: trunk/reactos/lib/ddraw/rosdraw.h
--- trunk/reactos/lib/ddraw/rosdraw.h 2005-10-23 21:10:58 UTC (rev
18724)
+++ trunk/reactos/lib/ddraw/rosdraw.h 2005-10-23 21:17:12 UTC (rev
18725)
@@ -3,6 +3,7 @@
/********* Includes *********/
+
#include <windows.h>
#include <stdio.h>
#include <ddraw.h>