ReactOS
0.4.15-dev-4916-gd519b11
create.cpp
Go to the documentation of this file.
1
HWND
CreateBasicWindow
(
VOID
);
2
3
LPDIRECTDRAW7
DirectDraw
;
4
5
BOOL
TestCaps
(
const
char
*
dummy
,
DWORD
Caps,
HRESULT
test1
,
HRESULT
test2
)
6
{
7
LPDIRECTDRAWSURFACE7
Surface =
NULL
;
8
DDSURFACEDESC2
Desc = { 0 };
9
Desc.
dwHeight
= 200;
10
Desc.
dwWidth
= 200;
11
Desc.
dwSize
=
sizeof
(
DDSURFACEDESC2
);
12
Desc.
ddsCaps
.
dwCaps
= Caps;
13
14
Desc.
dwFlags
=
DDSD_CAPS
;
15
BOOL
ret
=
DirectDraw
->CreateSurface(&Desc, &Surface,
NULL
) ==
test1
;
16
17
Desc.
dwFlags
=
DDSD_CAPS
|
DDSD_HEIGHT
|
DDSD_WIDTH
;
18
ret
=
ret
&&
DirectDraw
->CreateSurface(&Desc, &Surface,
NULL
) ==
test2
;
19
20
if
( Surface )
21
Surface->
Release
();
22
23
return
ret
;
24
}
25
26
BOOL
Test_CreateSurface
(
INT
* passed,
INT
* failed)
27
{
28
LPDIRECTDRAWSURFACE7
Surface =
NULL
;
29
HWND
hwnd
;
30
31
/* Preparations */
32
if
(
DirectDrawCreateEx
(
NULL
, (
VOID
**)&
DirectDraw
, IID_IDirectDraw7,
NULL
) !=
DD_OK
)
33
{
34
printf
(
"ERROR: Failed to set up ddraw\n"
);
35
return
FALSE
;
36
}
37
38
TEST
(
DirectDraw
->CreateSurface(
NULL
,
NULL
,
NULL
) ==
DDERR_NOCOOPERATIVELEVELSET
);
39
40
if
(!(
hwnd
=
CreateBasicWindow
() ))
41
{
42
printf
(
"ERROR: Failed to create window\n"
);
43
DirectDraw
->Release();
44
return
FALSE
;
45
}
46
47
if
(
DirectDraw
->SetCooperativeLevel (
hwnd
,
DDSCL_NORMAL
) !=
DD_OK
)
48
{
49
printf
(
"ERROR: Could not set cooperative level\n"
);
50
DirectDraw
->Release();
51
return
0;
52
}
53
54
/* The Test */
55
DDSURFACEDESC2
Desc = { 0 };
56
Desc.
dwSize
=
sizeof
(
DDSURFACEDESC2
);
57
Desc.
dwHeight
= 200;
58
Desc.
dwWidth
= 200;
59
60
TEST
(
DirectDraw
->CreateSurface(&Desc, &Surface, (
IUnknown
*)0xdeadbeef) ==
CLASS_E_NOAGGREGATION
);
61
TEST
(
DirectDraw
->CreateSurface(
NULL
, &Surface,
NULL
) ==
DDERR_INVALIDPARAMS
);
62
TEST
(
DirectDraw
->CreateSurface(&Desc,
NULL
,
NULL
) ==
DDERR_INVALIDPARAMS
);
63
TEST
(
DirectDraw
->CreateSurface(&Desc, &Surface,
NULL
) ==
DDERR_INVALIDPARAMS
);
64
65
// Test (nearly) all possible cap combinations
66
#include "
caps_tests.h
"
67
68
DirectDraw
->Release();
69
70
return
TRUE
;
71
}
_DDSURFACEDESC2::dwFlags
DWORD dwFlags
Definition:
ddraw.h:1153
TestCaps
BOOL TestCaps(const char *dummy, DWORD Caps, HRESULT test1, HRESULT test2)
Definition:
create.cpp:5
TRUE
#define TRUE
Definition:
types.h:120
CreateBasicWindow
HWND CreateBasicWindow(VOID)
Definition:
helper.cpp:17
_DDSURFACEDESC2
Definition:
ddraw.h:1150
DirectDrawCreateEx
HRESULT WINAPI DirectDrawCreateEx(LPGUID lpGUID, LPVOID *lplpDD, REFIID id, LPUNKNOWN pUnkOuter)
Definition:
main.c:139
DDERR_NOCOOPERATIVELEVELSET
#define DDERR_NOCOOPERATIVELEVELSET
Definition:
ddraw.h:89
INT
int32_t INT
Definition:
typedefs.h:58
_DDSURFACEDESC2::dwWidth
DWORD dwWidth
Definition:
ddraw.h:1155
DD_OK
#define DD_OK
Definition:
ddraw.h:186
DDSD_CAPS
#define DDSD_CAPS
Definition:
ddraw.h:208
FALSE
#define FALSE
Definition:
types.h:117
BOOL
unsigned int BOOL
Definition:
ntddk_ex.h:94
_DDSURFACEDESC2::ddsCaps
DDSCAPS2 ddsCaps
Definition:
ddraw.h:1188
_DDSCAPS2::dwCaps
DWORD dwCaps
Definition:
ddraw.h:732
DDSD_HEIGHT
#define DDSD_HEIGHT
Definition:
ddraw.h:209
printf
#define printf
Definition:
freeldr.h:94
TEST
#define TEST(x)
Definition:
precomp.h:20
HRESULT
LONG HRESULT
Definition:
typedefs.h:79
test1
void test1()
Definition:
ehthrow.cxx:277
nsISupports::Release
nsrefcnt Release()
DWORD
unsigned long DWORD
Definition:
ntddk_ex.h:95
ret
int ret
Definition:
wcstombs-tests.c:31
IUnknown
Definition:
unknwn.idl:38
_DDSURFACEDESC2::dwSize
DWORD dwSize
Definition:
ddraw.h:1152
CLASS_E_NOAGGREGATION
#define CLASS_E_NOAGGREGATION
Definition:
winerror.h:2662
_DDSURFACEDESC2::dwHeight
DWORD dwHeight
Definition:
ddraw.h:1154
DDSD_WIDTH
#define DDSD_WIDTH
Definition:
ddraw.h:210
DirectDraw
Definition:
ddraw_classes.idl:28
DirectDraw
LPDIRECTDRAW7 DirectDraw
Definition:
create.cpp:3
test2
void test2()
Definition:
ehthrow.cxx:284
NULL
#define NULL
Definition:
types.h:112
Test_CreateSurface
BOOL Test_CreateSurface(INT *passed, INT *failed)
Definition:
create.cpp:26
caps_tests.h
LPDIRECTDRAW7
DWORD * LPDIRECTDRAW7
Definition:
vmrender.idl:4
DDSURFACEDESC2
struct _DDSURFACEDESC2 DDSURFACEDESC2
dummy
Definition:
ndr_types.idl:27
DDSCL_NORMAL
#define DDSCL_NORMAL
Definition:
ddraw.h:535
void
Definition:
nsiface.idl:2306
hwnd
_In_ LONG _In_ HWND hwnd
Definition:
winddi.h:4022
DDERR_INVALIDPARAMS
#define DDERR_INVALIDPARAMS
Definition:
ddraw.h:79
LPDIRECTDRAWSURFACE7
DWORD * LPDIRECTDRAWSURFACE7
Definition:
vmrender.idl:7
modules
rostests
dxtest
ddraw
Surface
create.cpp
Generated on Tue Aug 9 2022 06:07:09 for ReactOS by
1.8.15