From 2fe952c999665972cb3d4f5260b8a8fb9bff46a3 Mon Sep 17 00:00:00 2001 From: Maarten Bosma Date: Sun, 10 Jun 2007 11:42:58 +0000 Subject: [PATCH] - some rearrangement - tests for GetPrivateData, SetPrivateData, FreePrivateData of IDirectDrawSurface svn path=/trunk/; revision=27110 --- .../ddraw/{tests => DDraw}/CreateDDraw.cpp | 26 ------- .../ddraw/{tests => DDraw}/CreateSurface.cpp | 0 .../ddraw/{tests => DDraw}/DisplayModes.cpp | 0 rostests/dxtest/ddraw/Surface/overlay.cpp | 7 ++ rostests/dxtest/ddraw/ddraw.rbuild | 1 + rostests/dxtest/ddraw/helper.cpp | 74 +++++++++++++++++++ rostests/dxtest/ddraw/testlist.cpp | 9 ++- 7 files changed, 87 insertions(+), 30 deletions(-) rename rostests/dxtest/ddraw/{tests => DDraw}/CreateDDraw.cpp (96%) rename rostests/dxtest/ddraw/{tests => DDraw}/CreateSurface.cpp (100%) rename rostests/dxtest/ddraw/{tests => DDraw}/DisplayModes.cpp (100%) create mode 100644 rostests/dxtest/ddraw/Surface/overlay.cpp create mode 100644 rostests/dxtest/ddraw/helper.cpp diff --git a/rostests/dxtest/ddraw/tests/CreateDDraw.cpp b/rostests/dxtest/ddraw/DDraw/CreateDDraw.cpp similarity index 96% rename from rostests/dxtest/ddraw/tests/CreateDDraw.cpp rename to rostests/dxtest/ddraw/DDraw/CreateDDraw.cpp index c410f5c013b..2f72d3ed2ba 100644 --- a/rostests/dxtest/ddraw/tests/CreateDDraw.cpp +++ b/rostests/dxtest/ddraw/DDraw/CreateDDraw.cpp @@ -421,29 +421,3 @@ BOOL Test_GetDeviceIdentifier (INT* passed, INT* failed) 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); -} diff --git a/rostests/dxtest/ddraw/tests/CreateSurface.cpp b/rostests/dxtest/ddraw/DDraw/CreateSurface.cpp similarity index 100% rename from rostests/dxtest/ddraw/tests/CreateSurface.cpp rename to rostests/dxtest/ddraw/DDraw/CreateSurface.cpp diff --git a/rostests/dxtest/ddraw/tests/DisplayModes.cpp b/rostests/dxtest/ddraw/DDraw/DisplayModes.cpp similarity index 100% rename from rostests/dxtest/ddraw/tests/DisplayModes.cpp rename to rostests/dxtest/ddraw/DDraw/DisplayModes.cpp diff --git a/rostests/dxtest/ddraw/Surface/overlay.cpp b/rostests/dxtest/ddraw/Surface/overlay.cpp new file mode 100644 index 00000000000..dc2495915fd --- /dev/null +++ b/rostests/dxtest/ddraw/Surface/overlay.cpp @@ -0,0 +1,7 @@ +//AddOverlayDirtyRect +//EnumOverlayZOrders +//GetOverlayPosition +//SetOverlayPosition +//UpdateOverlay +//UpdateOverlayDisplay +//UpdateOverlayZOrder \ No newline at end of file diff --git a/rostests/dxtest/ddraw/ddraw.rbuild b/rostests/dxtest/ddraw/ddraw.rbuild index 02c611185f2..b15c6ebcb61 100644 --- a/rostests/dxtest/ddraw/ddraw.rbuild +++ b/rostests/dxtest/ddraw/ddraw.rbuild @@ -9,5 +9,6 @@ ddraw dxguid ddraw_test.cpp + helper.cpp testlist.cpp diff --git a/rostests/dxtest/ddraw/helper.cpp b/rostests/dxtest/ddraw/helper.cpp new file mode 100644 index 00000000000..8f5f9d4a3bd --- /dev/null +++ b/rostests/dxtest/ddraw/helper.cpp @@ -0,0 +1,74 @@ +#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; +} diff --git a/rostests/dxtest/ddraw/testlist.cpp b/rostests/dxtest/ddraw/testlist.cpp index c87b9d24ba3..6a229e6414e 100644 --- a/rostests/dxtest/ddraw/testlist.cpp +++ b/rostests/dxtest/ddraw/testlist.cpp @@ -5,14 +5,14 @@ #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 }, @@ -21,6 +21,7 @@ TEST TestList[] = { "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 */ -- 2.17.1