- tests for GetPrivateData, SetPrivateData, FreePrivateData of IDirectDrawSurface
svn path=/trunk/; revision=27110
return TRUE;
}
-
-
-LONG WINAPI BasicWindowProc (HWND hwnd, UINT message, UINT wParam, LONG lParam)
-{
- switch (message)
- {
- case WM_DESTROY:
- {
- PostQuitMessage (0);
- return 0;
- } break;
- }
-
- return DefWindowProc (hwnd, message, wParam, lParam);
-}
-
-HWND CreateBasicWindow (VOID)
-{
- WNDCLASS wndclass = {0};
- wndclass.lpfnWndProc = BasicWindowProc;
- wndclass.hInstance = GetModuleHandle(NULL);
- wndclass.lpszClassName = "DDrawTest";
- RegisterClass(&wndclass);
-
- return CreateWindow("DDrawTest", "ReactOS DirectDraw Test", WS_POPUP, 0, 0, 10, 10, NULL, NULL, GetModuleHandle(NULL), NULL);
-}
--- /dev/null
+//AddOverlayDirtyRect
+//EnumOverlayZOrders
+//GetOverlayPosition
+//SetOverlayPosition
+//UpdateOverlay
+//UpdateOverlayDisplay
+//UpdateOverlayZOrder
\ No newline at end of file
<library>ddraw</library>\r
<library>dxguid</library>\r
<file>ddraw_test.cpp</file>\r
+ <file>helper.cpp</file>\r
<file>testlist.cpp</file>\r
</module>\r
--- /dev/null
+#include "ddrawtest.h"
+
+LONG WINAPI BasicWindowProc (HWND hwnd, UINT message, UINT wParam, LONG lParam)
+{
+ switch (message)
+ {
+ case WM_DESTROY:
+ {
+ PostQuitMessage (0);
+ return 0;
+ } break;
+ }
+
+ return DefWindowProc (hwnd, message, wParam, lParam);
+}
+
+HWND CreateBasicWindow (VOID)
+{
+ WNDCLASS wndclass = {0};
+ wndclass.lpfnWndProc = BasicWindowProc;
+ wndclass.hInstance = GetModuleHandle(NULL);
+ wndclass.lpszClassName = "DDrawTest";
+ RegisterClass(&wndclass);
+
+ return CreateWindow("DDrawTest", "ReactOS DirectDraw Test", WS_POPUP, 0, 0, 10, 10, NULL, NULL, GetModuleHandle(NULL), NULL);
+}
+
+
+BOOL CreateSurface(LPDIRECTDRAWSURFACE7* pSurface)
+{
+ LPDIRECTDRAW7 DirectDraw;
+ LPDIRECTDRAWSURFACE7 Surface;
+ HWND hwnd;
+
+ // Create DDraw Object
+ if (DirectDrawCreateEx(NULL, (VOID**)&DirectDraw, IID_IDirectDraw7, NULL) != DD_OK)
+ {
+ printf("ERROR: Failed to set up ddraw\n");
+ return FALSE;
+ }
+
+ if(!( hwnd = CreateBasicWindow() ))
+ {
+ printf("ERROR: Failed to create window\n");
+ DirectDraw->Release();
+ return FALSE;
+ }
+
+ if (DirectDraw->SetCooperativeLevel (hwnd, DDSCL_NORMAL) != DD_OK)
+ {
+ printf("ERROR: Could not set cooperative level\n");
+ DirectDraw->Release();
+ return 0;
+ }
+
+ // Creat Surface
+ DDSURFACEDESC2 Desc = { 0 };
+ Desc.dwHeight = 200;
+ Desc.dwWidth = 200;
+ Desc.dwSize = sizeof (DDSURFACEDESC2);
+ Desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
+ Desc.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH;
+
+ if(DirectDraw->CreateSurface(&Desc, &Surface, NULL) != DD_OK)
+ {
+ printf("ERROR: Faild to create Surface\n");
+ return FALSE;
+ }
+
+ DirectDraw->Release();
+
+ *pSurface = Surface;
+ return TRUE;
+}
#include "debug.cpp"
/* include the tests */
-#include "tests/CreateDDraw.cpp"
-#include "tests/DisplayModes.cpp"
-#include "tests/CreateSurface.cpp"
+#include "DDraw/CreateDDraw.cpp"
+#include "DDraw/DisplayModes.cpp"
+#include "DDraw/CreateSurface.cpp"
+#include "Surface/private_data.cpp"
/* The List of tests */
TEST TestList[] =
{
-
{ "IDirectDraw: COM Stuff", Test_CreateDDraw },
{ "IDirectDraw: GetDeviceIdentifier", Test_GetDeviceIdentifier },
{ "IDirectDraw: Display Frequency", Test_GetMonitorFrequency },
{ "IDirectDraw: GetFourCC", Test_GetFourCCCodes },
{ "IDirectDraw: Cooperative Levels", Test_SetCooperativeLevel },
{ "IDirectDraw: CreateSurface", Test_CreateSurface },
+ { "IDirectDrawSurface: Private Data", Test_PrivateData },
};
/* The function that gives us the number of tests */